Created
June 21, 2022 11:59
-
-
Save jkfzero/ac9acb82ba2805bc92e55179b7857b9e to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.4.22 <0.9.0; | |
| library TestsAccounts { | |
| function getAccount(uint index) pure public returns (address) { | |
| address[15] memory accounts; | |
| accounts[0] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4; | |
| accounts[1] = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2; | |
| accounts[2] = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db; | |
| accounts[3] = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB; | |
| accounts[4] = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2; | |
| accounts[5] = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372; | |
| accounts[6] = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678; | |
| accounts[7] = 0x03C6FcED478cBbC9a4FAB34eF9f40767739D1Ff7; | |
| accounts[8] = 0x1aE0EA34a72D944a8C7603FfB3eC30a6669E454C; | |
| accounts[9] = 0x0A098Eda01Ce92ff4A4CCb7A4fFFb5A43EBC70DC; | |
| accounts[10] = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c; | |
| accounts[11] = 0x14723A09ACff6D2A60DcdF7aA4AFf308FDDC160C; | |
| accounts[12] = 0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB; | |
| accounts[13] = 0x583031D1113aD414F02576BD6afaBfb302140225; | |
| accounts[14] = 0xdD870fA1b7C4700F2BD7f44238821C26f7392148; | |
| return accounts[index]; | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.4.22 <0.9.0; | |
| library Assert { | |
| event AssertionEvent( | |
| bool passed, | |
| string message, | |
| string methodName | |
| ); | |
| event AssertionEventUint( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| uint256 returned, | |
| uint256 expected | |
| ); | |
| event AssertionEventInt( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| int256 returned, | |
| int256 expected | |
| ); | |
| event AssertionEventBool( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| bool returned, | |
| bool expected | |
| ); | |
| event AssertionEventAddress( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| address returned, | |
| address expected | |
| ); | |
| event AssertionEventBytes32( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| bytes32 returned, | |
| bytes32 expected | |
| ); | |
| event AssertionEventString( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| string returned, | |
| string expected | |
| ); | |
| event AssertionEventUintInt( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| uint256 returned, | |
| int256 expected | |
| ); | |
| event AssertionEventIntUint( | |
| bool passed, | |
| string message, | |
| string methodName, | |
| int256 returned, | |
| uint256 expected | |
| ); | |
| function ok(bool a, string memory message) public returns (bool result) { | |
| result = a; | |
| emit AssertionEvent(result, message, "ok"); | |
| } | |
| function equal(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
| result = (a == b); | |
| emit AssertionEventUint(result, message, "equal", a, b); | |
| } | |
| function equal(int256 a, int256 b, string memory message) public returns (bool result) { | |
| result = (a == b); | |
| emit AssertionEventInt(result, message, "equal", a, b); | |
| } | |
| function equal(bool a, bool b, string memory message) public returns (bool result) { | |
| result = (a == b); | |
| emit AssertionEventBool(result, message, "equal", a, b); | |
| } | |
| // TODO: only for certain versions of solc | |
| //function equal(fixed a, fixed b, string message) public returns (bool result) { | |
| // result = (a == b); | |
| // emit AssertionEvent(result, message); | |
| //} | |
| // TODO: only for certain versions of solc | |
| //function equal(ufixed a, ufixed b, string message) public returns (bool result) { | |
| // result = (a == b); | |
| // emit AssertionEvent(result, message); | |
| //} | |
| function equal(address a, address b, string memory message) public returns (bool result) { | |
| result = (a == b); | |
| emit AssertionEventAddress(result, message, "equal", a, b); | |
| } | |
| function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) { | |
| result = (a == b); | |
| emit AssertionEventBytes32(result, message, "equal", a, b); | |
| } | |
| function equal(string memory a, string memory b, string memory message) public returns (bool result) { | |
| result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b))); | |
| emit AssertionEventString(result, message, "equal", a, b); | |
| } | |
| function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
| result = (a != b); | |
| emit AssertionEventUint(result, message, "notEqual", a, b); | |
| } | |
| function notEqual(int256 a, int256 b, string memory message) public returns (bool result) { | |
| result = (a != b); | |
| emit AssertionEventInt(result, message, "notEqual", a, b); | |
| } | |
| function notEqual(bool a, bool b, string memory message) public returns (bool result) { | |
| result = (a != b); | |
| emit AssertionEventBool(result, message, "notEqual", a, b); | |
| } | |
| // TODO: only for certain versions of solc | |
| //function notEqual(fixed a, fixed b, string message) public returns (bool result) { | |
| // result = (a != b); | |
| // emit AssertionEvent(result, message); | |
| //} | |
| // TODO: only for certain versions of solc | |
| //function notEqual(ufixed a, ufixed b, string message) public returns (bool result) { | |
| // result = (a != b); | |
| // emit AssertionEvent(result, message); | |
| //} | |
| function notEqual(address a, address b, string memory message) public returns (bool result) { | |
| result = (a != b); | |
| emit AssertionEventAddress(result, message, "notEqual", a, b); | |
| } | |
| function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) { | |
| result = (a != b); | |
| emit AssertionEventBytes32(result, message, "notEqual", a, b); | |
| } | |
| function notEqual(string memory a, string memory b, string memory message) public returns (bool result) { | |
| result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))); | |
| emit AssertionEventString(result, message, "notEqual", a, b); | |
| } | |
| /*----------------- Greater than --------------------*/ | |
| function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
| result = (a > b); | |
| emit AssertionEventUint(result, message, "greaterThan", a, b); | |
| } | |
| function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) { | |
| result = (a > b); | |
| emit AssertionEventInt(result, message, "greaterThan", a, b); | |
| } | |
| // TODO: safely compare between uint and int | |
| function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) { | |
| if(b < int(0)) { | |
| // int is negative uint "a" always greater | |
| result = true; | |
| } else { | |
| result = (a > uint(b)); | |
| } | |
| emit AssertionEventUintInt(result, message, "greaterThan", a, b); | |
| } | |
| function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) { | |
| if(a < int(0)) { | |
| // int is negative uint "b" always greater | |
| result = false; | |
| } else { | |
| result = (uint(a) > b); | |
| } | |
| emit AssertionEventIntUint(result, message, "greaterThan", a, b); | |
| } | |
| /*----------------- Lesser than --------------------*/ | |
| function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) { | |
| result = (a < b); | |
| emit AssertionEventUint(result, message, "lesserThan", a, b); | |
| } | |
| function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) { | |
| result = (a < b); | |
| emit AssertionEventInt(result, message, "lesserThan", a, b); | |
| } | |
| // TODO: safely compare between uint and int | |
| function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) { | |
| if(b < int(0)) { | |
| // int is negative int "b" always lesser | |
| result = false; | |
| } else { | |
| result = (a < uint(b)); | |
| } | |
| emit AssertionEventUintInt(result, message, "lesserThan", a, b); | |
| } | |
| function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) { | |
| if(a < int(0)) { | |
| // int is negative int "a" always lesser | |
| result = true; | |
| } else { | |
| result = (uint(a) < b); | |
| } | |
| emit AssertionEventIntUint(result, message, "lesserThan", a, b); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "1af82bd8f3eccba34187168744b56e1f", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "content": "pragma solidity 0.8.7; // 0.8.12\n\n" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "errors": [ | |
| { | |
| "component": "general", | |
| "errorCode": "1878", | |
| "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n", | |
| "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", | |
| "severity": "warning", | |
| "sourceLocation": { | |
| "end": -1, | |
| "file": "contracts/SimpleStorage.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/SimpleStorage.sol", | |
| "exportedSymbols": {}, | |
| "id": 2, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "0.8", | |
| ".7" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "0:22:0" | |
| } | |
| ], | |
| "src": "0:34:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "2e6c3f5b80c13134d540b63f745ceb4a", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "content": "// SPDX-License-Identifier : MIT\npragma solidity ^0.8.7; // 0.8.12\n\ncontract SimpleStorage {\n bool hasFavoriteNumber = true;\n uint256 favoriteNumber = 5;\n string favoriteNumberInText = \"FIVE\";\n int256 favoriteInt = -5;\n address myAddress = 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E;\n //byte32 favoriteBytes = \"cat\"\n\n function store(uint256 _favoriteNumber) public{\n favoriteNumber = _favoriteNumber;\n }\n}" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "contracts": { | |
| "contracts/SimpleStorage.sol": { | |
| "SimpleStorage": { | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_favoriteNumber", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "store", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"contracts/SimpleStorage.sol\":68:436 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n /* \"contracts/SimpleStorage.sol\":122:126 true */\n 0x01\n /* \"contracts/SimpleStorage.sol\":97:126 bool hasFavoriteNumber = true */\n 0x00\n dup1\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":157:158 5 */\n 0x05\n /* \"contracts/SimpleStorage.sol\":132:158 uint256 favoriteNumber = 5 */\n 0x01\n sstore\n /* \"contracts/SimpleStorage.sol\":164:200 string favoriteNumberInText = \"FIVE\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x04\n dup2\n mstore\n 0x20\n add\n 0x4649564500000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x02\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"contracts/SimpleStorage.sol\":227:229 -5 */\n 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb\n /* \"contracts/SimpleStorage.sol\":206:229 int256 favoriteInt = -5 */\n 0x03\n sstore\n /* \"contracts/SimpleStorage.sol\":255:297 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E */\n 0x557abef82a99b7f0e99947a1e3111ab8643ff27e\n /* \"contracts/SimpleStorage.sol\":235:297 address myAddress = 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E */\n 0x04\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":68:436 contract SimpleStorage {... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\ntag_2:\n dup3\n dup1\n sload\n tag_5\n swap1\n tag_6\n jump\t// in\ntag_5:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_8\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_7)\ntag_8:\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_7)\ntag_9:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_7:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:327 */\ntag_6:\n /* \"#utility.yul\":51:57 */\n 0x00\n /* \"#utility.yul\":88:89 */\n 0x02\n /* \"#utility.yul\":82:86 */\n dup3\n /* \"#utility.yul\":78:90 */\n div\n /* \"#utility.yul\":68:90 */\n swap1\n pop\n /* \"#utility.yul\":135:136 */\n 0x01\n /* \"#utility.yul\":129:133 */\n dup3\n /* \"#utility.yul\":125:137 */\n and\n /* \"#utility.yul\":156:174 */\n dup1\n /* \"#utility.yul\":146:227 */\n tag_18\n jumpi\n /* \"#utility.yul\":212:216 */\n 0x7f\n /* \"#utility.yul\":204:210 */\n dup3\n /* \"#utility.yul\":200:217 */\n and\n /* \"#utility.yul\":190:217 */\n swap2\n pop\n /* \"#utility.yul\":146:227 */\ntag_18:\n /* \"#utility.yul\":274:276 */\n 0x20\n /* \"#utility.yul\":266:272 */\n dup3\n /* \"#utility.yul\":263:277 */\n lt\n /* \"#utility.yul\":243:261 */\n dup2\n /* \"#utility.yul\":240:278 */\n eq\n /* \"#utility.yul\":237:321 */\n iszero\n tag_19\n jumpi\n /* \"#utility.yul\":293:311 */\n tag_20\n tag_21\n jump\t// in\ntag_20:\n /* \"#utility.yul\":237:321 */\ntag_19:\n /* \"#utility.yul\":58:327 */\n pop\n /* \"#utility.yul\":7:327 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":333:513 */\ntag_21:\n /* \"#utility.yul\":381:458 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":378:379 */\n 0x00\n /* \"#utility.yul\":371:459 */\n mstore\n /* \"#utility.yul\":478:482 */\n 0x22\n /* \"#utility.yul\":475:476 */\n 0x04\n /* \"#utility.yul\":468:483 */\n mstore\n /* \"#utility.yul\":502:506 */\n 0x24\n /* \"#utility.yul\":499:500 */\n 0x00\n /* \"#utility.yul\":492:507 */\n revert\n /* \"contracts/SimpleStorage.sol\":68:436 contract SimpleStorage {... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/SimpleStorage.sol\":68:436 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x6057361d\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage.sol\":339:434 function store(uint256 _favoriteNumber) public{... */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n stop\n tag_7:\n /* \"contracts/SimpleStorage.sol\":412:427 _favoriteNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":395:409 favoriteNumber */\n 0x01\n /* \"contracts/SimpleStorage.sol\":395:427 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":339:434 function store(uint256 _favoriteNumber) public{... */\n pop\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_10:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_12\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_13\n jump\t// in\n tag_12:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:481 */\n tag_6:\n /* \"#utility.yul\":211:217 */\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:347 */\n iszero\n tag_15\n jumpi\n /* \"#utility.yul\":266:345 */\n tag_16\n tag_17\n jump\t// in\n tag_16:\n /* \"#utility.yul\":228:347 */\n tag_15:\n /* \"#utility.yul\":386:387 */\n 0x00\n /* \"#utility.yul\":411:464 */\n tag_18\n /* \"#utility.yul\":456:463 */\n dup5\n /* \"#utility.yul\":447:453 */\n dup3\n /* \"#utility.yul\":436:445 */\n dup6\n /* \"#utility.yul\":432:454 */\n add\n /* \"#utility.yul\":411:464 */\n tag_10\n jump\t// in\n tag_18:\n /* \"#utility.yul\":401:464 */\n swap2\n pop\n /* \"#utility.yul\":357:474 */\n pop\n /* \"#utility.yul\":152:481 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":568:645 */\n tag_21:\n /* \"#utility.yul\":605:612 */\n 0x00\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":623:639 */\n swap1\n pop\n /* \"#utility.yul\":568:645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":774:891 */\n tag_17:\n /* \"#utility.yul\":883:884 */\n 0x00\n /* \"#utility.yul\":880:881 */\n dup1\n /* \"#utility.yul\":873:885 */\n revert\n /* \"#utility.yul\":897:1019 */\n tag_13:\n /* \"#utility.yul\":970:994 */\n tag_27\n /* \"#utility.yul\":988:993 */\n dup2\n /* \"#utility.yul\":970:994 */\n tag_21\n jump\t// in\n tag_27:\n /* \"#utility.yul\":963:968 */\n dup2\n /* \"#utility.yul\":960:995 */\n eq\n /* \"#utility.yul\":950:1013 */\n tag_28\n jumpi\n /* \"#utility.yul\":1009:1010 */\n 0x00\n /* \"#utility.yul\":1006:1007 */\n dup1\n /* \"#utility.yul\":999:1011 */\n revert\n /* \"#utility.yul\":950:1013 */\n tag_28:\n /* \"#utility.yul\":897:1019 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220ef5f931489706922a2e39babe87f824ab941bdf9df7efc565ed3442bea19644564736f6c63430008070033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": { | |
| "extract_byte_array_length": { | |
| "entryPoint": 413, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 463, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:516:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "58:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "68:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "82:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "88:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "68:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "99:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "129:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "135:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "125:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "125:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "103:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "176:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "190:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "204:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "212:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "200:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "200:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "190:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "156:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "149:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "149:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "146:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "279:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "293:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "293:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "293:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "243:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "274:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "263:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "263:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "240:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "240:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "237:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "42:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "51:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "361:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "378:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "381:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "371:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "371:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "371:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "475:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "478:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "468:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "468:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "468:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "499:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "502:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "492:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "492:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "492:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "333:180:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "608060405260016000806101000a81548160ff02191690831515021790555060056001556040518060400160405280600481526020017f46495645000000000000000000000000000000000000000000000000000000008152506002908051906020019061006e9291906100fa565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb60035573557abef82a99b7f0e99947a1e3111ab8643ff27e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100f457600080fd5b506101fe565b8280546101069061019d565b90600052602060002090601f016020900481019282610128576000855561016f565b82601f1061014157805160ff191683800117855561016f565b8280016001018555821561016f579182015b8281111561016e578251825591602001919060010190610153565b5b50905061017c9190610180565b5090565b5b80821115610199576000816000905550600101610181565b5090565b600060028204905060018216806101b557607f821691505b602082108114156101c9576101c86101cf565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60e38061020c6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636057361d14602d575b600080fd5b60436004803603810190603f91906062565b6045565b005b8060018190555050565b600081359050605c816099565b92915050565b60006020828403121560755760746094565b5b6000608184828501604f565b91505092915050565b6000819050919050565b600080fd5b60a081608a565b811460aa57600080fd5b5056fea2646970667358221220ef5f931489706922a2e39babe87f824ab941bdf9df7efc565ed3442bea19644564736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x5 PUSH1 0x1 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4649564500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6E SWAP3 SWAP2 SWAP1 PUSH2 0xFA JUMP JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB PUSH1 0x3 SSTORE PUSH20 0x557ABEF82A99B7F0E99947A1E3111AB8643FF27E PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FE JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x106 SWAP1 PUSH2 0x19D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x128 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x141 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x16F JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x16E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x153 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x180 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x199 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x181 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1C9 JUMPI PUSH2 0x1C8 PUSH2 0x1CF JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0xE3 DUP1 PUSH2 0x20C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x62 JUMP JUMPDEST PUSH1 0x45 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x5C DUP2 PUSH1 0x99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x75 JUMPI PUSH1 0x74 PUSH1 0x94 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x81 DUP5 DUP3 DUP6 ADD PUSH1 0x4F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xA0 DUP2 PUSH1 0x8A JUMP JUMPDEST DUP2 EQ PUSH1 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0x5F SWAP4 EQ DUP10 PUSH17 0x6922A2E39BABE87F824AB941BDF9DF7EFC JUMP 0x5E 0xD3 DIFFICULTY 0x2B 0xEA NOT PUSH5 0x4564736F6C PUSH4 0x43000807 STOP CALLER ", | |
| "sourceMap": "68:368:0:-:0;;;122:4;97:29;;;;;;;;;;;;;;;;;;;;157:1;132:26;;164:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;227:2;206:23;;255:42;235:62;;;;;;;;;;;;;;;;;;;;68:368;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;68:368:0;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@store_27": { | |
| "entryPoint": 69, | |
| "id": 27, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 79, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 98, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 138, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 148, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 153, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1022:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "59:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "69:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "91:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "69:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "134:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "107:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "107:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "107:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "37:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "45:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "53:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "218:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "264:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "266:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "266:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "239:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "248:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "235:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "235:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "260:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "231:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "231:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "228:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "357:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "372:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "386:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "376:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "401:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "436:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "447:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "432:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "456:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "188:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "199:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "211:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "152:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "527:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "537:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "553:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "547:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "547:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "537:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "520:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "487:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "613:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "623:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "634:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "623:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "595:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "605:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "568:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "740:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "757:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "760:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "750:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "750:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "750:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "651:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "863:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "880:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "883:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "873:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "873:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "873:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "774:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "940:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "997:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1006:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1009:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "999:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "999:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "999:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "963:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "988:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "970:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "970:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "960:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "960:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "953:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "953:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "950:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "933:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "897:122:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "6080604052348015600f57600080fd5b506004361060285760003560e01c80636057361d14602d575b600080fd5b60436004803603810190603f91906062565b6045565b005b8060018190555050565b600081359050605c816099565b92915050565b60006020828403121560755760746094565b5b6000608184828501604f565b91505092915050565b6000819050919050565b600080fd5b60a081608a565b811460aa57600080fd5b5056fea2646970667358221220ef5f931489706922a2e39babe87f824ab941bdf9df7efc565ed3442bea19644564736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6057361D EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x62 JUMP JUMPDEST PUSH1 0x45 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x5C DUP2 PUSH1 0x99 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x75 JUMPI PUSH1 0x74 PUSH1 0x94 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0x81 DUP5 DUP3 DUP6 ADD PUSH1 0x4F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xA0 DUP2 PUSH1 0x8A JUMP JUMPDEST DUP2 EQ PUSH1 0xAA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0x5F SWAP4 EQ DUP10 PUSH17 0x6922A2E39BABE87F824AB941BDF9DF7EFC JUMP 0x5E 0xD3 DIFFICULTY 0x2B 0xEA NOT PUSH5 0x4564736F6C PUSH4 0x43000807 STOP CALLER ", | |
| "sourceMap": "68:368:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;412:15;395:14;:32;;;;339:95;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;568:77::-;605:7;634:5;623:16;;568:77;;;:::o;774:117::-;883:1;880;873:12;897:122;970:24;988:5;970:24;:::i;:::-;963:5;960:35;950:63;;1009:1;1006;999:12;950:63;897:122;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "45400", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "store(uint256)": "22498" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 122, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 157, | |
| "end": 158, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 158, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 158, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4649564500000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 200, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 227, | |
| "end": 229, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB" | |
| }, | |
| { | |
| "begin": 206, | |
| "end": 229, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 206, | |
| "end": 229, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 255, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "557ABEF82A99B7F0E99947A1E3111AB8643FF27E" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 297, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "KECCAK256", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 51, | |
| "end": 57, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 88, | |
| "end": 89, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 86, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 78, | |
| "end": 90, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 90, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 90, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 135, | |
| "end": 136, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 129, | |
| "end": 133, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 137, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 156, | |
| "end": 174, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 212, | |
| "end": 216, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 204, | |
| "end": 210, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 200, | |
| "end": 217, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 190, | |
| "end": 217, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 190, | |
| "end": 217, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 274, | |
| "end": 276, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 272, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 263, | |
| "end": 277, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 243, | |
| "end": 261, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 240, | |
| "end": 278, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 58, | |
| "end": 327, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 333, | |
| "end": 513, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 333, | |
| "end": 513, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 381, | |
| "end": 458, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 379, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 371, | |
| "end": 459, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 478, | |
| "end": 482, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 475, | |
| "end": 476, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 468, | |
| "end": 483, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 506, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 499, | |
| "end": 500, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 492, | |
| "end": 507, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a2646970667358221220ef5f931489706922a2e39babe87f824ab941bdf9df7efc565ed3442bea19644564736f6c63430008070033", | |
| ".code": [ | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "6057361D" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 436, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 412, | |
| "end": 427, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 395, | |
| "end": 409, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 395, | |
| "end": 427, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 395, | |
| "end": 427, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 395, | |
| "end": 427, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 395, | |
| "end": 427, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 434, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 53, | |
| "end": 58, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 91, | |
| "end": 97, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 78, | |
| "end": 98, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 69, | |
| "end": 98, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 69, | |
| "end": 98, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 134, | |
| "end": 139, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 211, | |
| "end": 217, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 260, | |
| "end": 262, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 248, | |
| "end": 257, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 239, | |
| "end": 246, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 258, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 231, | |
| "end": 263, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 387, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 456, | |
| "end": 463, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 447, | |
| "end": 453, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 436, | |
| "end": 445, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 432, | |
| "end": 454, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 401, | |
| "end": 464, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 401, | |
| "end": 464, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 357, | |
| "end": 474, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 605, | |
| "end": 612, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 634, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 623, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 568, | |
| "end": 645, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 774, | |
| "end": 891, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 774, | |
| "end": 891, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 883, | |
| "end": 884, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 880, | |
| "end": 881, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 873, | |
| "end": 885, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 897, | |
| "end": 1019, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 897, | |
| "end": 1019, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 994, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 988, | |
| "end": 993, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 994, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 994, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 994, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 994, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 963, | |
| "end": 968, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 960, | |
| "end": 995, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 950, | |
| "end": 1013, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 950, | |
| "end": 1013, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1009, | |
| "end": 1010, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1006, | |
| "end": 1007, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 999, | |
| "end": 1011, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 950, | |
| "end": 1013, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 950, | |
| "end": 1013, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 897, | |
| "end": 1019, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 897, | |
| "end": 1019, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "store(uint256)": "6057361d" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage.sol\":{\"keccak256\":\"0x5f91a1bb0d27ae4b14429a86a2e0c02d39a6751bad5019ba2edd9406e182bdac\",\"urls\":[\"bzz-raw://436f1dda33958a0def02c435b2b334ff1c9f1ea6188cba08054757615e400abd\",\"dweb:/ipfs/QmdPv9Bz1zhubF84GyrhaaTBukbZwRN8bdvTZyxdCLaBU2\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 4, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "hasFavoriteNumber", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_bool" | |
| }, | |
| { | |
| "astId": 7, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteNumber", | |
| "offset": 0, | |
| "slot": "1", | |
| "type": "t_uint256" | |
| }, | |
| { | |
| "astId": 10, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteNumberInText", | |
| "offset": 0, | |
| "slot": "2", | |
| "type": "t_string_storage" | |
| }, | |
| { | |
| "astId": 14, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteInt", | |
| "offset": 0, | |
| "slot": "3", | |
| "type": "t_int256" | |
| }, | |
| { | |
| "astId": 17, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "myAddress", | |
| "offset": 0, | |
| "slot": "4", | |
| "type": "t_address" | |
| } | |
| ], | |
| "types": { | |
| "t_address": { | |
| "encoding": "inplace", | |
| "label": "address", | |
| "numberOfBytes": "20" | |
| }, | |
| "t_bool": { | |
| "encoding": "inplace", | |
| "label": "bool", | |
| "numberOfBytes": "1" | |
| }, | |
| "t_int256": { | |
| "encoding": "inplace", | |
| "label": "int256", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_string_storage": { | |
| "encoding": "bytes", | |
| "label": "string", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_uint256": { | |
| "encoding": "inplace", | |
| "label": "uint256", | |
| "numberOfBytes": "32" | |
| } | |
| } | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| } | |
| } | |
| }, | |
| "errors": [ | |
| { | |
| "component": "general", | |
| "errorCode": "1878", | |
| "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n", | |
| "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", | |
| "severity": "warning", | |
| "sourceLocation": { | |
| "end": -1, | |
| "file": "contracts/SimpleStorage.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/SimpleStorage.sol", | |
| "exportedSymbols": { | |
| "SimpleStorage": [ | |
| 28 | |
| ] | |
| }, | |
| "id": 29, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.8", | |
| ".7" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "33:23:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 28, | |
| "linearizedBaseContracts": [ | |
| 28 | |
| ], | |
| "name": "SimpleStorage", | |
| "nameLocation": "77:13:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 4, | |
| "mutability": "mutable", | |
| "name": "hasFavoriteNumber", | |
| "nameLocation": "102:17:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "97:29:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 2, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "97:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "74727565", | |
| "id": 3, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "122:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 7, | |
| "mutability": "mutable", | |
| "name": "favoriteNumber", | |
| "nameLocation": "140:14:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "132:26:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 5, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "132:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "35", | |
| "id": 6, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "157:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_5_by_1", | |
| "typeString": "int_const 5" | |
| }, | |
| "value": "5" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 10, | |
| "mutability": "mutable", | |
| "name": "favoriteNumberInText", | |
| "nameLocation": "171:20:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "164:36:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 8, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "164:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "46495645", | |
| "id": 9, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "194:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_b0c23c71b0d650eb45b4604d186fac0f4956dd678bc17b18a3708867d981acab", | |
| "typeString": "literal_string \"FIVE\"" | |
| }, | |
| "value": "FIVE" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 14, | |
| "mutability": "mutable", | |
| "name": "favoriteInt", | |
| "nameLocation": "213:11:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "206:23:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| }, | |
| "typeName": { | |
| "id": 11, | |
| "name": "int256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "206:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "value": { | |
| "id": 13, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "-", | |
| "prefix": true, | |
| "src": "227:2:0", | |
| "subExpression": { | |
| "hexValue": "35", | |
| "id": 12, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "228:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_5_by_1", | |
| "typeString": "int_const 5" | |
| }, | |
| "value": "5" | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_minus_5_by_1", | |
| "typeString": "int_const -5" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 17, | |
| "mutability": "mutable", | |
| "name": "myAddress", | |
| "nameLocation": "243:9:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "235:62:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 15, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "235:7:0", | |
| "stateMutability": "nonpayable", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "307835353761426546383261393962374630453939393437613145333131314162383634334646323745", | |
| "id": 16, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "255:42:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "value": "0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 26, | |
| "nodeType": "Block", | |
| "src": "385:49:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "id": 24, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 22, | |
| "name": "favoriteNumber", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 7, | |
| "src": "395:14:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "id": 23, | |
| "name": "_favoriteNumber", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 19, | |
| "src": "412:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "395:32:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 25, | |
| "nodeType": "ExpressionStatement", | |
| "src": "395:32:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "6057361d", | |
| "id": 27, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "store", | |
| "nameLocation": "348:5:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 20, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 19, | |
| "mutability": "mutable", | |
| "name": "_favoriteNumber", | |
| "nameLocation": "362:15:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 27, | |
| "src": "354:23:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 18, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "354:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "353:25:0" | |
| }, | |
| "returnParameters": { | |
| "id": 21, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "385:0:0" | |
| }, | |
| "scope": 28, | |
| "src": "339:95:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 29, | |
| "src": "68:368:0", | |
| "usedErrors": [] | |
| } | |
| ], | |
| "src": "33:403:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "2f7373eedce704caafa761bd75b15c0b", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "content": "// SPDX-License-Identifier : MIT\npragma solidity ^0.8.7; // 0.8.12\n\ncontract SimpleStorage {\n bool hasFavoriteNumber = true;\n uint256 public favoriteNumber = 5;\n string favoriteNumberInText = \"FIVE\";\n int256 favoriteInt = -5;\n address myAddress = 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E;\n //byte32 favoriteBytes = \"cat\"\n\n function store(uint256 _favoriteNumber) public{\n favoriteNumber = _favoriteNumber;\n }\n}\n// deploy address 0xa131AD247055FD2e2aA8b156A11bdEc81b9eAD95" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "contracts": { | |
| "contracts/SimpleStorage.sol": { | |
| "SimpleStorage": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "favoriteNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_favoriteNumber", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "store", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"contracts/SimpleStorage.sol\":68:443 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n /* \"contracts/SimpleStorage.sol\":122:126 true */\n 0x01\n /* \"contracts/SimpleStorage.sol\":97:126 bool hasFavoriteNumber = true */\n 0x00\n dup1\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":164:165 5 */\n 0x05\n /* \"contracts/SimpleStorage.sol\":132:165 uint256 public favoriteNumber = 5 */\n 0x01\n sstore\n /* \"contracts/SimpleStorage.sol\":171:207 string favoriteNumberInText = \"FIVE\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x04\n dup2\n mstore\n 0x20\n add\n 0x4649564500000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n 0x02\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n /* \"contracts/SimpleStorage.sol\":234:236 -5 */\n 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb\n /* \"contracts/SimpleStorage.sol\":213:236 int256 favoriteInt = -5 */\n 0x03\n sstore\n /* \"contracts/SimpleStorage.sol\":262:304 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E */\n 0x557abef82a99b7f0e99947a1e3111ab8643ff27e\n /* \"contracts/SimpleStorage.sol\":242:304 address myAddress = 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E */\n 0x04\n exp(0x0100, 0x00)\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":68:443 contract SimpleStorage {... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\ntag_2:\n dup3\n dup1\n sload\n tag_5\n swap1\n tag_6\n jump\t// in\ntag_5:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_8\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_7)\ntag_8:\n dup3\n 0x1f\n lt\n tag_9\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_7)\ntag_9:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_7\n jumpi\n swap2\n dup3\n add\ntag_10:\n dup3\n dup2\n gt\n iszero\n tag_11\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_10)\ntag_11:\ntag_7:\n pop\n swap1\n pop\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\ntag_12:\n pop\n swap1\n jump\t// out\ntag_13:\ntag_14:\n dup1\n dup3\n gt\n iszero\n tag_15\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_14)\ntag_15:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:327 */\ntag_6:\n /* \"#utility.yul\":51:57 */\n 0x00\n /* \"#utility.yul\":88:89 */\n 0x02\n /* \"#utility.yul\":82:86 */\n dup3\n /* \"#utility.yul\":78:90 */\n div\n /* \"#utility.yul\":68:90 */\n swap1\n pop\n /* \"#utility.yul\":135:136 */\n 0x01\n /* \"#utility.yul\":129:133 */\n dup3\n /* \"#utility.yul\":125:137 */\n and\n /* \"#utility.yul\":156:174 */\n dup1\n /* \"#utility.yul\":146:227 */\n tag_18\n jumpi\n /* \"#utility.yul\":212:216 */\n 0x7f\n /* \"#utility.yul\":204:210 */\n dup3\n /* \"#utility.yul\":200:217 */\n and\n /* \"#utility.yul\":190:217 */\n swap2\n pop\n /* \"#utility.yul\":146:227 */\ntag_18:\n /* \"#utility.yul\":274:276 */\n 0x20\n /* \"#utility.yul\":266:272 */\n dup3\n /* \"#utility.yul\":263:277 */\n lt\n /* \"#utility.yul\":243:261 */\n dup2\n /* \"#utility.yul\":240:278 */\n eq\n /* \"#utility.yul\":237:321 */\n iszero\n tag_19\n jumpi\n /* \"#utility.yul\":293:311 */\n tag_20\n tag_21\n jump\t// in\ntag_20:\n /* \"#utility.yul\":237:321 */\ntag_19:\n /* \"#utility.yul\":58:327 */\n pop\n /* \"#utility.yul\":7:327 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":333:513 */\ntag_21:\n /* \"#utility.yul\":381:458 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":378:379 */\n 0x00\n /* \"#utility.yul\":371:459 */\n mstore\n /* \"#utility.yul\":478:482 */\n 0x22\n /* \"#utility.yul\":475:476 */\n 0x04\n /* \"#utility.yul\":468:483 */\n mstore\n /* \"#utility.yul\":502:506 */\n 0x24\n /* \"#utility.yul\":499:500 */\n 0x00\n /* \"#utility.yul\":492:507 */\n revert\n /* \"contracts/SimpleStorage.sol\":68:443 contract SimpleStorage {... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/SimpleStorage.sol\":68:443 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x471f7cdf\n eq\n tag_3\n jumpi\n dup1\n 0x6057361d\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/SimpleStorage.sol\":132:165 uint256 public favoriteNumber = 5 */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/SimpleStorage.sol\":346:441 function store(uint256 _favoriteNumber) public{... */\n tag_4:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n stop\n /* \"contracts/SimpleStorage.sol\":132:165 uint256 public favoriteNumber = 5 */\n tag_6:\n sload(0x01)\n dup2\n jump\t// out\n /* \"contracts/SimpleStorage.sol\":346:441 function store(uint256 _favoriteNumber) public{... */\n tag_12:\n /* \"contracts/SimpleStorage.sol\":419:434 _favoriteNumber */\n dup1\n /* \"contracts/SimpleStorage.sol\":402:416 favoriteNumber */\n 0x01\n /* \"contracts/SimpleStorage.sol\":402:434 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/SimpleStorage.sol\":346:441 function store(uint256 _favoriteNumber) public{... */\n pop\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_15:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_17\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_18\n jump\t// in\n tag_17:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:481 */\n tag_11:\n /* \"#utility.yul\":211:217 */\n 0x00\n /* \"#utility.yul\":260:262 */\n 0x20\n /* \"#utility.yul\":248:257 */\n dup3\n /* \"#utility.yul\":239:246 */\n dup5\n /* \"#utility.yul\":235:258 */\n sub\n /* \"#utility.yul\":231:263 */\n slt\n /* \"#utility.yul\":228:347 */\n iszero\n tag_20\n jumpi\n /* \"#utility.yul\":266:345 */\n tag_21\n tag_22\n jump\t// in\n tag_21:\n /* \"#utility.yul\":228:347 */\n tag_20:\n /* \"#utility.yul\":386:387 */\n 0x00\n /* \"#utility.yul\":411:464 */\n tag_23\n /* \"#utility.yul\":456:463 */\n dup5\n /* \"#utility.yul\":447:453 */\n dup3\n /* \"#utility.yul\":436:445 */\n dup6\n /* \"#utility.yul\":432:454 */\n add\n /* \"#utility.yul\":411:464 */\n tag_15\n jump\t// in\n tag_23:\n /* \"#utility.yul\":401:464 */\n swap2\n pop\n /* \"#utility.yul\":357:474 */\n pop\n /* \"#utility.yul\":152:481 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":487:605 */\n tag_24:\n /* \"#utility.yul\":574:598 */\n tag_26\n /* \"#utility.yul\":592:597 */\n dup2\n /* \"#utility.yul\":574:598 */\n tag_27\n jump\t// in\n tag_26:\n /* \"#utility.yul\":569:572 */\n dup3\n /* \"#utility.yul\":562:599 */\n mstore\n /* \"#utility.yul\":487:605 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":611:833 */\n tag_8:\n /* \"#utility.yul\":704:708 */\n 0x00\n /* \"#utility.yul\":742:744 */\n 0x20\n /* \"#utility.yul\":731:740 */\n dup3\n /* \"#utility.yul\":727:745 */\n add\n /* \"#utility.yul\":719:745 */\n swap1\n pop\n /* \"#utility.yul\":755:826 */\n tag_29\n /* \"#utility.yul\":823:824 */\n 0x00\n /* \"#utility.yul\":812:821 */\n dup4\n /* \"#utility.yul\":808:825 */\n add\n /* \"#utility.yul\":799:805 */\n dup5\n /* \"#utility.yul\":755:826 */\n tag_24\n jump\t// in\n tag_29:\n /* \"#utility.yul\":611:833 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":920:997 */\n tag_27:\n /* \"#utility.yul\":957:964 */\n 0x00\n /* \"#utility.yul\":986:991 */\n dup2\n /* \"#utility.yul\":975:991 */\n swap1\n pop\n /* \"#utility.yul\":920:997 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1126:1243 */\n tag_22:\n /* \"#utility.yul\":1235:1236 */\n 0x00\n /* \"#utility.yul\":1232:1233 */\n dup1\n /* \"#utility.yul\":1225:1237 */\n revert\n /* \"#utility.yul\":1249:1371 */\n tag_18:\n /* \"#utility.yul\":1322:1346 */\n tag_37\n /* \"#utility.yul\":1340:1345 */\n dup2\n /* \"#utility.yul\":1322:1346 */\n tag_27\n jump\t// in\n tag_37:\n /* \"#utility.yul\":1315:1320 */\n dup2\n /* \"#utility.yul\":1312:1347 */\n eq\n /* \"#utility.yul\":1302:1365 */\n tag_38\n jumpi\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1358:1359 */\n dup1\n /* \"#utility.yul\":1351:1363 */\n revert\n /* \"#utility.yul\":1302:1365 */\n tag_38:\n /* \"#utility.yul\":1249:1371 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": { | |
| "extract_byte_array_length": { | |
| "entryPoint": 413, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 463, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:516:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "58:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "68:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "82:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "88:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "68:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "99:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "129:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "135:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "125:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "125:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "103:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "176:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "190:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "204:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "212:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "200:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "200:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "190:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "156:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "149:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "149:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "146:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "279:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "293:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "293:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "293:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "243:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "274:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "263:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "263:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "240:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "240:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "237:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "42:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "51:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "361:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "378:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "381:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "371:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "371:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "371:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "475:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "478:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "468:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "468:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "468:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "499:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "502:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "492:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "492:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "492:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "333:180:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "608060405260016000806101000a81548160ff02191690831515021790555060056001556040518060400160405280600481526020017f46495645000000000000000000000000000000000000000000000000000000008152506002908051906020019061006e9291906100fa565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb60035573557abef82a99b7f0e99947a1e3111ab8643ff27e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100f457600080fd5b506101fe565b8280546101069061019d565b90600052602060002090601f016020900481019282610128576000855561016f565b82601f1061014157805160ff191683800117855561016f565b8280016001018555821561016f579182015b8281111561016e578251825591602001919060010190610153565b5b50905061017c9190610180565b5090565b5b80821115610199576000816000905550600101610181565b5090565b600060028204905060018216806101b557607f821691505b602082108114156101c9576101c86101cf565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6101338061020d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063471f7cdf1460375780636057361d146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60015481565b8060018190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x5 PUSH1 0x1 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4649564500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6E SWAP3 SWAP2 SWAP1 PUSH2 0xFA JUMP JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB PUSH1 0x3 SSTORE PUSH20 0x557ABEF82A99B7F0E99947A1E3111AB8643FF27E PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FE JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x106 SWAP1 PUSH2 0x19D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x128 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x141 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x16F JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x16E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x153 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x180 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x199 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x181 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1C9 JUMPI PUSH2 0x1C8 PUSH2 0x1CF JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x133 DUP1 PUSH2 0x20D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x471F7CDF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 CALL 0xE 0x27 0xC5 0xCD DUP4 SWAP10 0xAE SLT PUSH31 0x7AC0233FF65FBCC06DD4B7598A1255C6A70F44FF2964736F6C634300080700 CALLER ", | |
| "sourceMap": "68:375:0:-:0;;;122:4;97:29;;;;;;;;;;;;;;;;;;;;164:1;132:33;;171:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;234:2;213:23;;262:42;242:62;;;;;;;;;;;;;;;;;;;;68:375;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;68:375:0;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@favoriteNumber_7": { | |
| "entryPoint": 105, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@store_27": { | |
| "entryPoint": 111, | |
| "id": 27, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 121, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 140, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 180, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 193, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 218, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 228, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 233, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1374:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "59:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "69:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "91:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "69:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "134:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "107:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "107:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "107:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "37:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "45:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "53:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "218:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "264:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "266:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "266:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "239:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "248:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "235:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "235:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "260:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "231:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "231:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "228:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "357:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "372:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "386:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "376:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "401:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "436:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "447:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "432:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "456:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "188:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "199:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "211:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "152:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "552:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "569:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "592:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "574:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "574:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "562:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "562:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "562:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "540:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "547:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "487:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "709:124:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "719:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "731:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "742:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "727:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "727:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "719:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "799:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "812:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "823:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "808:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "808:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "755:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "755:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "755:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "681:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "693:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "704:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "611:222:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "879:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "889:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "905:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "899:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "899:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "889:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "872:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "839:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "965:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "975:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "986:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "975:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "947:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "957:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "920:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1092:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1109:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1112:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1102:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1102:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1102:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1003:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1215:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1232:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1235:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1225:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1225:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1225:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1126:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1292:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1349:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1358:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1361:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1351:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1351:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1351:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1315:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1340:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1322:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1322:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1312:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1312:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1305:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1305:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1302:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1285:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1249:122:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "6080604052348015600f57600080fd5b506004361060325760003560e01c8063471f7cdf1460375780636057361d146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60015481565b8060018190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x471F7CDF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 CALL 0xE 0x27 0xC5 0xCD DUP4 SWAP10 0xAE SLT PUSH31 0x7AC0233FF65FBCC06DD4B7598A1255C6A70F44FF2964736F6C634300080700 CALLER ", | |
| "sourceMap": "68:375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;132:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;346:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;132:33;;;;:::o;346:95::-;419:15;402:14;:32;;;;346:95;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:222::-;704:4;742:2;731:9;727:18;719:26;;755:71;823:1;812:9;808:17;799:6;755:71;:::i;:::-;611:222;;;;:::o;920:77::-;957:7;986:5;975:16;;920:77;;;:::o;1126:117::-;1235:1;1232;1225:12;1249:122;1322:24;1340:5;1322:24;:::i;:::-;1315:5;1312:35;1302:63;;1361:1;1358;1351:12;1302:63;1249:122;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "61400", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "favoriteNumber()": "2407", | |
| "store(uint256)": "22520" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 122, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 97, | |
| "end": 126, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 164, | |
| "end": 165, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4649564500000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 171, | |
| "end": 207, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 234, | |
| "end": 236, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 236, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 213, | |
| "end": 236, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "557ABEF82A99B7F0E99947A1E3111AB8643FF27E" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 242, | |
| "end": 304, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "KECCAK256", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 51, | |
| "end": 57, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 88, | |
| "end": 89, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 86, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 78, | |
| "end": 90, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 90, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 90, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 135, | |
| "end": 136, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 129, | |
| "end": 133, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 125, | |
| "end": 137, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 156, | |
| "end": 174, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 212, | |
| "end": 216, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 204, | |
| "end": 210, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 200, | |
| "end": 217, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 190, | |
| "end": 217, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 190, | |
| "end": 217, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 146, | |
| "end": 227, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 274, | |
| "end": 276, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 272, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 263, | |
| "end": 277, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 243, | |
| "end": 261, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 240, | |
| "end": 278, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 311, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 321, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 58, | |
| "end": 327, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 327, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 333, | |
| "end": 513, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 333, | |
| "end": 513, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 381, | |
| "end": 458, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 378, | |
| "end": 379, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 371, | |
| "end": 459, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 478, | |
| "end": 482, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 475, | |
| "end": 476, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 468, | |
| "end": 483, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 506, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 499, | |
| "end": 500, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 492, | |
| "end": 507, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033", | |
| ".code": [ | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "471F7CDF" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "6057361D" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 68, | |
| "end": 443, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 132, | |
| "end": 165, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 419, | |
| "end": 434, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 416, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 434, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 434, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 434, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 402, | |
| "end": 434, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 346, | |
| "end": 441, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 53, | |
| "end": 58, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 91, | |
| "end": 97, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 78, | |
| "end": 98, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 69, | |
| "end": 98, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 69, | |
| "end": 98, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 134, | |
| "end": 139, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 107, | |
| "end": 140, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 146, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 211, | |
| "end": 217, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 260, | |
| "end": 262, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 248, | |
| "end": 257, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 239, | |
| "end": 246, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 235, | |
| "end": 258, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 231, | |
| "end": 263, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 345, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 228, | |
| "end": 347, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 386, | |
| "end": 387, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 456, | |
| "end": 463, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 447, | |
| "end": 453, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 436, | |
| "end": 445, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 432, | |
| "end": 454, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 411, | |
| "end": 464, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 401, | |
| "end": 464, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 401, | |
| "end": 464, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 357, | |
| "end": 474, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 152, | |
| "end": 481, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 487, | |
| "end": 605, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 487, | |
| "end": 605, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 574, | |
| "end": 598, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 592, | |
| "end": 597, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 574, | |
| "end": 598, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 574, | |
| "end": 598, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 574, | |
| "end": 598, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 574, | |
| "end": 598, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 569, | |
| "end": 572, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 562, | |
| "end": 599, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 487, | |
| "end": 605, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 487, | |
| "end": 605, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 487, | |
| "end": 605, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 704, | |
| "end": 708, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 742, | |
| "end": 744, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 731, | |
| "end": 740, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 727, | |
| "end": 745, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 719, | |
| "end": 745, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 719, | |
| "end": 745, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 755, | |
| "end": 826, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 823, | |
| "end": 824, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 812, | |
| "end": 821, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 808, | |
| "end": 825, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 799, | |
| "end": 805, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 755, | |
| "end": 826, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 755, | |
| "end": 826, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 755, | |
| "end": 826, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 755, | |
| "end": 826, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 611, | |
| "end": 833, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 957, | |
| "end": 964, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 986, | |
| "end": 991, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 975, | |
| "end": 991, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 975, | |
| "end": 991, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 920, | |
| "end": 997, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1126, | |
| "end": 1243, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 1126, | |
| "end": 1243, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1235, | |
| "end": 1236, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1233, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1225, | |
| "end": 1237, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1249, | |
| "end": 1371, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 1249, | |
| "end": 1371, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1346, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1340, | |
| "end": 1345, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1346, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1346, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1346, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1322, | |
| "end": 1346, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1315, | |
| "end": 1320, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1312, | |
| "end": 1347, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1302, | |
| "end": 1365, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": 1302, | |
| "end": 1365, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1361, | |
| "end": 1362, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1358, | |
| "end": 1359, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1351, | |
| "end": 1363, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1302, | |
| "end": 1365, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": 1302, | |
| "end": 1365, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1249, | |
| "end": 1371, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1249, | |
| "end": 1371, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "favoriteNumber()": "471f7cdf", | |
| "store(uint256)": "6057361d" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"favoriteNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/SimpleStorage.sol\":{\"keccak256\":\"0x6c34dc49f141bec7709ed4be36c85d07bd2f1f9678334759adda61a52657af4a\",\"urls\":[\"bzz-raw://359801ffb3fdc48d8a88ee5783df445318ceae184d8781d40655f497cf1a44bf\",\"dweb:/ipfs/QmcCSQYo196cfSocdAcRmoNG2RJ69ADLgHcx8RrKtSuANZ\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 4, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "hasFavoriteNumber", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_bool" | |
| }, | |
| { | |
| "astId": 7, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteNumber", | |
| "offset": 0, | |
| "slot": "1", | |
| "type": "t_uint256" | |
| }, | |
| { | |
| "astId": 10, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteNumberInText", | |
| "offset": 0, | |
| "slot": "2", | |
| "type": "t_string_storage" | |
| }, | |
| { | |
| "astId": 14, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "favoriteInt", | |
| "offset": 0, | |
| "slot": "3", | |
| "type": "t_int256" | |
| }, | |
| { | |
| "astId": 17, | |
| "contract": "contracts/SimpleStorage.sol:SimpleStorage", | |
| "label": "myAddress", | |
| "offset": 0, | |
| "slot": "4", | |
| "type": "t_address" | |
| } | |
| ], | |
| "types": { | |
| "t_address": { | |
| "encoding": "inplace", | |
| "label": "address", | |
| "numberOfBytes": "20" | |
| }, | |
| "t_bool": { | |
| "encoding": "inplace", | |
| "label": "bool", | |
| "numberOfBytes": "1" | |
| }, | |
| "t_int256": { | |
| "encoding": "inplace", | |
| "label": "int256", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_string_storage": { | |
| "encoding": "bytes", | |
| "label": "string", | |
| "numberOfBytes": "32" | |
| }, | |
| "t_uint256": { | |
| "encoding": "inplace", | |
| "label": "uint256", | |
| "numberOfBytes": "32" | |
| } | |
| } | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| } | |
| } | |
| }, | |
| "errors": [ | |
| { | |
| "component": "general", | |
| "errorCode": "1878", | |
| "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n", | |
| "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", | |
| "severity": "warning", | |
| "sourceLocation": { | |
| "end": -1, | |
| "file": "contracts/SimpleStorage.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/SimpleStorage.sol", | |
| "exportedSymbols": { | |
| "SimpleStorage": [ | |
| 28 | |
| ] | |
| }, | |
| "id": 29, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.8", | |
| ".7" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "33:23:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 28, | |
| "linearizedBaseContracts": [ | |
| 28 | |
| ], | |
| "name": "SimpleStorage", | |
| "nameLocation": "77:13:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 4, | |
| "mutability": "mutable", | |
| "name": "hasFavoriteNumber", | |
| "nameLocation": "102:17:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "97:29:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 2, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "97:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "74727565", | |
| "id": 3, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "122:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "functionSelector": "471f7cdf", | |
| "id": 7, | |
| "mutability": "mutable", | |
| "name": "favoriteNumber", | |
| "nameLocation": "147:14:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "132:33:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 5, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "132:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "35", | |
| "id": 6, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "164:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_5_by_1", | |
| "typeString": "int_const 5" | |
| }, | |
| "value": "5" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 10, | |
| "mutability": "mutable", | |
| "name": "favoriteNumberInText", | |
| "nameLocation": "178:20:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "171:36:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 8, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "171:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "46495645", | |
| "id": 9, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "201:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_b0c23c71b0d650eb45b4604d186fac0f4956dd678bc17b18a3708867d981acab", | |
| "typeString": "literal_string \"FIVE\"" | |
| }, | |
| "value": "FIVE" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 14, | |
| "mutability": "mutable", | |
| "name": "favoriteInt", | |
| "nameLocation": "220:11:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "213:23:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| }, | |
| "typeName": { | |
| "id": 11, | |
| "name": "int256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "213:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_int256", | |
| "typeString": "int256" | |
| } | |
| }, | |
| "value": { | |
| "id": 13, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "-", | |
| "prefix": true, | |
| "src": "234:2:0", | |
| "subExpression": { | |
| "hexValue": "35", | |
| "id": 12, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "235:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_5_by_1", | |
| "typeString": "int_const 5" | |
| }, | |
| "value": "5" | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_minus_5_by_1", | |
| "typeString": "int_const -5" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 17, | |
| "mutability": "mutable", | |
| "name": "myAddress", | |
| "nameLocation": "250:9:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 28, | |
| "src": "242:62:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 15, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "242:7:0", | |
| "stateMutability": "nonpayable", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": { | |
| "hexValue": "307835353761426546383261393962374630453939393437613145333131314162383634334646323745", | |
| "id": 16, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "262:42:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "value": "0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E" | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 26, | |
| "nodeType": "Block", | |
| "src": "392:49:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "id": 24, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 22, | |
| "name": "favoriteNumber", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 7, | |
| "src": "402:14:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "id": 23, | |
| "name": "_favoriteNumber", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 19, | |
| "src": "419:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "402:32:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 25, | |
| "nodeType": "ExpressionStatement", | |
| "src": "402:32:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "6057361d", | |
| "id": 27, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "store", | |
| "nameLocation": "355:5:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 20, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 19, | |
| "mutability": "mutable", | |
| "name": "_favoriteNumber", | |
| "nameLocation": "369:15:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 27, | |
| "src": "361:23:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 18, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "361:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "360:25:0" | |
| }, | |
| "returnParameters": { | |
| "id": 21, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "392:0:0" | |
| }, | |
| "scope": 28, | |
| "src": "346:95:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 29, | |
| "src": "68:375:0", | |
| "usedErrors": [] | |
| } | |
| ], | |
| "src": "33:471:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "adb92612dd9892467a0e5101f03c35e4", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "content": "// SPDX-License-Identifier : MIT\npragma solidity ^0.8.7; // 0.8.12\n\n" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "errors": [ | |
| { | |
| "component": "general", | |
| "errorCode": "1878", | |
| "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n", | |
| "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", | |
| "severity": "warning", | |
| "sourceLocation": { | |
| "end": -1, | |
| "file": "contracts/SimpleStorage.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/SimpleStorage.sol", | |
| "exportedSymbols": {}, | |
| "id": 2, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.8", | |
| ".7" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "33:23:0" | |
| } | |
| ], | |
| "src": "33:35:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "id": "cd85280ed5c0e3c2f905b644d6e06dfb", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "content": "pragma solidity ^0.8.7; // 0.8.12\n\n" | |
| } | |
| }, | |
| "settings": { | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "outputSelection": { | |
| "*": { | |
| "": [ | |
| "ast" | |
| ], | |
| "*": [ | |
| "abi", | |
| "metadata", | |
| "devdoc", | |
| "userdoc", | |
| "storageLayout", | |
| "evm.legacyAssembly", | |
| "evm.bytecode", | |
| "evm.deployedBytecode", | |
| "evm.methodIdentifiers", | |
| "evm.gasEstimates", | |
| "evm.assembly" | |
| ] | |
| } | |
| } | |
| } | |
| }, | |
| "output": { | |
| "errors": [ | |
| { | |
| "component": "general", | |
| "errorCode": "1878", | |
| "formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> contracts/SimpleStorage.sol\n\n", | |
| "message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.", | |
| "severity": "warning", | |
| "sourceLocation": { | |
| "end": -1, | |
| "file": "contracts/SimpleStorage.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "ast": { | |
| "absolutePath": "contracts/SimpleStorage.sol", | |
| "exportedSymbols": {}, | |
| "id": 2, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.8", | |
| ".7" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "0:23:0" | |
| } | |
| ], | |
| "src": "0:35:0" | |
| }, | |
| "id": 0 | |
| } | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "deploy": { | |
| "VM:-": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "main:1": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "ropsten:3": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "rinkeby:4": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "kovan:42": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "görli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "extract_byte_array_length": { | |
| "entryPoint": 413, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 463, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:516:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "58:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "68:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "82:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "88:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "68:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "99:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "129:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "135:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "125:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "125:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "103:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "176:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "190:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "204:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "212:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "200:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "200:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "190:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "156:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "149:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "149:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "146:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "279:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "293:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "293:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "293:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "243:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "274:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "263:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "263:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "240:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "240:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "237:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "42:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "51:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "361:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "378:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "381:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "371:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "371:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "371:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "475:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "478:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "468:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "468:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "468:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "499:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "502:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "492:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "492:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "492:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "333:180:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "608060405260016000806101000a81548160ff02191690831515021790555060056001556040518060400160405280600481526020017f46495645000000000000000000000000000000000000000000000000000000008152506002908051906020019061006e9291906100fa565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb60035573557abef82a99b7f0e99947a1e3111ab8643ff27e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100f457600080fd5b506101fe565b8280546101069061019d565b90600052602060002090601f016020900481019282610128576000855561016f565b82601f1061014157805160ff191683800117855561016f565b8280016001018555821561016f579182015b8281111561016e578251825591602001919060010190610153565b5b50905061017c9190610180565b5090565b5b80821115610199576000816000905550600101610181565b5090565b600060028204905060018216806101b557607f821691505b602082108114156101c9576101c86101cf565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6101338061020d6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063471f7cdf1460375780636057361d146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60015481565b8060018190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x5 PUSH1 0x1 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4649564500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x6E SWAP3 SWAP2 SWAP1 PUSH2 0xFA JUMP JUMPDEST POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB PUSH1 0x3 SSTORE PUSH20 0x557ABEF82A99B7F0E99947A1E3111AB8643FF27E PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FE JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x106 SWAP1 PUSH2 0x19D JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x128 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x141 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x16F JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x16F JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x16E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x153 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x180 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x199 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x181 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1C9 JUMPI PUSH2 0x1C8 PUSH2 0x1CF JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x133 DUP1 PUSH2 0x20D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x471F7CDF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 CALL 0xE 0x27 0xC5 0xCD DUP4 SWAP10 0xAE SLT PUSH31 0x7AC0233FF65FBCC06DD4B7598A1255C6A70F44FF2964736F6C634300080700 CALLER ", | |
| "sourceMap": "68:375:0:-:0;;;122:4;97:29;;;;;;;;;;;;;;;;;;;;164:1;132:33;;171:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;234:2;213:23;;262:42;242:62;;;;;;;;;;;;;;;;;;;;68:375;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:1:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:81;;212:4;204:6;200:17;190:27;;146:81;274:2;266:6;263:14;243:18;240:38;237:84;;;293:18;;:::i;:::-;237:84;58:269;7:320;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;68:375:0;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@favoriteNumber_7": { | |
| "entryPoint": 105, | |
| "id": 7, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@store_27": { | |
| "entryPoint": 111, | |
| "id": 27, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 121, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 140, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_uint256_to_t_uint256_fromStack": { | |
| "entryPoint": 180, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
| "entryPoint": 193, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 218, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 228, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 233, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:1374:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "59:87:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "69:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "91:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "78:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "78:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "69:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "134:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "107:26:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "107:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "107:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "37:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "45:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "53:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "218:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "264:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "266:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "266:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "239:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "248:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "235:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "235:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "260:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "231:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "231:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "228:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "357:117:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "372:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "386:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "376:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "401:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "436:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "447:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "432:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "432:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "456:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "411:20:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "411:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "188:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "199:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "211:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "152:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "552:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "569:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "592:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "574:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "574:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "562:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "562:37:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "562:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "540:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "547:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "487:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "709:124:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "719:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "731:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "742:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "727:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "727:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "719:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "799:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "812:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "823:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "808:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "808:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "755:43:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "755:71:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "755:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "681:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "693:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "704:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "611:222:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "879:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "889:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "905:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "899:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "899:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "889:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "872:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "839:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "965:32:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "975:16:1", | |
| "value": { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "986:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulIdentifier", | |
| "src": "975:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "947:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nodeType": "YulTypedName", | |
| "src": "957:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "920:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1092:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1109:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1112:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1102:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1102:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1102:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1003:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1215:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1232:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1235:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1225:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1225:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1225:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "1126:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1292:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1349:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1358:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1361:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "1351:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1351:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1351:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1315:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1340:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nodeType": "YulIdentifier", | |
| "src": "1322:17:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1322:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "1312:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1312:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "1305:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1305:43:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1302:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1285:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1249:122:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "6080604052348015600f57600080fd5b506004361060325760003560e01c8063471f7cdf1460375780636057361d146051575b600080fd5b603d6069565b6040516048919060c1565b60405180910390f35b6067600480360381019060639190608c565b606f565b005b60015481565b8060018190555050565b60008135905060868160e9565b92915050565b600060208284031215609f57609e60e4565b5b600060ab848285016079565b91505092915050565b60bb8160da565b82525050565b600060208201905060d4600083018460b4565b92915050565b6000819050919050565b600080fd5b60f08160da565b811460fa57600080fd5b5056fea2646970667358221220e4f10e27c5cd8399ae127e7ac0233ff65fbcc06dd4b7598a1255c6a70f44ff2964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x471F7CDF EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x51 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3D PUSH1 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x48 SWAP2 SWAP1 PUSH1 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x63 SWAP2 SWAP1 PUSH1 0x8C JUMP JUMPDEST PUSH1 0x6F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x86 DUP2 PUSH1 0xE9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x9F JUMPI PUSH1 0x9E PUSH1 0xE4 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH1 0xAB DUP5 DUP3 DUP6 ADD PUSH1 0x79 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBB DUP2 PUSH1 0xDA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD4 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0xF0 DUP2 PUSH1 0xDA JUMP JUMPDEST DUP2 EQ PUSH1 0xFA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE4 CALL 0xE 0x27 0xC5 0xCD DUP4 SWAP10 0xAE SLT PUSH31 0x7AC0233FF65FBCC06DD4B7598A1255C6A70F44FF2964736F6C634300080700 CALLER ", | |
| "sourceMap": "68:375:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;132:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;346:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;132:33;;;;:::o;346:95::-;419:15;402:14;:32;;;;346:95;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:222::-;704:4;742:2;731:9;727:18;719:26;;755:71;823:1;812:9;808:17;799:6;755:71;:::i;:::-;611:222;;;;:::o;920:77::-;957:7;986:5;975:16;;920:77;;;:::o;1126:117::-;1235:1;1232;1225:12;1249:122;1322:24;1340:5;1322:24;:::i;:::-;1315:5;1312:35;1302:63;;1361:1;1358;1351:12;1302:63;1249:122;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "61400", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "favoriteNumber()": "2407", | |
| "store(uint256)": "22520" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "favoriteNumber()": "471f7cdf", | |
| "store(uint256)": "6057361d" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "favoriteNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_favoriteNumber", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "store", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "compiler": { | |
| "version": "0.8.7+commit.e28d00a7" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "name": "favoriteNumber", | |
| "outputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "", | |
| "type": "uint256" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "_favoriteNumber", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "store", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contracts/SimpleStorage.sol": "SimpleStorage" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contracts/SimpleStorage.sol": { | |
| "keccak256": "0x6c34dc49f141bec7709ed4be36c85d07bd2f1f9678334759adda61a52657af4a", | |
| "urls": [ | |
| "bzz-raw://359801ffb3fdc48d8a88ee5783df445318ceae184d8781d40655f497cf1a44bf", | |
| "dweb:/ipfs/QmcCSQYo196cfSocdAcRmoNG2RJ69ADLgHcx8RrKtSuANZ" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier : MIT | |
| pragma solidity ^0.8.7; // 0.8.12 | |
| contract SimpleStorage { | |
| bool hasFavoriteNumber = true; | |
| uint256 public favoriteNumber = 5; | |
| string favoriteNumberInText = "FIVE"; | |
| int256 favoriteInt = -5; | |
| address myAddress = 0x557aBeF82a99b7F0E99947a1E3111Ab8643FF27E; | |
| //byte32 favoriteBytes = "cat" | |
| function store(uint256 _favoriteNumber) public{ | |
| favoriteNumber = _favoriteNumber; | |
| } | |
| } | |
| // deploy address 0xa131AD247055FD2e2aA8b156A11bdEc81b9eAD95 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment