{ "id": "b08e9272ed36875bbf22326d57c8d7ab", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.7", "solcLongVersion": "0.8.7+commit.e28d00a7", "input": { "language": "Solidity", "sources": { "contracts/BasicToken.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\ncontract BasicToken {\n \n uint256 totalSupply_;\n mapping(address => uint256) balances;\n \n constructor(uint256 _initialSupply) {\n totalSupply_ = _initialSupply;\n balances[msg.sender] = _initialSupply;\n }\n\n function totalSupply() public view returns (uint256) {\n return totalSupply_;\n }\n\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[msg.sender]);\n balances[msg.sender] -= _value;\n balances[_to] = balances[_to] + _value;\n return true;\n }\n\n function balanceOf(address _owner) public view returns (uint256) {\n return balances[_owner];\n }\n}" } }, "settings": { "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "": [ "ast" ], "*": [ "abi", "metadata", "devdoc", "userdoc", "storageLayout", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly" ] } } } }, "output": { "contracts": { "contracts/BasicToken.sol": { "BasicToken": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_initialSupply", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"contracts/BasicToken.sol\":57:714 contract BasicToken {... */\n mstore(0x40, 0x80)\n /* \"contracts/BasicToken.sol\":151:270 constructor(uint256 _initialSupply) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n 0x40\n dup2\n swap1\n mstore\n tag_2\n swap2\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/BasicToken.sol\":193:205 totalSupply_ */\n 0x00\n /* \"contracts/BasicToken.sol\":193:222 totalSupply_ = _initialSupply */\n dup2\n dup2\n sstore\n /* \"contracts/BasicToken.sol\":237:247 msg.sender */\n caller\n /* \"contracts/BasicToken.sol\":228:248 balances[msg.sender] */\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":228:236 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":228:248 balances[msg.sender] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n /* \"contracts/BasicToken.sol\":228:265 balances[msg.sender] = _initialSupply */\n sstore\n /* \"contracts/BasicToken.sol\":57:714 contract BasicToken {... */\n jump(tag_7)\n /* \"#utility.yul\":14:198 */\ntag_3:\n /* \"#utility.yul\":84:90 */\n 0x00\n /* \"#utility.yul\":137:139 */\n 0x20\n /* \"#utility.yul\":125:134 */\n dup3\n /* \"#utility.yul\":116:123 */\n dup5\n /* \"#utility.yul\":112:135 */\n sub\n /* \"#utility.yul\":108:140 */\n slt\n /* \"#utility.yul\":105:157 */\n iszero\n tag_9\n jumpi\n /* \"#utility.yul\":153:154 */\n 0x00\n /* \"#utility.yul\":150:151 */\n dup1\n /* \"#utility.yul\":143:155 */\n revert\n /* \"#utility.yul\":105:157 */\ntag_9:\n pop\n /* \"#utility.yul\":176:192 */\n mload\n swap2\n /* \"#utility.yul\":14:198 */\n swap1\n pop\n jump\t// out\ntag_7:\n /* \"contracts/BasicToken.sol\":57:714 contract BasicToken {... */\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/BasicToken.sol\":57:714 contract BasicToken {... */\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 0x18160ddd\n eq\n tag_3\n jumpi\n dup1\n 0x70a08231\n eq\n tag_4\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/BasicToken.sol\":274:357 function totalSupply() public view returns (uint256) {... */\n tag_3:\n /* \"contracts/BasicToken.sol\":318:325 uint256 */\n 0x00\n /* \"contracts/BasicToken.sol\":340:352 totalSupply_ */\n sload\n /* \"contracts/BasicToken.sol\":274:357 function totalSupply() public view returns (uint256) {... */\n tag_6:\n mload(0x40)\n /* \"#utility.yul\":980:1005 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":968:970 */\n 0x20\n /* \"#utility.yul\":953:971 */\n add\n /* \"contracts/BasicToken.sol\":274:357 function totalSupply() public view returns (uint256) {... */\n tag_8:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/BasicToken.sol\":613:712 function balanceOf(address _owner) public view returns (uint256) {... */\n tag_4:\n tag_6\n tag_11\n calldatasize\n 0x04\n tag_12\n jump\t// in\n tag_11:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/BasicToken.sol\":691:707 balances[_owner] */\n and\n /* \"contracts/BasicToken.sol\":669:676 uint256 */\n 0x00\n /* \"contracts/BasicToken.sol\":691:707 balances[_owner] */\n swap1\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":691:699 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":691:707 balances[_owner] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n swap1\n /* \"contracts/BasicToken.sol\":613:712 function balanceOf(address _owner) public view returns (uint256) {... */\n jump\n /* \"contracts/BasicToken.sol\":361:609 function transfer(address _to, uint256 _value) public returns (bool) {... */\n tag_5:\n tag_15\n tag_16\n calldatasize\n 0x04\n tag_17\n jump\t// in\n tag_16:\n tag_18\n jump\t// in\n tag_15:\n mload(0x40)\n /* \"#utility.yul\":807:821 */\n swap1\n iszero\n /* \"#utility.yul\":800:822 */\n iszero\n /* \"#utility.yul\":782:823 */\n dup2\n mstore\n /* \"#utility.yul\":770:772 */\n 0x20\n /* \"#utility.yul\":755:773 */\n add\n /* \"contracts/BasicToken.sol\":361:609 function transfer(address _to, uint256 _value) public returns (bool) {... */\n tag_8\n /* \"#utility.yul\":642:829 */\n jump\n /* \"contracts/BasicToken.sol\":361:609 function transfer(address _to, uint256 _value) public returns (bool) {... */\n tag_18:\n /* \"contracts/BasicToken.sol\":424:428 bool */\n 0x00\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/BasicToken.sol\":444:461 _to != address(0) */\n dup4\n and\n /* \"contracts/BasicToken.sol\":436:462 require(_to != address(0)) */\n tag_24\n jumpi\n 0x00\n dup1\n revert\n tag_24:\n /* \"contracts/BasicToken.sol\":495:505 msg.sender */\n caller\n /* \"contracts/BasicToken.sol\":486:506 balances[msg.sender] */\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":486:494 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":486:506 balances[msg.sender] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"contracts/BasicToken.sol\":476:506 _value <= balances[msg.sender] */\n dup3\n gt\n iszero\n /* \"contracts/BasicToken.sol\":468:507 require(_value <= balances[msg.sender]) */\n tag_25\n jumpi\n 0x00\n dup1\n revert\n tag_25:\n /* \"contracts/BasicToken.sol\":522:532 msg.sender */\n caller\n /* \"contracts/BasicToken.sol\":513:533 balances[msg.sender] */\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":513:521 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":513:533 balances[msg.sender] */\n 0x20\n mstore\n 0x40\n dup2\n keccak256\n /* \"contracts/BasicToken.sol\":513:543 balances[msg.sender] -= _value */\n dup1\n sload\n /* \"contracts/BasicToken.sol\":537:543 _value */\n dup5\n swap3\n /* \"contracts/BasicToken.sol\":513:533 balances[msg.sender] */\n swap1\n /* \"contracts/BasicToken.sol\":513:543 balances[msg.sender] -= _value */\n tag_26\n swap1\n /* \"contracts/BasicToken.sol\":537:543 _value */\n dup5\n swap1\n /* \"contracts/BasicToken.sol\":513:543 balances[msg.sender] -= _value */\n tag_27\n jump\t// in\n tag_26:\n swap1\n swap2\n sstore\n pop\n pop\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/BasicToken.sol\":565:578 balances[_to] */\n dup4\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":565:573 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":565:578 balances[_to] */\n 0x20\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"contracts/BasicToken.sol\":565:587 balances[_to] + _value */\n tag_28\n swap1\n /* \"contracts/BasicToken.sol\":581:587 _value */\n dup4\n swap1\n /* \"contracts/BasicToken.sol\":565:587 balances[_to] + _value */\n tag_29\n jump\t// in\n tag_28:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/BasicToken.sol\":549:562 balances[_to] */\n dup5\n and\n 0x00\n swap1\n dup2\n mstore\n /* \"contracts/BasicToken.sol\":549:557 balances */\n 0x01\n /* \"contracts/BasicToken.sol\":549:562 balances[_to] */\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n swap2\n keccak256\n /* \"contracts/BasicToken.sol\":549:587 balances[_to] = balances[_to] + _value */\n swap2\n swap1\n swap2\n sstore\n /* \"contracts/BasicToken.sol\":549:557 balances */\n swap1\n pop\n /* \"contracts/BasicToken.sol\":361:609 function transfer(address _to, uint256 _value) public returns (bool) {... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14:187 */\n tag_31:\n /* \"#utility.yul\":82:102 */\n dup1\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":131:162 */\n dup2\n and\n /* \"#utility.yul\":121:163 */\n dup2\n eq\n /* \"#utility.yul\":111:181 */\n tag_33\n jumpi\n /* \"#utility.yul\":177:178 */\n 0x00\n /* \"#utility.yul\":174:175 */\n dup1\n /* \"#utility.yul\":167:179 */\n revert\n /* \"#utility.yul\":111:181 */\n tag_33:\n /* \"#utility.yul\":14:187 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":192:378 */\n tag_12:\n /* \"#utility.yul\":251:257 */\n 0x00\n /* \"#utility.yul\":304:306 */\n 0x20\n /* \"#utility.yul\":292:301 */\n dup3\n /* \"#utility.yul\":283:290 */\n dup5\n /* \"#utility.yul\":279:302 */\n sub\n /* \"#utility.yul\":275:307 */\n slt\n /* \"#utility.yul\":272:324 */\n iszero\n tag_35\n jumpi\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":272:324 */\n tag_35:\n /* \"#utility.yul\":343:372 */\n tag_36\n /* \"#utility.yul\":362:371 */\n dup3\n /* \"#utility.yul\":343:372 */\n tag_31\n jump\t// in\n tag_36:\n /* \"#utility.yul\":333:372 */\n swap4\n /* \"#utility.yul\":192:378 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":383:637 */\n tag_17:\n /* \"#utility.yul\":451:457 */\n 0x00\n /* \"#utility.yul\":459:465 */\n dup1\n /* \"#utility.yul\":512:514 */\n 0x40\n /* \"#utility.yul\":500:509 */\n dup4\n /* \"#utility.yul\":491:498 */\n dup6\n /* \"#utility.yul\":487:510 */\n sub\n /* \"#utility.yul\":483:515 */\n slt\n /* \"#utility.yul\":480:532 */\n iszero\n tag_38\n jumpi\n /* \"#utility.yul\":528:529 */\n 0x00\n /* \"#utility.yul\":525:526 */\n dup1\n /* \"#utility.yul\":518:530 */\n revert\n /* \"#utility.yul\":480:532 */\n tag_38:\n /* \"#utility.yul\":551:580 */\n tag_39\n /* \"#utility.yul\":570:579 */\n dup4\n /* \"#utility.yul\":551:580 */\n tag_31\n jump\t// in\n tag_39:\n /* \"#utility.yul\":541:580 */\n swap5\n /* \"#utility.yul\":627:629 */\n 0x20\n /* \"#utility.yul\":612:630 */\n swap4\n swap1\n swap4\n add\n /* \"#utility.yul\":599:631 */\n calldataload\n swap4\n pop\n pop\n pop\n /* \"#utility.yul\":383:637 */\n jump\t// out\n /* \"#utility.yul\":1016:1144 */\n tag_29:\n /* \"#utility.yul\":1056:1059 */\n 0x00\n /* \"#utility.yul\":1087:1088 */\n dup3\n /* \"#utility.yul\":1083:1089 */\n not\n /* \"#utility.yul\":1080:1081 */\n dup3\n /* \"#utility.yul\":1077:1090 */\n gt\n /* \"#utility.yul\":1074:1113 */\n iszero\n tag_44\n jumpi\n /* \"#utility.yul\":1093:1111 */\n tag_44\n tag_45\n jump\t// in\n tag_44:\n pop\n /* \"#utility.yul\":1129:1138 */\n add\n swap1\n /* \"#utility.yul\":1016:1144 */\n jump\t// out\n /* \"#utility.yul\":1149:1274 */\n tag_27:\n /* \"#utility.yul\":1189:1193 */\n 0x00\n /* \"#utility.yul\":1217:1218 */\n dup3\n /* \"#utility.yul\":1214:1215 */\n dup3\n /* \"#utility.yul\":1211:1219 */\n lt\n /* \"#utility.yul\":1208:1242 */\n iszero\n tag_48\n jumpi\n /* \"#utility.yul\":1222:1240 */\n tag_48\n tag_45\n jump\t// in\n tag_48:\n pop\n /* \"#utility.yul\":1259:1268 */\n sub\n swap1\n /* \"#utility.yul\":1149:1274 */\n jump\t// out\n /* \"#utility.yul\":1279:1406 */\n tag_45:\n /* \"#utility.yul\":1340:1350 */\n 0x4e487b71\n /* \"#utility.yul\":1335:1338 */\n 0xe0\n /* \"#utility.yul\":1331:1351 */\n shl\n /* \"#utility.yul\":1328:1329 */\n 0x00\n /* \"#utility.yul\":1321:1352 */\n mstore\n /* \"#utility.yul\":1371:1375 */\n 0x11\n /* \"#utility.yul\":1368:1369 */\n 0x04\n /* \"#utility.yul\":1361:1376 */\n mstore\n /* \"#utility.yul\":1395:1399 */\n 0x24\n /* \"#utility.yul\":1392:1393 */\n 0x00\n /* \"#utility.yul\":1385:1400 */\n revert\n\n auxdata: 0xa2646970667358221220f83b07a1e5759d972a89a15a45b57ced92fb0b97d04453932b807d65e10c67cf64736f6c63430008070033\n}\n", "bytecode": { "functionDebugData": { "@_24": { "entryPoint": null, "id": 24, "parameterSlots": 1, "returnSlots": 0 }, "abi_decode_tuple_t_uint256_fromMemory": { "entryPoint": 70, "id": null, "parameterSlots": 2, "returnSlots": 1 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:200:1", "statements": [ { "nodeType": "YulBlock", "src": "6:3:1", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "95:103:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "141:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "150:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "153:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "143:6:1" }, "nodeType": "YulFunctionCall", "src": "143:12:1" }, "nodeType": "YulExpressionStatement", "src": "143:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "116:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "125:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "112:3:1" }, "nodeType": "YulFunctionCall", "src": "112:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "137:2:1", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "108:3:1" }, "nodeType": "YulFunctionCall", "src": "108:32:1" }, "nodeType": "YulIf", "src": "105:52:1" }, { "nodeType": "YulAssignment", "src": "166:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "182:9:1" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "176:5:1" }, "nodeType": "YulFunctionCall", "src": "176:16:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "166:6:1" } ] } ] }, "name": "abi_decode_tuple_t_uint256_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "61:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "72:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "84:6:1", "type": "" } ], "src": "14:184:1" } ] }, "contents": "{\n { }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n}", "id": 1, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, "object": "608060405234801561001057600080fd5b5060405161029a38038061029a83398101604081905261002f91610046565b60008181553381526001602052604090205561005f565b60006020828403121561005857600080fd5b5051919050565b61022c8061006e6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806318160ddd1461004657806370a082311461005d578063a9059cbb14610086575b600080fd5b6000545b6040519081526020015b60405180910390f35b61004a61006b366004610165565b6001600160a01b031660009081526001602052604090205490565b610099610094366004610187565b6100a9565b6040519015158152602001610054565b60006001600160a01b0383166100be57600080fd5b336000908152600160205260409020548211156100da57600080fd5b33600090815260016020526040812080548492906100f99084906101c9565b90915550506001600160a01b0383166000908152600160205260409020546101229083906101b1565b6001600160a01b038416600090815260016020819052604090912091909155905092915050565b80356001600160a01b038116811461016057600080fd5b919050565b60006020828403121561017757600080fd5b61018082610149565b9392505050565b6000806040838503121561019a57600080fd5b6101a383610149565b946020939093013593505050565b600082198211156101c4576101c46101e0565b500190565b6000828210156101db576101db6101e0565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220f83b07a1e5759d972a89a15a45b57ced92fb0b97d04453932b807d65e10c67cf64736f6c63430008070033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x29A CODESIZE SUB DUP1 PUSH2 0x29A DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x46 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SSTORE CALLER DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH2 0x5F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x22C DUP1 PUSH2 0x6E 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 0x18160DDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x5D JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x86 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4A PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x165 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x99 PUSH2 0x94 CALLDATASIZE PUSH1 0x4 PUSH2 0x187 JUMP JUMPDEST PUSH2 0xA9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x54 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xF9 SWAP1 DUP5 SWAP1 PUSH2 0x1C9 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x122 SWAP1 DUP4 SWAP1 PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x180 DUP3 PUSH2 0x149 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A3 DUP4 PUSH2 0x149 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C4 JUMPI PUSH2 0x1C4 PUSH2 0x1E0 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1DB JUMPI PUSH2 0x1DB PUSH2 0x1E0 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 EXTCODESIZE SMOD LOG1 0xE5 PUSH22 0x9D972A89A15A45B57CED92FB0B97D04453932B807D65 0xE1 0xC PUSH8 0xCF64736F6C634300 ADDMOD SMOD STOP CALLER ", "sourceMap": "57:657:0:-:0;;;151:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;193:12;:29;;;237:10;228:20;;:8;:20;;;;;:37;57:657;;14:184:1;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:1;;14:184;-1:-1:-1;14:184:1:o;:::-;57:657:0;;;;;;" }, "deployedBytecode": { "functionDebugData": { "@balanceOf_91": { "entryPoint": null, "id": 91, "parameterSlots": 1, "returnSlots": 1 }, "@totalSupply_32": { "entryPoint": null, "id": 32, "parameterSlots": 0, "returnSlots": 1 }, "@transfer_79": { "entryPoint": 169, "id": 79, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_address": { "entryPoint": 329, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_tuple_t_address": { "entryPoint": 357, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_uint256": { "entryPoint": 391, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_add_t_uint256": { "entryPoint": 433, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_sub_t_uint256": { "entryPoint": 457, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "panic_error_0x11": { "entryPoint": 480, "id": null, "parameterSlots": 0, "returnSlots": 0 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:1408:1", "statements": [ { "nodeType": "YulBlock", "src": "6:3:1", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "63:124:1", "statements": [ { "nodeType": "YulAssignment", "src": "73:29:1", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", "src": "95:6:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "82:12:1" }, "nodeType": "YulFunctionCall", "src": "82:20:1" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", "src": "73:5:1" } ] }, { "body": { "nodeType": "YulBlock", "src": "165:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "174:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "177:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "167:6:1" }, "nodeType": "YulFunctionCall", "src": "167:12:1" }, "nodeType": "YulExpressionStatement", "src": "167:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "124:5:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "135:5:1" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "150:3:1", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "155:1:1", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "146:3:1" }, "nodeType": "YulFunctionCall", "src": "146:11:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "159:1:1", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "142:3:1" }, "nodeType": "YulFunctionCall", "src": "142:19:1" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "131:3:1" }, "nodeType": "YulFunctionCall", "src": "131:31:1" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "121:2:1" }, "nodeType": "YulFunctionCall", "src": "121:42:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "114:6:1" }, "nodeType": "YulFunctionCall", "src": "114:50:1" }, "nodeType": "YulIf", "src": "111:70:1" } ] }, "name": "abi_decode_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", "src": "42:6:1", "type": "" } ], "returnVariables": [ { "name": "value", "nodeType": "YulTypedName", "src": "53:5:1", "type": "" } ], "src": "14:173:1" }, { "body": { "nodeType": "YulBlock", "src": "262:116:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "308:16: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" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "283:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "292:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "279:3:1" }, "nodeType": "YulFunctionCall", "src": "279:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "304:2:1", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "275:3:1" }, "nodeType": "YulFunctionCall", "src": "275:32:1" }, "nodeType": "YulIf", "src": "272:52:1" }, { "nodeType": "YulAssignment", "src": "333:39:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "362:9:1" } ], "functionName": { "name": "abi_decode_address", "nodeType": "YulIdentifier", "src": "343:18:1" }, "nodeType": "YulFunctionCall", "src": "343:29:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "333:6:1" } ] } ] }, "name": "abi_decode_tuple_t_address", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "228:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "239:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "251:6:1", "type": "" } ], "src": "192:186:1" }, { "body": { "nodeType": "YulBlock", "src": "470:167:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "516:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "525:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "528:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "518:6:1" }, "nodeType": "YulFunctionCall", "src": "518:12:1" }, "nodeType": "YulExpressionStatement", "src": "518:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "491:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "500:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "487:3:1" }, "nodeType": "YulFunctionCall", "src": "487:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "512:2:1", "type": "", "value": "64" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "483:3:1" }, "nodeType": "YulFunctionCall", "src": "483:32:1" }, "nodeType": "YulIf", "src": "480:52:1" }, { "nodeType": "YulAssignment", "src": "541:39:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "570:9:1" } ], "functionName": { "name": "abi_decode_address", "nodeType": "YulIdentifier", "src": "551:18:1" }, "nodeType": "YulFunctionCall", "src": "551:29:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "541:6:1" } ] }, { "nodeType": "YulAssignment", "src": "589:42:1", "value": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "616:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "627:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "612:3:1" }, "nodeType": "YulFunctionCall", "src": "612:18:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "599:12:1" }, "nodeType": "YulFunctionCall", "src": "599:32:1" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", "src": "589:6:1" } ] } ] }, "name": "abi_decode_tuple_t_addresst_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "428:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "439:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "451:6:1", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", "src": "459:6:1", "type": "" } ], "src": "383:254:1" }, { "body": { "nodeType": "YulBlock", "src": "737:92:1", "statements": [ { "nodeType": "YulAssignment", "src": "747:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "759:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "770:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "755:3:1" }, "nodeType": "YulFunctionCall", "src": "755:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "747:4:1" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "789:9:1" }, { "arguments": [ { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "814:6:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "807:6:1" }, "nodeType": "YulFunctionCall", "src": "807:14:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "800:6:1" }, "nodeType": "YulFunctionCall", "src": "800:22:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "782:6:1" }, "nodeType": "YulFunctionCall", "src": "782:41:1" }, "nodeType": "YulExpressionStatement", "src": "782:41:1" } ] }, "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "706:9:1", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "717:6:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "728:4:1", "type": "" } ], "src": "642:187:1" }, { "body": { "nodeType": "YulBlock", "src": "935:76:1", "statements": [ { "nodeType": "YulAssignment", "src": "945:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "957:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "968:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "953:3:1" }, "nodeType": "YulFunctionCall", "src": "953:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "945:4:1" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "987:9:1" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "998:6:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "980:6:1" }, "nodeType": "YulFunctionCall", "src": "980:25:1" }, "nodeType": "YulExpressionStatement", "src": "980:25:1" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "904:9:1", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "915:6:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "926:4:1", "type": "" } ], "src": "834:177:1" }, { "body": { "nodeType": "YulBlock", "src": "1064:80:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "1091:22:1", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "1093:16:1" }, "nodeType": "YulFunctionCall", "src": "1093:18:1" }, "nodeType": "YulExpressionStatement", "src": "1093:18:1" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "1080:1:1" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", "src": "1087:1:1" } ], "functionName": { "name": "not", "nodeType": "YulIdentifier", "src": "1083:3:1" }, "nodeType": "YulFunctionCall", "src": "1083:6:1" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", "src": "1077:2:1" }, "nodeType": "YulFunctionCall", "src": "1077:13:1" }, "nodeType": "YulIf", "src": "1074:39:1" }, { "nodeType": "YulAssignment", "src": "1122:16:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "1133:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "1136:1:1" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "1129:3:1" }, "nodeType": "YulFunctionCall", "src": "1129:9:1" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", "src": "1122:3:1" } ] } ] }, "name": "checked_add_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "1047:1:1", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "1050:1:1", "type": "" } ], "returnVariables": [ { "name": "sum", "nodeType": "YulTypedName", "src": "1056:3:1", "type": "" } ], "src": "1016:128:1" }, { "body": { "nodeType": "YulBlock", "src": "1198:76:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "1220:22:1", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", "src": "1222:16:1" }, "nodeType": "YulFunctionCall", "src": "1222:18:1" }, "nodeType": "YulExpressionStatement", "src": "1222:18:1" } ] }, "condition": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "1214:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "1217:1:1" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", "src": "1211:2:1" }, "nodeType": "YulFunctionCall", "src": "1211:8:1" }, "nodeType": "YulIf", "src": "1208:34:1" }, { "nodeType": "YulAssignment", "src": "1251:17:1", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", "src": "1263:1:1" }, { "name": "y", "nodeType": "YulIdentifier", "src": "1266:1:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "1259:3:1" }, "nodeType": "YulFunctionCall", "src": "1259:9:1" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", "src": "1251:4:1" } ] } ] }, "name": "checked_sub_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", "nodeType": "YulTypedName", "src": "1180:1:1", "type": "" }, { "name": "y", "nodeType": "YulTypedName", "src": "1183:1:1", "type": "" } ], "returnVariables": [ { "name": "diff", "nodeType": "YulTypedName", "src": "1189:4:1", "type": "" } ], "src": "1149:125:1" }, { "body": { "nodeType": "YulBlock", "src": "1311:95:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1328:1:1", "type": "", "value": "0" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1335:3:1", "type": "", "value": "224" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1340:10:1", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "1331:3:1" }, "nodeType": "YulFunctionCall", "src": "1331:20:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1321:6:1" }, "nodeType": "YulFunctionCall", "src": "1321:31:1" }, "nodeType": "YulExpressionStatement", "src": "1321:31:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1368:1:1", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1371:4:1", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "1361:6:1" }, "nodeType": "YulFunctionCall", "src": "1361:15:1" }, "nodeType": "YulExpressionStatement", "src": "1361:15:1" }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "1392:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "1395:4:1", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "1385:6:1" }, "nodeType": "YulFunctionCall", "src": "1385:15:1" }, "nodeType": "YulExpressionStatement", "src": "1385:15:1" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", "src": "1279:127:1" } ] }, "contents": "{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n}", "id": 1, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806318160ddd1461004657806370a082311461005d578063a9059cbb14610086575b600080fd5b6000545b6040519081526020015b60405180910390f35b61004a61006b366004610165565b6001600160a01b031660009081526001602052604090205490565b610099610094366004610187565b6100a9565b6040519015158152602001610054565b60006001600160a01b0383166100be57600080fd5b336000908152600160205260409020548211156100da57600080fd5b33600090815260016020526040812080548492906100f99084906101c9565b90915550506001600160a01b0383166000908152600160205260409020546101229083906101b1565b6001600160a01b038416600090815260016020819052604090912091909155905092915050565b80356001600160a01b038116811461016057600080fd5b919050565b60006020828403121561017757600080fd5b61018082610149565b9392505050565b6000806040838503121561019a57600080fd5b6101a383610149565b946020939093013593505050565b600082198211156101c4576101c46101e0565b500190565b6000828210156101db576101db6101e0565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220f83b07a1e5759d972a89a15a45b57ced92fb0b97d04453932b807d65e10c67cf64736f6c63430008070033", "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 0x18160DDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x5D JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x86 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4A PUSH2 0x6B CALLDATASIZE PUSH1 0x4 PUSH2 0x165 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x99 PUSH2 0x94 CALLDATASIZE PUSH1 0x4 PUSH2 0x187 JUMP JUMPDEST PUSH2 0xA9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x54 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0xDA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP5 SWAP3 SWAP1 PUSH2 0xF9 SWAP1 DUP5 SWAP1 PUSH2 0x1C9 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x122 SWAP1 DUP4 SWAP1 PUSH2 0x1B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x180 DUP3 PUSH2 0x149 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A3 DUP4 PUSH2 0x149 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1C4 JUMPI PUSH2 0x1C4 PUSH2 0x1E0 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1DB JUMPI PUSH2 0x1DB PUSH2 0x1E0 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF8 EXTCODESIZE SMOD LOG1 0xE5 PUSH22 0x9D972A89A15A45B57CED92FB0B97D04453932B807D65 0xE1 0xC PUSH8 0xCF64736F6C634300 ADDMOD SMOD STOP CALLER ", "sourceMap": "57:657:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;274:83;318:7;340:12;274:83;;;980:25:1;;;968:2;953:18;274:83:0;;;;;;;;613:99;;;;;;:::i;:::-;-1:-1:-1;;;;;691:16:0;669:7;691:16;;;:8;:16;;;;;;;613:99;361:248;;;;;;:::i;:::-;;:::i;:::-;;;807:14:1;;800:22;782:41;;770:2;755:18;361:248:0;642:187:1;361:248:0;424:4;-1:-1:-1;;;;;444:17:0;;436:26;;;;;;495:10;486:20;;;;:8;:20;;;;;;476:30;;;468:39;;;;;;522:10;513:20;;;;:8;:20;;;;;:30;;537:6;;513:20;:30;;537:6;;513:30;:::i;:::-;;;;-1:-1:-1;;;;;;;565:13:0;;;;;;:8;:13;;;;;;:22;;581:6;;565:22;:::i;:::-;-1:-1:-1;;;;;549:13:0;;;;;;:8;:13;;;;;;;;:38;;;;:8;-1:-1:-1;361:248:0;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;383:254::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;627:2;612:18;;;;599:32;;-1:-1:-1;;;383:254:1:o;1016:128::-;1056:3;1087:1;1083:6;1080:1;1077:13;1074:39;;;1093:18;;:::i;:::-;-1:-1:-1;1129:9:1;;1016:128::o;1149:125::-;1189:4;1217:1;1214;1211:8;1208:34;;;1222:18;;:::i;:::-;-1:-1:-1;1259:9:1;;1149:125::o;1279:127::-;1340:10;1335:3;1331:20;1328:1;1321:31;1371:4;1368:1;1361:15;1395:4;1392:1;1385:15" }, "gasEstimates": { "creation": { "codeDepositCost": "111200", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "balanceOf(address)": "2526", "totalSupply()": "2248", "transfer(address,uint256)": "51489" } }, "legacyAssembly": { ".code": [ { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 57, "end": 714, "name": "MSTORE", "source": 0 }, { "begin": 151, "end": 270, "name": "CALLVALUE", "source": 0 }, { "begin": 151, "end": 270, "name": "DUP1", "source": 0 }, { "begin": 151, "end": 270, "name": "ISZERO", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 151, "end": 270, "name": "JUMPI", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 151, "end": 270, "name": "DUP1", "source": 0 }, { "begin": 151, "end": 270, "name": "REVERT", "source": 0 }, { "begin": 151, "end": 270, "name": "tag", "source": 0, "value": "1" }, { "begin": 151, "end": 270, "name": "JUMPDEST", "source": 0 }, { "begin": 151, "end": 270, "name": "POP", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 151, "end": 270, "name": "MLOAD", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSHSIZE", "source": 0 }, { "begin": 151, "end": 270, "name": "CODESIZE", "source": 0 }, { "begin": 151, "end": 270, "name": "SUB", "source": 0 }, { "begin": 151, "end": 270, "name": "DUP1", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSHSIZE", "source": 0 }, { "begin": 151, "end": 270, "name": "DUP4", "source": 0 }, { "begin": 151, "end": 270, "name": "CODECOPY", "source": 0 }, { "begin": 151, "end": 270, "name": "DUP2", "source": 0 }, { "begin": 151, "end": 270, "name": "ADD", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 151, "end": 270, "name": "DUP2", "source": 0 }, { "begin": 151, "end": 270, "name": "SWAP1", "source": 0 }, { "begin": 151, "end": 270, "name": "MSTORE", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 151, "end": 270, "name": "SWAP2", "source": 0 }, { "begin": 151, "end": 270, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 151, "end": 270, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 151, "end": 270, "name": "tag", "source": 0, "value": "2" }, { "begin": 151, "end": 270, "name": "JUMPDEST", "source": 0 }, { "begin": 193, "end": 205, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 193, "end": 222, "name": "DUP2", "source": 0 }, { "begin": 193, "end": 222, "name": "DUP2", "source": 0 }, { "begin": 193, "end": 222, "name": "SSTORE", "source": 0 }, { "begin": 237, "end": 247, "name": "CALLER", "source": 0 }, { "begin": 228, "end": 248, "name": "DUP2", "source": 0 }, { "begin": 228, "end": 248, "name": "MSTORE", "source": 0 }, { "begin": 228, "end": 236, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 228, "end": 248, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 228, "end": 248, "name": "MSTORE", "source": 0 }, { "begin": 228, "end": 248, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 228, "end": 248, "name": "SWAP1", "source": 0 }, { "begin": 228, "end": 248, "name": "KECCAK256", "source": 0 }, { "begin": 228, "end": 265, "name": "SSTORE", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "7" }, { "begin": 57, "end": 714, "name": "JUMP", "source": 0 }, { "begin": 14, "end": 198, "name": "tag", "source": 1, "value": "3" }, { "begin": 14, "end": 198, "name": "JUMPDEST", "source": 1 }, { "begin": 84, "end": 90, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 137, "end": 139, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 125, "end": 134, "name": "DUP3", "source": 1 }, { "begin": 116, "end": 123, "name": "DUP5", "source": 1 }, { "begin": 112, "end": 135, "name": "SUB", "source": 1 }, { "begin": 108, "end": 140, "name": "SLT", "source": 1 }, { "begin": 105, "end": 157, "name": "ISZERO", "source": 1 }, { "begin": 105, "end": 157, "name": "PUSH [tag]", "source": 1, "value": "9" }, { "begin": 105, "end": 157, "name": "JUMPI", "source": 1 }, { "begin": 153, "end": 154, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 150, "end": 151, "name": "DUP1", "source": 1 }, { "begin": 143, "end": 155, "name": "REVERT", "source": 1 }, { "begin": 105, "end": 157, "name": "tag", "source": 1, "value": "9" }, { "begin": 105, "end": 157, "name": "JUMPDEST", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 176, "end": 192, "name": "MLOAD", "source": 1 }, { "begin": 176, "end": 192, "name": "SWAP2", "source": 1 }, { "begin": 14, "end": 198, "name": "SWAP1", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 14, "end": 198, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 14, "end": 198, "name": "tag", "source": 1, "value": "7" }, { "begin": 14, "end": 198, "name": "JUMPDEST", "source": 1 }, { "begin": 57, "end": 714, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 57, "end": 714, "name": "CODECOPY", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 57, "end": 714, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a2646970667358221220f83b07a1e5759d972a89a15a45b57ced92fb0b97d04453932b807d65e10c67cf64736f6c63430008070033", ".code": [ { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 57, "end": 714, "name": "MSTORE", "source": 0 }, { "begin": 57, "end": 714, "name": "CALLVALUE", "source": 0 }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "ISZERO", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 57, "end": 714, "name": "JUMPI", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "REVERT", "source": 0 }, { "begin": 57, "end": 714, "name": "tag", "source": 0, "value": "1" }, { "begin": 57, "end": 714, "name": "JUMPDEST", "source": 0 }, { "begin": 57, "end": 714, "name": "POP", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 57, "end": 714, "name": "CALLDATASIZE", "source": 0 }, { "begin": 57, "end": 714, "name": "LT", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 57, "end": 714, "name": "JUMPI", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 57, "end": 714, "name": "CALLDATALOAD", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 57, "end": 714, "name": "SHR", "source": 0 }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "18160DDD" }, { "begin": 57, "end": 714, "name": "EQ", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 57, "end": 714, "name": "JUMPI", "source": 0 }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "70A08231" }, { "begin": 57, "end": 714, "name": "EQ", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 57, "end": 714, "name": "JUMPI", "source": 0 }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "A9059CBB" }, { "begin": 57, "end": 714, "name": "EQ", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH [tag]", "source": 0, "value": "5" }, { "begin": 57, "end": 714, "name": "JUMPI", "source": 0 }, { "begin": 57, "end": 714, "name": "tag", "source": 0, "value": "2" }, { "begin": 57, "end": 714, "name": "JUMPDEST", "source": 0 }, { "begin": 57, "end": 714, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 57, "end": 714, "name": "DUP1", "source": 0 }, { "begin": 57, "end": 714, "name": "REVERT", "source": 0 }, { "begin": 274, "end": 357, "name": "tag", "source": 0, "value": "3" }, { "begin": 274, "end": 357, "name": "JUMPDEST", "source": 0 }, { "begin": 318, "end": 325, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 340, "end": 352, "name": "SLOAD", "source": 0 }, { "begin": 274, "end": 357, "name": "tag", "source": 0, "value": "6" }, { "begin": 274, "end": 357, "name": "JUMPDEST", "source": 0 }, { "begin": 274, "end": 357, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 274, "end": 357, "name": "MLOAD", "source": 0 }, { "begin": 980, "end": 1005, "name": "SWAP1", "source": 1 }, { "begin": 980, "end": 1005, "name": "DUP2", "source": 1 }, { "begin": 980, "end": 1005, "name": "MSTORE", "source": 1 }, { "begin": 968, "end": 970, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 953, "end": 971, "name": "ADD", "source": 1 }, { "begin": 274, "end": 357, "name": "tag", "source": 0, "value": "8" }, { "begin": 274, "end": 357, "name": "JUMPDEST", "source": 0 }, { "begin": 274, "end": 357, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 274, "end": 357, "name": "MLOAD", "source": 0 }, { "begin": 274, "end": 357, "name": "DUP1", "source": 0 }, { "begin": 274, "end": 357, "name": "SWAP2", "source": 0 }, { "begin": 274, "end": 357, "name": "SUB", "source": 0 }, { "begin": 274, "end": 357, "name": "SWAP1", "source": 0 }, { "begin": 274, "end": 357, "name": "RETURN", "source": 0 }, { "begin": 613, "end": 712, "name": "tag", "source": 0, "value": "4" }, { "begin": 613, "end": 712, "name": "JUMPDEST", "source": 0 }, { "begin": 613, "end": 712, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 613, "end": 712, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 613, "end": 712, "name": "CALLDATASIZE", "source": 0 }, { "begin": 613, "end": 712, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 613, "end": 712, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 613, "end": 712, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 613, "end": 712, "name": "tag", "source": 0, "value": "11" }, { "begin": 613, "end": 712, "name": "JUMPDEST", "source": 0 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 691, "end": 707, "name": "AND", "source": 0 }, { "begin": 669, "end": 676, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 691, "end": 707, "name": "SWAP1", "source": 0 }, { "begin": 691, "end": 707, "name": "DUP2", "source": 0 }, { "begin": 691, "end": 707, "name": "MSTORE", "source": 0 }, { "begin": 691, "end": 699, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 691, "end": 707, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 691, "end": 707, "name": "MSTORE", "source": 0 }, { "begin": 691, "end": 707, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 691, "end": 707, "name": "SWAP1", "source": 0 }, { "begin": 691, "end": 707, "name": "KECCAK256", "source": 0 }, { "begin": 691, "end": 707, "name": "SLOAD", "source": 0 }, { "begin": 691, "end": 707, "name": "SWAP1", "source": 0 }, { "begin": 613, "end": 712, "name": "JUMP", "source": 0 }, { "begin": 361, "end": 609, "name": "tag", "source": 0, "value": "5" }, { "begin": 361, "end": 609, "name": "JUMPDEST", "source": 0 }, { "begin": 361, "end": 609, "name": "PUSH [tag]", "source": 0, "value": "15" }, { "begin": 361, "end": 609, "name": "PUSH [tag]", "source": 0, "value": "16" }, { "begin": 361, "end": 609, "name": "CALLDATASIZE", "source": 0 }, { "begin": 361, "end": 609, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 361, "end": 609, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 361, "end": 609, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 361, "end": 609, "name": "tag", "source": 0, "value": "16" }, { "begin": 361, "end": 609, "name": "JUMPDEST", "source": 0 }, { "begin": 361, "end": 609, "name": "PUSH [tag]", "source": 0, "value": "18" }, { "begin": 361, "end": 609, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 361, "end": 609, "name": "tag", "source": 0, "value": "15" }, { "begin": 361, "end": 609, "name": "JUMPDEST", "source": 0 }, { "begin": 361, "end": 609, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 361, "end": 609, "name": "MLOAD", "source": 0 }, { "begin": 807, "end": 821, "name": "SWAP1", "source": 1 }, { "begin": 807, "end": 821, "name": "ISZERO", "source": 1 }, { "begin": 800, "end": 822, "name": "ISZERO", "source": 1 }, { "begin": 782, "end": 823, "name": "DUP2", "source": 1 }, { "begin": 782, "end": 823, "name": "MSTORE", "source": 1 }, { "begin": 770, "end": 772, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 755, "end": 773, "name": "ADD", "source": 1 }, { "begin": 361, "end": 609, "name": "PUSH [tag]", "source": 0, "value": "8" }, { "begin": 642, "end": 829, "name": "JUMP", "source": 1 }, { "begin": 361, "end": 609, "name": "tag", "source": 0, "value": "18" }, { "begin": 361, "end": 609, "name": "JUMPDEST", "source": 0 }, { "begin": 424, "end": 428, "name": "PUSH", "source": 0, "value": "0" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 444, "end": 461, "name": "DUP4", "source": 0 }, { "begin": 444, "end": 461, "name": "AND", "source": 0 }, { "begin": 436, "end": 462, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 436, "end": 462, "name": "JUMPI", "source": 0 }, { "begin": 436, "end": 462, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 436, "end": 462, "name": "DUP1", "source": 0 }, { "begin": 436, "end": 462, "name": "REVERT", "source": 0 }, { "begin": 436, "end": 462, "name": "tag", "source": 0, "value": "24" }, { "begin": 436, "end": 462, "name": "JUMPDEST", "source": 0 }, { "begin": 495, "end": 505, "name": "CALLER", "source": 0 }, { "begin": 486, "end": 506, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 486, "end": 506, "name": "SWAP1", "source": 0 }, { "begin": 486, "end": 506, "name": "DUP2", "source": 0 }, { "begin": 486, "end": 506, "name": "MSTORE", "source": 0 }, { "begin": 486, "end": 494, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 486, "end": 506, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 486, "end": 506, "name": "MSTORE", "source": 0 }, { "begin": 486, "end": 506, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 486, "end": 506, "name": "SWAP1", "source": 0 }, { "begin": 486, "end": 506, "name": "KECCAK256", "source": 0 }, { "begin": 486, "end": 506, "name": "SLOAD", "source": 0 }, { "begin": 476, "end": 506, "name": "DUP3", "source": 0 }, { "begin": 476, "end": 506, "name": "GT", "source": 0 }, { "begin": 476, "end": 506, "name": "ISZERO", "source": 0 }, { "begin": 468, "end": 507, "name": "PUSH [tag]", "source": 0, "value": "25" }, { "begin": 468, "end": 507, "name": "JUMPI", "source": 0 }, { "begin": 468, "end": 507, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 468, "end": 507, "name": "DUP1", "source": 0 }, { "begin": 468, "end": 507, "name": "REVERT", "source": 0 }, { "begin": 468, "end": 507, "name": "tag", "source": 0, "value": "25" }, { "begin": 468, "end": 507, "name": "JUMPDEST", "source": 0 }, { "begin": 522, "end": 532, "name": "CALLER", "source": 0 }, { "begin": 513, "end": 533, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 513, "end": 533, "name": "SWAP1", "source": 0 }, { "begin": 513, "end": 533, "name": "DUP2", "source": 0 }, { "begin": 513, "end": 533, "name": "MSTORE", "source": 0 }, { "begin": 513, "end": 521, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 513, "end": 533, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 513, "end": 533, "name": "MSTORE", "source": 0 }, { "begin": 513, "end": 533, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 513, "end": 533, "name": "DUP2", "source": 0 }, { "begin": 513, "end": 533, "name": "KECCAK256", "source": 0 }, { "begin": 513, "end": 543, "name": "DUP1", "source": 0 }, { "begin": 513, "end": 543, "name": "SLOAD", "source": 0 }, { "begin": 537, "end": 543, "name": "DUP5", "source": 0 }, { "begin": 537, "end": 543, "name": "SWAP3", "source": 0 }, { "begin": 513, "end": 533, "name": "SWAP1", "source": 0 }, { "begin": 513, "end": 543, "name": "PUSH [tag]", "source": 0, "value": "26" }, { "begin": 513, "end": 543, "name": "SWAP1", "source": 0 }, { "begin": 537, "end": 543, "name": "DUP5", "source": 0 }, { "begin": 537, "end": 543, "name": "SWAP1", "source": 0 }, { "begin": 513, "end": 543, "name": "PUSH [tag]", "source": 0, "value": "27" }, { "begin": 513, "end": 543, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 513, "end": 543, "name": "tag", "source": 0, "value": "26" }, { "begin": 513, "end": 543, "name": "JUMPDEST", "source": 0 }, { "begin": 513, "end": 543, "name": "SWAP1", "source": 0 }, { "begin": 513, "end": 543, "name": "SWAP2", "source": 0 }, { "begin": 513, "end": 543, "name": "SSTORE", "source": 0 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 565, "end": 578, "name": "DUP4", "source": 0 }, { "begin": 565, "end": 578, "name": "AND", "source": 0 }, { "begin": 565, "end": 578, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 565, "end": 578, "name": "SWAP1", "source": 0 }, { "begin": 565, "end": 578, "name": "DUP2", "source": 0 }, { "begin": 565, "end": 578, "name": "MSTORE", "source": 0 }, { "begin": 565, "end": 573, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 565, "end": 578, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 565, "end": 578, "name": "MSTORE", "source": 0 }, { "begin": 565, "end": 578, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 565, "end": 578, "name": "SWAP1", "source": 0 }, { "begin": 565, "end": 578, "name": "KECCAK256", "source": 0 }, { "begin": 565, "end": 578, "name": "SLOAD", "source": 0 }, { "begin": 565, "end": 587, "name": "PUSH [tag]", "source": 0, "value": "28" }, { "begin": 565, "end": 587, "name": "SWAP1", "source": 0 }, { "begin": 581, "end": 587, "name": "DUP4", "source": 0 }, { "begin": 581, "end": 587, "name": "SWAP1", "source": 0 }, { "begin": 565, "end": 587, "name": "PUSH [tag]", "source": 0, "value": "29" }, { "begin": 565, "end": 587, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 565, "end": 587, "name": "tag", "source": 0, "value": "28" }, { "begin": 565, "end": 587, "name": "JUMPDEST", "source": 0 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 549, "end": 562, "name": "DUP5", "source": 0 }, { "begin": 549, "end": 562, "name": "AND", "source": 0 }, { "begin": 549, "end": 562, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 549, "end": 562, "name": "SWAP1", "source": 0 }, { "begin": 549, "end": 562, "name": "DUP2", "source": 0 }, { "begin": 549, "end": 562, "name": "MSTORE", "source": 0 }, { "begin": 549, "end": 557, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 549, "end": 562, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 549, "end": 562, "name": "DUP2", "source": 0 }, { "begin": 549, "end": 562, "name": "SWAP1", "source": 0 }, { "begin": 549, "end": 562, "name": "MSTORE", "source": 0 }, { "begin": 549, "end": 562, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 549, "end": 562, "name": "SWAP1", "source": 0 }, { "begin": 549, "end": 562, "name": "SWAP2", "source": 0 }, { "begin": 549, "end": 562, "name": "KECCAK256", "source": 0 }, { "begin": 549, "end": 587, "name": "SWAP2", "source": 0 }, { "begin": 549, "end": 587, "name": "SWAP1", "source": 0 }, { "begin": 549, "end": 587, "name": "SWAP2", "source": 0 }, { "begin": 549, "end": 587, "name": "SSTORE", "source": 0 }, { "begin": 549, "end": 557, "name": "SWAP1", "source": 0 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 361, "end": 609, "name": "SWAP3", "source": 0 }, { "begin": 361, "end": 609, "name": "SWAP2", "source": 0 }, { "begin": 361, "end": 609, "name": "POP", "source": 0 }, { "begin": 361, "end": 609, "name": "POP", "source": 0 }, { "begin": 361, "end": 609, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 14, "end": 187, "name": "tag", "source": 1, "value": "31" }, { "begin": 14, "end": 187, "name": "JUMPDEST", "source": 1 }, { "begin": 82, "end": 102, "name": "DUP1", "source": 1 }, { "begin": 82, "end": 102, "name": "CALLDATALOAD", "source": 1 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 131, "end": 162, "name": "DUP2", "source": 1 }, { "begin": 131, "end": 162, "name": "AND", "source": 1 }, { "begin": 121, "end": 163, "name": "DUP2", "source": 1 }, { "begin": 121, "end": 163, "name": "EQ", "source": 1 }, { "begin": 111, "end": 181, "name": "PUSH [tag]", "source": 1, "value": "33" }, { "begin": 111, "end": 181, "name": "JUMPI", "source": 1 }, { "begin": 177, "end": 178, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 174, "end": 175, "name": "DUP1", "source": 1 }, { "begin": 167, "end": 179, "name": "REVERT", "source": 1 }, { "begin": 111, "end": 181, "name": "tag", "source": 1, "value": "33" }, { "begin": 111, "end": 181, "name": "JUMPDEST", "source": 1 }, { "begin": 14, "end": 187, "name": "SWAP2", "source": 1 }, { "begin": 14, "end": 187, "name": "SWAP1", "source": 1 }, { "begin": 14, "end": 187, "name": "POP", "source": 1 }, { "begin": 14, "end": 187, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 192, "end": 378, "name": "tag", "source": 1, "value": "12" }, { "begin": 192, "end": 378, "name": "JUMPDEST", "source": 1 }, { "begin": 251, "end": 257, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 304, "end": 306, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 292, "end": 301, "name": "DUP3", "source": 1 }, { "begin": 283, "end": 290, "name": "DUP5", "source": 1 }, { "begin": 279, "end": 302, "name": "SUB", "source": 1 }, { "begin": 275, "end": 307, "name": "SLT", "source": 1 }, { "begin": 272, "end": 324, "name": "ISZERO", "source": 1 }, { "begin": 272, "end": 324, "name": "PUSH [tag]", "source": 1, "value": "35" }, { "begin": 272, "end": 324, "name": "JUMPI", "source": 1 }, { "begin": 320, "end": 321, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 317, "end": 318, "name": "DUP1", "source": 1 }, { "begin": 310, "end": 322, "name": "REVERT", "source": 1 }, { "begin": 272, "end": 324, "name": "tag", "source": 1, "value": "35" }, { "begin": 272, "end": 324, "name": "JUMPDEST", "source": 1 }, { "begin": 343, "end": 372, "name": "PUSH [tag]", "source": 1, "value": "36" }, { "begin": 362, "end": 371, "name": "DUP3", "source": 1 }, { "begin": 343, "end": 372, "name": "PUSH [tag]", "source": 1, "value": "31" }, { "begin": 343, "end": 372, "name": "JUMP", "source": 1, "value": "[in]" }, { "begin": 343, "end": 372, "name": "tag", "source": 1, "value": "36" }, { "begin": 343, "end": 372, "name": "JUMPDEST", "source": 1 }, { "begin": 333, "end": 372, "name": "SWAP4", "source": 1 }, { "begin": 192, "end": 378, "name": "SWAP3", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 192, "end": 378, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 383, "end": 637, "name": "tag", "source": 1, "value": "17" }, { "begin": 383, "end": 637, "name": "JUMPDEST", "source": 1 }, { "begin": 451, "end": 457, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 459, "end": 465, "name": "DUP1", "source": 1 }, { "begin": 512, "end": 514, "name": "PUSH", "source": 1, "value": "40" }, { "begin": 500, "end": 509, "name": "DUP4", "source": 1 }, { "begin": 491, "end": 498, "name": "DUP6", "source": 1 }, { "begin": 487, "end": 510, "name": "SUB", "source": 1 }, { "begin": 483, "end": 515, "name": "SLT", "source": 1 }, { "begin": 480, "end": 532, "name": "ISZERO", "source": 1 }, { "begin": 480, "end": 532, "name": "PUSH [tag]", "source": 1, "value": "38" }, { "begin": 480, "end": 532, "name": "JUMPI", "source": 1 }, { "begin": 528, "end": 529, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 525, "end": 526, "name": "DUP1", "source": 1 }, { "begin": 518, "end": 530, "name": "REVERT", "source": 1 }, { "begin": 480, "end": 532, "name": "tag", "source": 1, "value": "38" }, { "begin": 480, "end": 532, "name": "JUMPDEST", "source": 1 }, { "begin": 551, "end": 580, "name": "PUSH [tag]", "source": 1, "value": "39" }, { "begin": 570, "end": 579, "name": "DUP4", "source": 1 }, { "begin": 551, "end": 580, "name": "PUSH [tag]", "source": 1, "value": "31" }, { "begin": 551, "end": 580, "name": "JUMP", "source": 1, "value": "[in]" }, { "begin": 551, "end": 580, "name": "tag", "source": 1, "value": "39" }, { "begin": 551, "end": 580, "name": "JUMPDEST", "source": 1 }, { "begin": 541, "end": 580, "name": "SWAP5", "source": 1 }, { "begin": 627, "end": 629, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 612, "end": 630, "name": "SWAP4", "source": 1 }, { "begin": 612, "end": 630, "name": "SWAP1", "source": 1 }, { "begin": 612, "end": 630, "name": "SWAP4", "source": 1 }, { "begin": 612, "end": 630, "name": "ADD", "source": 1 }, { "begin": 599, "end": 631, "name": "CALLDATALOAD", "source": 1 }, { "begin": 599, "end": 631, "name": "SWAP4", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 383, "end": 637, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 1016, "end": 1144, "name": "tag", "source": 1, "value": "29" }, { "begin": 1016, "end": 1144, "name": "JUMPDEST", "source": 1 }, { "begin": 1056, "end": 1059, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1087, "end": 1088, "name": "DUP3", "source": 1 }, { "begin": 1083, "end": 1089, "name": "NOT", "source": 1 }, { "begin": 1080, "end": 1081, "name": "DUP3", "source": 1 }, { "begin": 1077, "end": 1090, "name": "GT", "source": 1 }, { "begin": 1074, "end": 1113, "name": "ISZERO", "source": 1 }, { "begin": 1074, "end": 1113, "name": "PUSH [tag]", "source": 1, "value": "44" }, { "begin": 1074, "end": 1113, "name": "JUMPI", "source": 1 }, { "begin": 1093, "end": 1111, "name": "PUSH [tag]", "source": 1, "value": "44" }, { "begin": 1093, "end": 1111, "name": "PUSH [tag]", "source": 1, "value": "45" }, { "begin": 1093, "end": 1111, "name": "JUMP", "source": 1, "value": "[in]" }, { "begin": 1093, "end": 1111, "name": "tag", "source": 1, "value": "44" }, { "begin": 1093, "end": 1111, "name": "JUMPDEST", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 1129, "end": 1138, "name": "ADD", "source": 1 }, { "begin": 1129, "end": 1138, "name": "SWAP1", "source": 1 }, { "begin": 1016, "end": 1144, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 1149, "end": 1274, "name": "tag", "source": 1, "value": "27" }, { "begin": 1149, "end": 1274, "name": "JUMPDEST", "source": 1 }, { "begin": 1189, "end": 1193, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1217, "end": 1218, "name": "DUP3", "source": 1 }, { "begin": 1214, "end": 1215, "name": "DUP3", "source": 1 }, { "begin": 1211, "end": 1219, "name": "LT", "source": 1 }, { "begin": 1208, "end": 1242, "name": "ISZERO", "source": 1 }, { "begin": 1208, "end": 1242, "name": "PUSH [tag]", "source": 1, "value": "48" }, { "begin": 1208, "end": 1242, "name": "JUMPI", "source": 1 }, { "begin": 1222, "end": 1240, "name": "PUSH [tag]", "source": 1, "value": "48" }, { "begin": 1222, "end": 1240, "name": "PUSH [tag]", "source": 1, "value": "45" }, { "begin": 1222, "end": 1240, "name": "JUMP", "source": 1, "value": "[in]" }, { "begin": 1222, "end": 1240, "name": "tag", "source": 1, "value": "48" }, { "begin": 1222, "end": 1240, "name": "JUMPDEST", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 1259, "end": 1268, "name": "SUB", "source": 1 }, { "begin": 1259, "end": 1268, "name": "SWAP1", "source": 1 }, { "begin": 1149, "end": 1274, "name": "JUMP", "source": 1, "value": "[out]" }, { "begin": 1279, "end": 1406, "name": "tag", "source": 1, "value": "45" }, { "begin": 1279, "end": 1406, "name": "JUMPDEST", "source": 1 }, { "begin": 1340, "end": 1350, "name": "PUSH", "source": 1, "value": "4E487B71" }, { "begin": 1335, "end": 1338, "name": "PUSH", "source": 1, "value": "E0" }, { "begin": 1331, "end": 1351, "name": "SHL", "source": 1 }, { "begin": 1328, "end": 1329, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1321, "end": 1352, "name": "MSTORE", "source": 1 }, { "begin": 1371, "end": 1375, "name": "PUSH", "source": 1, "value": "11" }, { "begin": 1368, "end": 1369, "name": "PUSH", "source": 1, "value": "4" }, { "begin": 1361, "end": 1376, "name": "MSTORE", "source": 1 }, { "begin": 1395, "end": 1399, "name": "PUSH", "source": 1, "value": "24" }, { "begin": 1392, "end": 1393, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 1385, "end": 1400, "name": "REVERT", "source": 1 } ] } } }, "methodIdentifiers": { "balanceOf(address)": "70a08231", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb" } }, "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/BasicToken.sol\":\"BasicToken\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/BasicToken.sol\":{\"keccak256\":\"0x326f80dec7ebd559d4f5290d1f28fb490db1f6b4ec8a4b192df0bfd53704cba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9aaa263521db784267098d30ae851f7482f136ba77e0cba96d1e0f8422a56c2d\",\"dweb:/ipfs/QmPgVc5749UUTViF96BQaACrpuZPAbAFxvWqt8dU6vxK3U\"]}},\"version\":1}", "storageLayout": { "storage": [ { "astId": 3, "contract": "contracts/BasicToken.sol:BasicToken", "label": "totalSupply_", "offset": 0, "slot": "0", "type": "t_uint256" }, { "astId": 7, "contract": "contracts/BasicToken.sol:BasicToken", "label": "balances", "offset": 0, "slot": "1", "type": "t_mapping(t_address,t_uint256)" } ], "types": { "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, "t_mapping(t_address,t_uint256)": { "encoding": "mapping", "key": "t_address", "label": "mapping(address => uint256)", "numberOfBytes": "32", "value": "t_uint256" }, "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" } } }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } } }, "sources": { "contracts/BasicToken.sol": { "ast": { "absolutePath": "contracts/BasicToken.sol", "exportedSymbols": { "BasicToken": [ 92 ] }, "id": 93, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "^", "0.8", ".4" ], "nodeType": "PragmaDirective", "src": "32:23:0" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 92, "linearizedBaseContracts": [ 92 ], "name": "BasicToken", "nameLocation": "66:10:0", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 3, "mutability": "mutable", "name": "totalSupply_", "nameLocation": "92:12:0", "nodeType": "VariableDeclaration", "scope": 92, "src": "84:20:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "84:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 7, "mutability": "mutable", "name": "balances", "nameLocation": "136:8:0", "nodeType": "VariableDeclaration", "scope": 92, "src": "108:36:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 6, "keyType": { "id": 4, "name": "address", "nodeType": "ElementaryTypeName", "src": "116:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "108:27:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "127:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "internal" }, { "body": { "id": 23, "nodeType": "Block", "src": "187:83:0", "statements": [ { "expression": { "id": 14, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 12, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3, "src": "193:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 13, "name": "_initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "208:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "193:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 15, "nodeType": "ExpressionStatement", "src": "193:29:0" }, { "expression": { "id": 21, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 16, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "228:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19, "indexExpression": { "expression": { "id": 17, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "237:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 18, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "237:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "228:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 20, "name": "_initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "251:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "228:37:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 22, "nodeType": "ExpressionStatement", "src": "228:37:0" } ] }, "id": 24, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 10, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 9, "mutability": "mutable", "name": "_initialSupply", "nameLocation": "171:14:0", "nodeType": "VariableDeclaration", "scope": 24, "src": "163:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 8, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "163:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "162:24:0" }, "returnParameters": { "id": 11, "nodeType": "ParameterList", "parameters": [], "src": "187:0:0" }, "scope": 92, "src": "151:119:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 31, "nodeType": "Block", "src": "327:30:0", "statements": [ { "expression": { "id": 29, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3, "src": "340:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 28, "id": 30, "nodeType": "Return", "src": "333:19:0" } ] }, "functionSelector": "18160ddd", "id": 32, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nameLocation": "283:11:0", "nodeType": "FunctionDefinition", "parameters": { "id": 25, "nodeType": "ParameterList", "parameters": [], "src": "294:2:0" }, "returnParameters": { "id": 28, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 32, "src": "318:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 26, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "318:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "317:9:0" }, "scope": 92, "src": "274:83:0", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 78, "nodeType": "Block", "src": "430:179:0", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 47, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 42, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 34, "src": "444:3:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "arguments": [ { "hexValue": "30", "id": 45, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "459:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 44, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "451:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 43, "name": "address", "nodeType": "ElementaryTypeName", "src": "451:7:0", "typeDescriptions": {} } }, "id": 46, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "451:10:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "444:17:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 41, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "436:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 48, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "436:26:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 49, "nodeType": "ExpressionStatement", "src": "436:26:0" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 56, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 51, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "476:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "baseExpression": { "id": 52, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "486:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 55, "indexExpression": { "expression": { "id": 53, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "495:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 54, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "495:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "486:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "476:30:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 50, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "468:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 57, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "468:39:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 58, "nodeType": "ExpressionStatement", "src": "468:39:0" }, { "expression": { "id": 64, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 59, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "513:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 62, "indexExpression": { "expression": { "id": 60, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "522:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 61, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "src": "522:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "513:20:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "-=", "rightHandSide": { "id": 63, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "537:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "513:30:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 65, "nodeType": "ExpressionStatement", "src": "513:30:0" }, { "expression": { "id": 74, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 66, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "549:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 68, "indexExpression": { "id": 67, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 34, "src": "558:3:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "549:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 73, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 69, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "565:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 71, "indexExpression": { "id": 70, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 34, "src": "574:3:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "565:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "id": 72, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "581:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "565:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "549:38:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 75, "nodeType": "ExpressionStatement", "src": "549:38:0" }, { "expression": { "hexValue": "74727565", "id": 76, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "600:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 40, "id": 77, "nodeType": "Return", "src": "593:11:0" } ] }, "functionSelector": "a9059cbb", "id": 79, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nameLocation": "370:8:0", "nodeType": "FunctionDefinition", "parameters": { "id": 37, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 34, "mutability": "mutable", "name": "_to", "nameLocation": "387:3:0", "nodeType": "VariableDeclaration", "scope": 79, "src": "379:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 33, "name": "address", "nodeType": "ElementaryTypeName", "src": "379:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 36, "mutability": "mutable", "name": "_value", "nameLocation": "400:6:0", "nodeType": "VariableDeclaration", "scope": 79, "src": "392:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 35, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "392:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "378:29:0" }, "returnParameters": { "id": 40, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 39, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 79, "src": "424:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 38, "name": "bool", "nodeType": "ElementaryTypeName", "src": "424:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "423:6:0" }, "scope": 92, "src": "361:248:0", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 90, "nodeType": "Block", "src": "678:34:0", "statements": [ { "expression": { "baseExpression": { "id": 86, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "691:8:0", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 88, "indexExpression": { "id": 87, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 81, "src": "700:6:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "691:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 85, "id": 89, "nodeType": "Return", "src": "684:23:0" } ] }, "functionSelector": "70a08231", "id": 91, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nameLocation": "622:9:0", "nodeType": "FunctionDefinition", "parameters": { "id": 82, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 81, "mutability": "mutable", "name": "_owner", "nameLocation": "640:6:0", "nodeType": "VariableDeclaration", "scope": 91, "src": "632:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 80, "name": "address", "nodeType": "ElementaryTypeName", "src": "632:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "631:16:0" }, "returnParameters": { "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 84, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 91, "src": "669:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 83, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "669:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "668:9:0" }, "scope": 92, "src": "613:99:0", "stateMutability": "view", "virtual": false, "visibility": "public" } ], "scope": 93, "src": "57:657:0", "usedErrors": [] } ], "src": "32:682:0" }, "id": 0 } } } }