Last active
January 25, 2023 02:38
-
-
Save david-bakin-sl/906338a6a8e0209ff19d433957b6eb4a to your computer and use it in GitHub Desktop.
Hedera HelloHedera tutorial contract - 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
| From tutorial at https://docs.hedera.com/hedera/getting-started/try-examples/deploy-your-first-smart-contract |
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
| { | |
| "overrides": [ | |
| { | |
| "files": "*.sol", | |
| "options": { | |
| "printWidth": 80, | |
| "tabWidth": 4, | |
| "useTabs": false, | |
| "singleQuote": false, | |
| "bracketSpacing": false | |
| } | |
| }, | |
| { | |
| "files": "*.yml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.yaml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.toml", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.json", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.js", | |
| "options": {} | |
| }, | |
| { | |
| "files": "*.ts", | |
| "options": {} | |
| } | |
| ] | |
| } |
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
| REMIX DEFAULT WORKSPACE | |
| Remix default workspace is present when: | |
| i. Remix loads for the very first time | |
| ii. A new workspace is created with 'Default' template | |
| iii. There are no files existing in the File Explorer | |
| This workspace contains 3 directories: | |
| 1. 'contracts': Holds three contracts with increasing levels of complexity. | |
| 2. 'scripts': Contains four typescript files to deploy a contract. It is explained below. | |
| 3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract. | |
| SCRIPTS | |
| The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries. | |
| For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly | |
| in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts` | |
| In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract. | |
| To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
| Output from script will appear in remix terminal. | |
| Please note, require/import is supported in a limited manner for Remix supported modules. | |
| For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin. | |
| For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown. |
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": "067c8810d9a76c811599a6c166dfa033", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.7", | |
| "solcLongVersion": "0.8.7+commit.e28d00a7", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "HelloHedera.sol": { | |
| "content": "pragma solidity >=0.7.0 <0.8.9;\n\ncontract HelloHedera {\n // the contract's owner, set in the constructor\n address owner;\n\n // the message we're storing\n string message;\n\n constructor(string memory message_) {\n // set the owner of the contract for `kill()`\n owner = msg.sender;\n message = message_;\n }\n\n function set_message(string memory message_) public {\n // only allow the owner to update the message\n if (msg.sender != owner) return;\n message = message_;\n }\n\n // return a string\n function get_message() public view returns (string memory) {\n return message;\n }\n\n // recover the funds of the contract\n function kill() public { if (msg.sender == owner) selfdestruct(payable(msg.sender)); }\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": { | |
| "HelloHedera.sol": { | |
| "HelloHedera": { | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "get_message", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "kill", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "name": "set_message", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"HelloHedera.sol\":33:781 contract HelloHedera {... */\n mstore(0x40, 0x80)\n /* \"HelloHedera.sol\":186:339 constructor(string memory message_) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"HelloHedera.sol\":294:304 msg.sender */\n caller\n /* \"HelloHedera.sol\":286:291 owner */\n 0x00\n dup1\n /* \"HelloHedera.sol\":286:304 owner = msg.sender */\n 0x0100\n exp\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 /* \"HelloHedera.sol\":324:332 message_ */\n dup1\n /* \"HelloHedera.sol\":314:321 message */\n 0x01\n /* \"HelloHedera.sol\":314:332 message = message_ */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_6\n swap3\n swap2\n swap1\n tag_7\n jump\t// in\ntag_6:\n pop\n /* \"HelloHedera.sol\":186:339 constructor(string memory message_) {... */\n pop\n /* \"HelloHedera.sol\":33:781 contract HelloHedera {... */\n jump(tag_8)\ntag_7:\n dup3\n dup1\n sload\n tag_9\n swap1\n tag_10\n jump\t// in\ntag_9:\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_12\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_11)\ntag_12:\n dup3\n 0x1f\n lt\n tag_13\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_11)\ntag_13:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_11\n jumpi\n swap2\n dup3\n add\ntag_14:\n dup3\n dup2\n gt\n iszero\n tag_15\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_14)\ntag_15:\ntag_11:\n pop\n swap1\n pop\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\ntag_16:\n pop\n swap1\n jump\t// out\ntag_17:\ntag_18:\n dup1\n dup3\n gt\n iszero\n tag_19\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_18)\ntag_19:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:428 */\ntag_21:\n /* \"#utility.yul\":96:101 */\n 0x00\n /* \"#utility.yul\":121:187 */\n tag_23\n /* \"#utility.yul\":137:186 */\n tag_24\n /* \"#utility.yul\":179:185 */\n dup5\n /* \"#utility.yul\":137:186 */\n tag_25\n jump\t// in\ntag_24:\n /* \"#utility.yul\":121:187 */\n tag_26\n jump\t// in\ntag_23:\n /* \"#utility.yul\":112:187 */\n swap1\n pop\n /* \"#utility.yul\":210:216 */\n dup3\n /* \"#utility.yul\":203:208 */\n dup2\n /* \"#utility.yul\":196:217 */\n mstore\n /* \"#utility.yul\":248:252 */\n 0x20\n /* \"#utility.yul\":241:246 */\n dup2\n /* \"#utility.yul\":237:253 */\n add\n /* \"#utility.yul\":286:289 */\n dup5\n /* \"#utility.yul\":277:283 */\n dup5\n /* \"#utility.yul\":272:275 */\n dup5\n /* \"#utility.yul\":268:284 */\n add\n /* \"#utility.yul\":265:290 */\n gt\n /* \"#utility.yul\":262:374 */\n iszero\n tag_27\n jumpi\n /* \"#utility.yul\":293:372 */\n tag_28\n tag_29\n jump\t// in\ntag_28:\n /* \"#utility.yul\":262:374 */\ntag_27:\n /* \"#utility.yul\":383:422 */\n tag_30\n /* \"#utility.yul\":415:421 */\n dup5\n /* \"#utility.yul\":410:413 */\n dup3\n /* \"#utility.yul\":405:408 */\n dup6\n /* \"#utility.yul\":383:422 */\n tag_31\n jump\t// in\ntag_30:\n /* \"#utility.yul\":102:428 */\n pop\n /* \"#utility.yul\":7:428 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":448:803 */\ntag_32:\n /* \"#utility.yul\":515:520 */\n 0x00\n /* \"#utility.yul\":564:567 */\n dup3\n /* \"#utility.yul\":557:561 */\n 0x1f\n /* \"#utility.yul\":549:555 */\n dup4\n /* \"#utility.yul\":545:562 */\n add\n /* \"#utility.yul\":541:568 */\n slt\n /* \"#utility.yul\":531:653 */\n tag_34\n jumpi\n /* \"#utility.yul\":572:651 */\n tag_35\n tag_36\n jump\t// in\ntag_35:\n /* \"#utility.yul\":531:653 */\ntag_34:\n /* \"#utility.yul\":682:688 */\n dup2\n /* \"#utility.yul\":676:689 */\n mload\n /* \"#utility.yul\":707:797 */\n tag_37\n /* \"#utility.yul\":793:796 */\n dup5\n /* \"#utility.yul\":785:791 */\n dup3\n /* \"#utility.yul\":778:782 */\n 0x20\n /* \"#utility.yul\":770:776 */\n dup7\n /* \"#utility.yul\":766:783 */\n add\n /* \"#utility.yul\":707:797 */\n tag_21\n jump\t// in\ntag_37:\n /* \"#utility.yul\":698:797 */\n swap2\n pop\n /* \"#utility.yul\":521:803 */\n pop\n /* \"#utility.yul\":448:803 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":809:1333 */\ntag_3:\n /* \"#utility.yul\":889:895 */\n 0x00\n /* \"#utility.yul\":938:940 */\n 0x20\n /* \"#utility.yul\":926:935 */\n dup3\n /* \"#utility.yul\":917:924 */\n dup5\n /* \"#utility.yul\":913:936 */\n sub\n /* \"#utility.yul\":909:941 */\n slt\n /* \"#utility.yul\":906:1025 */\n iszero\n tag_39\n jumpi\n /* \"#utility.yul\":944:1023 */\n tag_40\n tag_41\n jump\t// in\ntag_40:\n /* \"#utility.yul\":906:1025 */\ntag_39:\n /* \"#utility.yul\":1085:1086 */\n 0x00\n /* \"#utility.yul\":1074:1083 */\n dup3\n /* \"#utility.yul\":1070:1087 */\n add\n /* \"#utility.yul\":1064:1088 */\n mload\n /* \"#utility.yul\":1115:1133 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1107:1113 */\n dup2\n /* \"#utility.yul\":1104:1134 */\n gt\n /* \"#utility.yul\":1101:1218 */\n iszero\n tag_42\n jumpi\n /* \"#utility.yul\":1137:1216 */\n tag_43\n tag_44\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1101:1218 */\ntag_42:\n /* \"#utility.yul\":1242:1316 */\n tag_45\n /* \"#utility.yul\":1308:1315 */\n dup5\n /* \"#utility.yul\":1299:1305 */\n dup3\n /* \"#utility.yul\":1288:1297 */\n dup6\n /* \"#utility.yul\":1284:1306 */\n add\n /* \"#utility.yul\":1242:1316 */\n tag_32\n jump\t// in\ntag_45:\n /* \"#utility.yul\":1232:1316 */\n swap2\n pop\n /* \"#utility.yul\":1035:1326 */\n pop\n /* \"#utility.yul\":809:1333 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1339:1468 */\ntag_26:\n /* \"#utility.yul\":1373:1379 */\n 0x00\n /* \"#utility.yul\":1400:1420 */\n tag_47\n tag_48\n jump\t// in\ntag_47:\n /* \"#utility.yul\":1390:1420 */\n swap1\n pop\n /* \"#utility.yul\":1429:1462 */\n tag_49\n /* \"#utility.yul\":1457:1461 */\n dup3\n /* \"#utility.yul\":1449:1455 */\n dup3\n /* \"#utility.yul\":1429:1462 */\n tag_50\n jump\t// in\ntag_49:\n /* \"#utility.yul\":1339:1468 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1474:1549 */\ntag_48:\n /* \"#utility.yul\":1507:1513 */\n 0x00\n /* \"#utility.yul\":1540:1542 */\n 0x40\n /* \"#utility.yul\":1534:1543 */\n mload\n /* \"#utility.yul\":1524:1543 */\n swap1\n pop\n /* \"#utility.yul\":1474:1549 */\n swap1\n jump\t// out\n /* \"#utility.yul\":1555:1863 */\ntag_25:\n /* \"#utility.yul\":1617:1621 */\n 0x00\n /* \"#utility.yul\":1707:1725 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1699:1705 */\n dup3\n /* \"#utility.yul\":1696:1726 */\n gt\n /* \"#utility.yul\":1693:1749 */\n iszero\n tag_53\n jumpi\n /* \"#utility.yul\":1729:1747 */\n tag_54\n tag_55\n jump\t// in\ntag_54:\n /* \"#utility.yul\":1693:1749 */\ntag_53:\n /* \"#utility.yul\":1767:1796 */\n tag_56\n /* \"#utility.yul\":1789:1795 */\n dup3\n /* \"#utility.yul\":1767:1796 */\n tag_57\n jump\t// in\ntag_56:\n /* \"#utility.yul\":1759:1796 */\n swap1\n pop\n /* \"#utility.yul\":1851:1855 */\n 0x20\n /* \"#utility.yul\":1845:1849 */\n dup2\n /* \"#utility.yul\":1841:1856 */\n add\n /* \"#utility.yul\":1833:1856 */\n swap1\n pop\n /* \"#utility.yul\":1555:1863 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1869:2176 */\ntag_31:\n /* \"#utility.yul\":1937:1938 */\n 0x00\n /* \"#utility.yul\":1947:2060 */\ntag_59:\n /* \"#utility.yul\":1961:1967 */\n dup4\n /* \"#utility.yul\":1958:1959 */\n dup2\n /* \"#utility.yul\":1955:1968 */\n lt\n /* \"#utility.yul\":1947:2060 */\n iszero\n tag_61\n jumpi\n /* \"#utility.yul\":2046:2047 */\n dup1\n /* \"#utility.yul\":2041:2044 */\n dup3\n /* \"#utility.yul\":2037:2048 */\n add\n /* \"#utility.yul\":2031:2049 */\n mload\n /* \"#utility.yul\":2027:2028 */\n dup2\n /* \"#utility.yul\":2022:2025 */\n dup5\n /* \"#utility.yul\":2018:2029 */\n add\n /* \"#utility.yul\":2011:2050 */\n mstore\n /* \"#utility.yul\":1983:1985 */\n 0x20\n /* \"#utility.yul\":1980:1981 */\n dup2\n /* \"#utility.yul\":1976:1986 */\n add\n /* \"#utility.yul\":1971:1986 */\n swap1\n pop\n /* \"#utility.yul\":1947:2060 */\n jump(tag_59)\ntag_61:\n /* \"#utility.yul\":2078:2084 */\n dup4\n /* \"#utility.yul\":2075:2076 */\n dup2\n /* \"#utility.yul\":2072:2085 */\n gt\n /* \"#utility.yul\":2069:2170 */\n iszero\n tag_62\n jumpi\n /* \"#utility.yul\":2158:2159 */\n 0x00\n /* \"#utility.yul\":2149:2155 */\n dup5\n /* \"#utility.yul\":2144:2147 */\n dup5\n /* \"#utility.yul\":2140:2156 */\n add\n /* \"#utility.yul\":2133:2160 */\n mstore\n /* \"#utility.yul\":2069:2170 */\ntag_62:\n /* \"#utility.yul\":1918:2176 */\n pop\n /* \"#utility.yul\":1869:2176 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2182:2502 */\ntag_10:\n /* \"#utility.yul\":2226:2232 */\n 0x00\n /* \"#utility.yul\":2263:2264 */\n 0x02\n /* \"#utility.yul\":2257:2261 */\n dup3\n /* \"#utility.yul\":2253:2265 */\n div\n /* \"#utility.yul\":2243:2265 */\n swap1\n pop\n /* \"#utility.yul\":2310:2311 */\n 0x01\n /* \"#utility.yul\":2304:2308 */\n dup3\n /* \"#utility.yul\":2300:2312 */\n and\n /* \"#utility.yul\":2331:2349 */\n dup1\n /* \"#utility.yul\":2321:2402 */\n tag_64\n jumpi\n /* \"#utility.yul\":2387:2391 */\n 0x7f\n /* \"#utility.yul\":2379:2385 */\n dup3\n /* \"#utility.yul\":2375:2392 */\n and\n /* \"#utility.yul\":2365:2392 */\n swap2\n pop\n /* \"#utility.yul\":2321:2402 */\ntag_64:\n /* \"#utility.yul\":2449:2451 */\n 0x20\n /* \"#utility.yul\":2441:2447 */\n dup3\n /* \"#utility.yul\":2438:2452 */\n lt\n /* \"#utility.yul\":2418:2436 */\n dup2\n /* \"#utility.yul\":2415:2453 */\n eq\n /* \"#utility.yul\":2412:2496 */\n iszero\n tag_65\n jumpi\n /* \"#utility.yul\":2468:2486 */\n tag_66\n tag_67\n jump\t// in\ntag_66:\n /* \"#utility.yul\":2412:2496 */\ntag_65:\n /* \"#utility.yul\":2233:2502 */\n pop\n /* \"#utility.yul\":2182:2502 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2508:2789 */\ntag_50:\n /* \"#utility.yul\":2591:2618 */\n tag_69\n /* \"#utility.yul\":2613:2617 */\n dup3\n /* \"#utility.yul\":2591:2618 */\n tag_57\n jump\t// in\ntag_69:\n /* \"#utility.yul\":2583:2589 */\n dup2\n /* \"#utility.yul\":2579:2619 */\n add\n /* \"#utility.yul\":2721:2727 */\n dup2\n /* \"#utility.yul\":2709:2719 */\n dup2\n /* \"#utility.yul\":2706:2728 */\n lt\n /* \"#utility.yul\":2685:2703 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2673:2683 */\n dup3\n /* \"#utility.yul\":2670:2704 */\n gt\n /* \"#utility.yul\":2667:2729 */\n or\n /* \"#utility.yul\":2664:2752 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":2732:2750 */\n tag_71\n tag_55\n jump\t// in\ntag_71:\n /* \"#utility.yul\":2664:2752 */\ntag_70:\n /* \"#utility.yul\":2772:2782 */\n dup1\n /* \"#utility.yul\":2768:2770 */\n 0x40\n /* \"#utility.yul\":2761:2783 */\n mstore\n /* \"#utility.yul\":2551:2789 */\n pop\n /* \"#utility.yul\":2508:2789 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2795:2975 */\ntag_67:\n /* \"#utility.yul\":2843:2920 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2840:2841 */\n 0x00\n /* \"#utility.yul\":2833:2921 */\n mstore\n /* \"#utility.yul\":2940:2944 */\n 0x22\n /* \"#utility.yul\":2937:2938 */\n 0x04\n /* \"#utility.yul\":2930:2945 */\n mstore\n /* \"#utility.yul\":2964:2968 */\n 0x24\n /* \"#utility.yul\":2961:2962 */\n 0x00\n /* \"#utility.yul\":2954:2969 */\n revert\n /* \"#utility.yul\":2981:3161 */\ntag_55:\n /* \"#utility.yul\":3029:3106 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3026:3027 */\n 0x00\n /* \"#utility.yul\":3019:3107 */\n mstore\n /* \"#utility.yul\":3126:3130 */\n 0x41\n /* \"#utility.yul\":3123:3124 */\n 0x04\n /* \"#utility.yul\":3116:3131 */\n mstore\n /* \"#utility.yul\":3150:3154 */\n 0x24\n /* \"#utility.yul\":3147:3148 */\n 0x00\n /* \"#utility.yul\":3140:3155 */\n revert\n /* \"#utility.yul\":3167:3284 */\ntag_36:\n /* \"#utility.yul\":3276:3277 */\n 0x00\n /* \"#utility.yul\":3273:3274 */\n dup1\n /* \"#utility.yul\":3266:3278 */\n revert\n /* \"#utility.yul\":3290:3407 */\ntag_29:\n /* \"#utility.yul\":3399:3400 */\n 0x00\n /* \"#utility.yul\":3396:3397 */\n dup1\n /* \"#utility.yul\":3389:3401 */\n revert\n /* \"#utility.yul\":3413:3530 */\ntag_44:\n /* \"#utility.yul\":3522:3523 */\n 0x00\n /* \"#utility.yul\":3519:3520 */\n dup1\n /* \"#utility.yul\":3512:3524 */\n revert\n /* \"#utility.yul\":3536:3653 */\ntag_41:\n /* \"#utility.yul\":3645:3646 */\n 0x00\n /* \"#utility.yul\":3642:3643 */\n dup1\n /* \"#utility.yul\":3635:3647 */\n revert\n /* \"#utility.yul\":3659:3761 */\ntag_57:\n /* \"#utility.yul\":3700:3706 */\n 0x00\n /* \"#utility.yul\":3751:3753 */\n 0x1f\n /* \"#utility.yul\":3747:3754 */\n not\n /* \"#utility.yul\":3742:3744 */\n 0x1f\n /* \"#utility.yul\":3735:3740 */\n dup4\n /* \"#utility.yul\":3731:3745 */\n add\n /* \"#utility.yul\":3727:3755 */\n and\n /* \"#utility.yul\":3717:3755 */\n swap1\n pop\n /* \"#utility.yul\":3659:3761 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"HelloHedera.sol\":33:781 contract HelloHedera {... */\ntag_8:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"HelloHedera.sol\":33:781 contract HelloHedera {... */\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 0x2e982602\n eq\n tag_3\n jumpi\n dup1\n 0x32af2edb\n eq\n tag_4\n jumpi\n dup1\n 0x41c0e1b5\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"HelloHedera.sol\":345:527 function set_message(string memory message_) public {... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"HelloHedera.sol\":556:646 function get_message() public view returns (string memory) {... */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"HelloHedera.sol\":693:779 function kill() public { if (msg.sender == owner) selfdestruct(payable(msg.sender)); } */\n tag_5:\n tag_14\n tag_15\n jump\t// in\n tag_14:\n stop\n /* \"HelloHedera.sol\":345:527 function set_message(string memory message_) public {... */\n tag_9:\n /* \"HelloHedera.sol\":479:484 owner */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"HelloHedera.sol\":465:484 msg.sender != owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"HelloHedera.sol\":465:475 msg.sender */\n caller\n /* \"HelloHedera.sol\":465:484 msg.sender != owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"HelloHedera.sol\":461:493 if (msg.sender != owner) return; */\n tag_17\n jumpi\n /* \"HelloHedera.sol\":486:493 return; */\n jump(tag_16)\n /* \"HelloHedera.sol\":461:493 if (msg.sender != owner) return; */\n tag_17:\n /* \"HelloHedera.sol\":512:520 message_ */\n dup1\n /* \"HelloHedera.sol\":502:509 message */\n 0x01\n /* \"HelloHedera.sol\":502:520 message = message_ */\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_18\n swap3\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n pop\n /* \"HelloHedera.sol\":345:527 function set_message(string memory message_) public {... */\n tag_16:\n pop\n jump\t// out\n /* \"HelloHedera.sol\":556:646 function get_message() public view returns (string memory) {... */\n tag_11:\n /* \"HelloHedera.sol\":600:613 string memory */\n 0x60\n /* \"HelloHedera.sol\":632:639 message */\n 0x01\n /* \"HelloHedera.sol\":625:639 return message */\n dup1\n sload\n tag_21\n swap1\n tag_22\n jump\t// in\n tag_21:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_23\n swap1\n tag_22\n jump\t// in\n tag_23:\n dup1\n iszero\n tag_24\n jumpi\n dup1\n 0x1f\n lt\n tag_25\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_24)\n tag_25:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_26:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_26\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_24:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"HelloHedera.sol\":556:646 function get_message() public view returns (string memory) {... */\n swap1\n jump\t// out\n /* \"HelloHedera.sol\":693:779 function kill() public { if (msg.sender == owner) selfdestruct(payable(msg.sender)); } */\n tag_15:\n /* \"HelloHedera.sol\":736:741 owner */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"HelloHedera.sol\":722:741 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"HelloHedera.sol\":722:732 msg.sender */\n caller\n /* \"HelloHedera.sol\":722:741 msg.sender == owner */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"HelloHedera.sol\":718:776 if (msg.sender == owner) selfdestruct(payable(msg.sender)) */\n iszero\n tag_28\n jumpi\n /* \"HelloHedera.sol\":764:774 msg.sender */\n caller\n /* \"HelloHedera.sol\":743:776 selfdestruct(payable(msg.sender)) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n selfdestruct\n /* \"HelloHedera.sol\":718:776 if (msg.sender == owner) selfdestruct(payable(msg.sender)) */\n tag_28:\n /* \"HelloHedera.sol\":693:779 function kill() public { if (msg.sender == owner) selfdestruct(payable(msg.sender)); } */\n jump\t// out\n tag_19:\n dup3\n dup1\n sload\n tag_29\n swap1\n tag_22\n jump\t// in\n tag_29:\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_31\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_30)\n tag_31:\n dup3\n 0x1f\n lt\n tag_32\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_30)\n tag_32:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_30\n jumpi\n swap2\n dup3\n add\n tag_33:\n dup3\n dup2\n gt\n iszero\n tag_34\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_33)\n tag_34:\n tag_30:\n pop\n swap1\n pop\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n pop\n swap1\n jump\t// out\n tag_36:\n tag_37:\n dup1\n dup3\n gt\n iszero\n tag_38\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_37)\n tag_38:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:419 */\n tag_40:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_42\n /* \"#utility.yul\":126:175 */\n tag_43\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_44\n jump\t// in\n tag_43:\n /* \"#utility.yul\":110:176 */\n tag_45\n jump\t// in\n tag_42:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:363 */\n iszero\n tag_46\n jumpi\n /* \"#utility.yul\":282:361 */\n tag_47\n tag_48\n jump\t// in\n tag_47:\n /* \"#utility.yul\":251:363 */\n tag_46:\n /* \"#utility.yul\":372:413 */\n tag_49\n /* \"#utility.yul\":406:412 */\n dup5\n /* \"#utility.yul\":401:404 */\n dup3\n /* \"#utility.yul\":396:399 */\n dup6\n /* \"#utility.yul\":372:413 */\n tag_50\n jump\t// in\n tag_49:\n /* \"#utility.yul\":91:419 */\n pop\n /* \"#utility.yul\":7:419 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":439:779 */\n tag_51:\n /* \"#utility.yul\":495:500 */\n 0x00\n /* \"#utility.yul\":544:547 */\n dup3\n /* \"#utility.yul\":537:541 */\n 0x1f\n /* \"#utility.yul\":529:535 */\n dup4\n /* \"#utility.yul\":525:542 */\n add\n /* \"#utility.yul\":521:548 */\n slt\n /* \"#utility.yul\":511:633 */\n tag_53\n jumpi\n /* \"#utility.yul\":552:631 */\n tag_54\n tag_55\n jump\t// in\n tag_54:\n /* \"#utility.yul\":511:633 */\n tag_53:\n /* \"#utility.yul\":669:675 */\n dup2\n /* \"#utility.yul\":656:676 */\n calldataload\n /* \"#utility.yul\":694:773 */\n tag_56\n /* \"#utility.yul\":769:772 */\n dup5\n /* \"#utility.yul\":761:767 */\n dup3\n /* \"#utility.yul\":754:758 */\n 0x20\n /* \"#utility.yul\":746:752 */\n dup7\n /* \"#utility.yul\":742:759 */\n add\n /* \"#utility.yul\":694:773 */\n tag_40\n jump\t// in\n tag_56:\n /* \"#utility.yul\":685:773 */\n swap2\n pop\n /* \"#utility.yul\":501:779 */\n pop\n /* \"#utility.yul\":439:779 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":785:1294 */\n tag_8:\n /* \"#utility.yul\":854:860 */\n 0x00\n /* \"#utility.yul\":903:905 */\n 0x20\n /* \"#utility.yul\":891:900 */\n dup3\n /* \"#utility.yul\":882:889 */\n dup5\n /* \"#utility.yul\":878:901 */\n sub\n /* \"#utility.yul\":874:906 */\n slt\n /* \"#utility.yul\":871:990 */\n iszero\n tag_58\n jumpi\n /* \"#utility.yul\":909:988 */\n tag_59\n tag_60\n jump\t// in\n tag_59:\n /* \"#utility.yul\":871:990 */\n tag_58:\n /* \"#utility.yul\":1057:1058 */\n 0x00\n /* \"#utility.yul\":1046:1055 */\n dup3\n /* \"#utility.yul\":1042:1059 */\n add\n /* \"#utility.yul\":1029:1060 */\n calldataload\n /* \"#utility.yul\":1087:1105 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1079:1085 */\n dup2\n /* \"#utility.yul\":1076:1106 */\n gt\n /* \"#utility.yul\":1073:1190 */\n iszero\n tag_61\n jumpi\n /* \"#utility.yul\":1109:1188 */\n tag_62\n tag_63\n jump\t// in\n tag_62:\n /* \"#utility.yul\":1073:1190 */\n tag_61:\n /* \"#utility.yul\":1214:1277 */\n tag_64\n /* \"#utility.yul\":1269:1276 */\n dup5\n /* \"#utility.yul\":1260:1266 */\n dup3\n /* \"#utility.yul\":1249:1258 */\n dup6\n /* \"#utility.yul\":1245:1267 */\n add\n /* \"#utility.yul\":1214:1277 */\n tag_51\n jump\t// in\n tag_64:\n /* \"#utility.yul\":1204:1277 */\n swap2\n pop\n /* \"#utility.yul\":1000:1287 */\n pop\n /* \"#utility.yul\":785:1294 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1300:1664 */\n tag_65:\n /* \"#utility.yul\":1388:1391 */\n 0x00\n /* \"#utility.yul\":1416:1455 */\n tag_67\n /* \"#utility.yul\":1449:1454 */\n dup3\n /* \"#utility.yul\":1416:1455 */\n tag_68\n jump\t// in\n tag_67:\n /* \"#utility.yul\":1471:1542 */\n tag_69\n /* \"#utility.yul\":1535:1541 */\n dup2\n /* \"#utility.yul\":1530:1533 */\n dup6\n /* \"#utility.yul\":1471:1542 */\n tag_70\n jump\t// in\n tag_69:\n /* \"#utility.yul\":1464:1542 */\n swap4\n pop\n /* \"#utility.yul\":1551:1603 */\n tag_71\n /* \"#utility.yul\":1596:1602 */\n dup2\n /* \"#utility.yul\":1591:1594 */\n dup6\n /* \"#utility.yul\":1584:1588 */\n 0x20\n /* \"#utility.yul\":1577:1582 */\n dup7\n /* \"#utility.yul\":1573:1589 */\n add\n /* \"#utility.yul\":1551:1603 */\n tag_72\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1628:1657 */\n tag_73\n /* \"#utility.yul\":1650:1656 */\n dup2\n /* \"#utility.yul\":1628:1657 */\n tag_74\n jump\t// in\n tag_73:\n /* \"#utility.yul\":1623:1626 */\n dup5\n /* \"#utility.yul\":1619:1658 */\n add\n /* \"#utility.yul\":1612:1658 */\n swap2\n pop\n /* \"#utility.yul\":1392:1664 */\n pop\n /* \"#utility.yul\":1300:1664 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1670:1983 */\n tag_13:\n /* \"#utility.yul\":1783:1787 */\n 0x00\n /* \"#utility.yul\":1821:1823 */\n 0x20\n /* \"#utility.yul\":1810:1819 */\n dup3\n /* \"#utility.yul\":1806:1824 */\n add\n /* \"#utility.yul\":1798:1824 */\n swap1\n pop\n /* \"#utility.yul\":1870:1879 */\n dup2\n /* \"#utility.yul\":1864:1868 */\n dup2\n /* \"#utility.yul\":1860:1880 */\n sub\n /* \"#utility.yul\":1856:1857 */\n 0x00\n /* \"#utility.yul\":1845:1854 */\n dup4\n /* \"#utility.yul\":1841:1858 */\n add\n /* \"#utility.yul\":1834:1881 */\n mstore\n /* \"#utility.yul\":1898:1976 */\n tag_76\n /* \"#utility.yul\":1971:1975 */\n dup2\n /* \"#utility.yul\":1962:1968 */\n dup5\n /* \"#utility.yul\":1898:1976 */\n tag_65\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1890:1976 */\n swap1\n pop\n /* \"#utility.yul\":1670:1983 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1989:2118 */\n tag_45:\n /* \"#utility.yul\":2023:2029 */\n 0x00\n /* \"#utility.yul\":2050:2070 */\n tag_78\n tag_79\n jump\t// in\n tag_78:\n /* \"#utility.yul\":2040:2070 */\n swap1\n pop\n /* \"#utility.yul\":2079:2112 */\n tag_80\n /* \"#utility.yul\":2107:2111 */\n dup3\n /* \"#utility.yul\":2099:2105 */\n dup3\n /* \"#utility.yul\":2079:2112 */\n tag_81\n jump\t// in\n tag_80:\n /* \"#utility.yul\":1989:2118 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2124:2199 */\n tag_79:\n /* \"#utility.yul\":2157:2163 */\n 0x00\n /* \"#utility.yul\":2190:2192 */\n 0x40\n /* \"#utility.yul\":2184:2193 */\n mload\n /* \"#utility.yul\":2174:2193 */\n swap1\n pop\n /* \"#utility.yul\":2124:2199 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2205:2513 */\n tag_44:\n /* \"#utility.yul\":2267:2271 */\n 0x00\n /* \"#utility.yul\":2357:2375 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2349:2355 */\n dup3\n /* \"#utility.yul\":2346:2376 */\n gt\n /* \"#utility.yul\":2343:2399 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":2379:2397 */\n tag_85\n tag_86\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2343:2399 */\n tag_84:\n /* \"#utility.yul\":2417:2446 */\n tag_87\n /* \"#utility.yul\":2439:2445 */\n dup3\n /* \"#utility.yul\":2417:2446 */\n tag_74\n jump\t// in\n tag_87:\n /* \"#utility.yul\":2409:2446 */\n swap1\n pop\n /* \"#utility.yul\":2501:2505 */\n 0x20\n /* \"#utility.yul\":2495:2499 */\n dup2\n /* \"#utility.yul\":2491:2506 */\n add\n /* \"#utility.yul\":2483:2506 */\n swap1\n pop\n /* \"#utility.yul\":2205:2513 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2519:2618 */\n tag_68:\n /* \"#utility.yul\":2571:2577 */\n 0x00\n /* \"#utility.yul\":2605:2610 */\n dup2\n /* \"#utility.yul\":2599:2611 */\n mload\n /* \"#utility.yul\":2589:2611 */\n swap1\n pop\n /* \"#utility.yul\":2519:2618 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2624:2793 */\n tag_70:\n /* \"#utility.yul\":2708:2719 */\n 0x00\n /* \"#utility.yul\":2742:2748 */\n dup3\n /* \"#utility.yul\":2737:2740 */\n dup3\n /* \"#utility.yul\":2730:2749 */\n mstore\n /* \"#utility.yul\":2782:2786 */\n 0x20\n /* \"#utility.yul\":2777:2780 */\n dup3\n /* \"#utility.yul\":2773:2787 */\n add\n /* \"#utility.yul\":2758:2787 */\n swap1\n pop\n /* \"#utility.yul\":2624:2793 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2799:2953 */\n tag_50:\n /* \"#utility.yul\":2883:2889 */\n dup3\n /* \"#utility.yul\":2878:2881 */\n dup2\n /* \"#utility.yul\":2873:2876 */\n dup4\n /* \"#utility.yul\":2860:2890 */\n calldatacopy\n /* \"#utility.yul\":2945:2946 */\n 0x00\n /* \"#utility.yul\":2936:2942 */\n dup4\n /* \"#utility.yul\":2931:2934 */\n dup4\n /* \"#utility.yul\":2927:2943 */\n add\n /* \"#utility.yul\":2920:2947 */\n mstore\n /* \"#utility.yul\":2799:2953 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2959:3266 */\n tag_72:\n /* \"#utility.yul\":3027:3028 */\n 0x00\n /* \"#utility.yul\":3037:3150 */\n tag_92:\n /* \"#utility.yul\":3051:3057 */\n dup4\n /* \"#utility.yul\":3048:3049 */\n dup2\n /* \"#utility.yul\":3045:3058 */\n lt\n /* \"#utility.yul\":3037:3150 */\n iszero\n tag_94\n jumpi\n /* \"#utility.yul\":3136:3137 */\n dup1\n /* \"#utility.yul\":3131:3134 */\n dup3\n /* \"#utility.yul\":3127:3138 */\n add\n /* \"#utility.yul\":3121:3139 */\n mload\n /* \"#utility.yul\":3117:3118 */\n dup2\n /* \"#utility.yul\":3112:3115 */\n dup5\n /* \"#utility.yul\":3108:3119 */\n add\n /* \"#utility.yul\":3101:3140 */\n mstore\n /* \"#utility.yul\":3073:3075 */\n 0x20\n /* \"#utility.yul\":3070:3071 */\n dup2\n /* \"#utility.yul\":3066:3076 */\n add\n /* \"#utility.yul\":3061:3076 */\n swap1\n pop\n /* \"#utility.yul\":3037:3150 */\n jump(tag_92)\n tag_94:\n /* \"#utility.yul\":3168:3174 */\n dup4\n /* \"#utility.yul\":3165:3166 */\n dup2\n /* \"#utility.yul\":3162:3175 */\n gt\n /* \"#utility.yul\":3159:3260 */\n iszero\n tag_95\n jumpi\n /* \"#utility.yul\":3248:3249 */\n 0x00\n /* \"#utility.yul\":3239:3245 */\n dup5\n /* \"#utility.yul\":3234:3237 */\n dup5\n /* \"#utility.yul\":3230:3246 */\n add\n /* \"#utility.yul\":3223:3250 */\n mstore\n /* \"#utility.yul\":3159:3260 */\n tag_95:\n /* \"#utility.yul\":3008:3266 */\n pop\n /* \"#utility.yul\":2959:3266 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3272:3592 */\n tag_22:\n /* \"#utility.yul\":3316:3322 */\n 0x00\n /* \"#utility.yul\":3353:3354 */\n 0x02\n /* \"#utility.yul\":3347:3351 */\n dup3\n /* \"#utility.yul\":3343:3355 */\n div\n /* \"#utility.yul\":3333:3355 */\n swap1\n pop\n /* \"#utility.yul\":3400:3401 */\n 0x01\n /* \"#utility.yul\":3394:3398 */\n dup3\n /* \"#utility.yul\":3390:3402 */\n and\n /* \"#utility.yul\":3421:3439 */\n dup1\n /* \"#utility.yul\":3411:3492 */\n tag_97\n jumpi\n /* \"#utility.yul\":3477:3481 */\n 0x7f\n /* \"#utility.yul\":3469:3475 */\n dup3\n /* \"#utility.yul\":3465:3482 */\n and\n /* \"#utility.yul\":3455:3482 */\n swap2\n pop\n /* \"#utility.yul\":3411:3492 */\n tag_97:\n /* \"#utility.yul\":3539:3541 */\n 0x20\n /* \"#utility.yul\":3531:3537 */\n dup3\n /* \"#utility.yul\":3528:3542 */\n lt\n /* \"#utility.yul\":3508:3526 */\n dup2\n /* \"#utility.yul\":3505:3543 */\n eq\n /* \"#utility.yul\":3502:3586 */\n iszero\n tag_98\n jumpi\n /* \"#utility.yul\":3558:3576 */\n tag_99\n tag_100\n jump\t// in\n tag_99:\n /* \"#utility.yul\":3502:3586 */\n tag_98:\n /* \"#utility.yul\":3323:3592 */\n pop\n /* \"#utility.yul\":3272:3592 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3598:3879 */\n tag_81:\n /* \"#utility.yul\":3681:3708 */\n tag_102\n /* \"#utility.yul\":3703:3707 */\n dup3\n /* \"#utility.yul\":3681:3708 */\n tag_74\n jump\t// in\n tag_102:\n /* \"#utility.yul\":3673:3679 */\n dup2\n /* \"#utility.yul\":3669:3709 */\n add\n /* \"#utility.yul\":3811:3817 */\n dup2\n /* \"#utility.yul\":3799:3809 */\n dup2\n /* \"#utility.yul\":3796:3818 */\n lt\n /* \"#utility.yul\":3775:3793 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3763:3773 */\n dup3\n /* \"#utility.yul\":3760:3794 */\n gt\n /* \"#utility.yul\":3757:3819 */\n or\n /* \"#utility.yul\":3754:3842 */\n iszero\n tag_103\n jumpi\n /* \"#utility.yul\":3822:3840 */\n tag_104\n tag_86\n jump\t// in\n tag_104:\n /* \"#utility.yul\":3754:3842 */\n tag_103:\n /* \"#utility.yul\":3862:3872 */\n dup1\n /* \"#utility.yul\":3858:3860 */\n 0x40\n /* \"#utility.yul\":3851:3873 */\n mstore\n /* \"#utility.yul\":3641:3879 */\n pop\n /* \"#utility.yul\":3598:3879 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3885:4065 */\n tag_100:\n /* \"#utility.yul\":3933:4010 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3930:3931 */\n 0x00\n /* \"#utility.yul\":3923:4011 */\n mstore\n /* \"#utility.yul\":4030:4034 */\n 0x22\n /* \"#utility.yul\":4027:4028 */\n 0x04\n /* \"#utility.yul\":4020:4035 */\n mstore\n /* \"#utility.yul\":4054:4058 */\n 0x24\n /* \"#utility.yul\":4051:4052 */\n 0x00\n /* \"#utility.yul\":4044:4059 */\n revert\n /* \"#utility.yul\":4071:4251 */\n tag_86:\n /* \"#utility.yul\":4119:4196 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4116:4117 */\n 0x00\n /* \"#utility.yul\":4109:4197 */\n mstore\n /* \"#utility.yul\":4216:4220 */\n 0x41\n /* \"#utility.yul\":4213:4214 */\n 0x04\n /* \"#utility.yul\":4206:4221 */\n mstore\n /* \"#utility.yul\":4240:4244 */\n 0x24\n /* \"#utility.yul\":4237:4238 */\n 0x00\n /* \"#utility.yul\":4230:4245 */\n revert\n /* \"#utility.yul\":4257:4374 */\n tag_55:\n /* \"#utility.yul\":4366:4367 */\n 0x00\n /* \"#utility.yul\":4363:4364 */\n dup1\n /* \"#utility.yul\":4356:4368 */\n revert\n /* \"#utility.yul\":4380:4497 */\n tag_48:\n /* \"#utility.yul\":4489:4490 */\n 0x00\n /* \"#utility.yul\":4486:4487 */\n dup1\n /* \"#utility.yul\":4479:4491 */\n revert\n /* \"#utility.yul\":4503:4620 */\n tag_63:\n /* \"#utility.yul\":4612:4613 */\n 0x00\n /* \"#utility.yul\":4609:4610 */\n dup1\n /* \"#utility.yul\":4602:4614 */\n revert\n /* \"#utility.yul\":4626:4743 */\n tag_60:\n /* \"#utility.yul\":4735:4736 */\n 0x00\n /* \"#utility.yul\":4732:4733 */\n dup1\n /* \"#utility.yul\":4725:4737 */\n revert\n /* \"#utility.yul\":4749:4851 */\n tag_74:\n /* \"#utility.yul\":4790:4796 */\n 0x00\n /* \"#utility.yul\":4841:4843 */\n 0x1f\n /* \"#utility.yul\":4837:4844 */\n not\n /* \"#utility.yul\":4832:4834 */\n 0x1f\n /* \"#utility.yul\":4825:4830 */\n dup4\n /* \"#utility.yul\":4821:4835 */\n add\n /* \"#utility.yul\":4817:4845 */\n and\n /* \"#utility.yul\":4807:4845 */\n swap1\n pop\n /* \"#utility.yul\":4749:4851 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_20": { | |
| "entryPoint": null, | |
| "id": 20, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 327, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 402, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 453, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 534, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 565, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_string_memory_ptr": { | |
| "entryPoint": 575, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 629, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 683, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 737, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 791, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 838, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 885, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 890, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 895, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 900, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 905, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:3764:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "102:326:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "112:75:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "179:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "137:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "137:49:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "121:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "121:66:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "112:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "203:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "210:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "196:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "196:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "196:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "226:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "241:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "248:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "237:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "237:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "230:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "291:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "293:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "293:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "293:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "272:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "277:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "268:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "268:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "286:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "265:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "265:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "262:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "405:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "410:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "415:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "383:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "383:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "383:39:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "75:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "80:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "88:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "96:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:421:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "521:282:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "570:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "572:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "572:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "572:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "549:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "557:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "545:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "545:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "564:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "541:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "541:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "534:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "534:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "531:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "662:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "682:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "676:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "676:13:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "666:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "698:99:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "770:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "778:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "766:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "766:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "785:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "793:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "707:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "707:90:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "698:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "499:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "507:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "515:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "448:355:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "896:437:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "942:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "944:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "944:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "944:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "917:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "926:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "913:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "913:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "938:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "909:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "909:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "906:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1035:291:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1050:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1074:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1085:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1070:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1070:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1064:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1064:24:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1054:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1135:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "1137:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1137:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1137:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1107:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1115:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1104:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1104:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1101:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1232:84:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1288:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1299:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1284:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1284:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1308:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "1242:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1242:74:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1232:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "866:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "877:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "889:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "809:524:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1380:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1390:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "1400:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1400:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1390:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1449:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1457:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1429:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1364:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1373:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1339:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1514:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1524:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1540:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1534:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1534:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1524:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1507:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1474:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1622:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1727:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "1729:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1729:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1729:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1699:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1707:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1696:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1696:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1693:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1759:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1789:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "1767:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1767:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1759:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1833:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1851:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1841:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1841:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1833:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1606:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1617:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1555:308:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1918:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1928:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1937:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "1932:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1997:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2022:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2027:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2018:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2018:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2041:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2046:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2037:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2037:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2031:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2031:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2011:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2011:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2011:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1958:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1961:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1955:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1955:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "1969:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1971:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1980:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1983:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1976:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1976:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "1951:3:1", | |
| "statements": [] | |
| }, | |
| "src": "1947:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2094:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2144:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2149:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2140:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2140:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2158:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2133:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2133:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2133:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2075:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2078:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2072:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2072:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2069:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "1900:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "1905:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1910:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1869:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2233:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2243:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "2257:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2263:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "2253:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2253:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2243:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2274:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "2304:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2310:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2300:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2300:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "2278:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2351:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2365:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2379:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2387:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2375:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2375:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2365:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "2331:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2324:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2324:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2321:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2454:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "2468:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2468:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2468:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "2418:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2441:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2449:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2438:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2438:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "2415:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2415:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2412:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "2217:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2226:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2182:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2551:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2561:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2583:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2613:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2591:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2591:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2579:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2579:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2565:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2730:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "2732:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2732:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2732:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2673:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2685:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2670:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2670:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2709:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2721:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2706:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2706:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "2667:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2667:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2664:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2768:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2772:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2761:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2761:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2761:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2537:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2545:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2508:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2823:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2840:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2843:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2833:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2833:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2833:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2937:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2940:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2930:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2930:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2930:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2961:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2964:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2954:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2954:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2954:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "2795:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3009:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3026:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3029:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3019:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3019:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3019:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3123:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3126:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3116:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3116:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3116:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3147:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3150:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3140:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3140:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3140:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "2981:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3256:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3273:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3276:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3266:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3266:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3266:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3167:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3379:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3396:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3399:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3389:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3389:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3389:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3290:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3502:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3519:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3522:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3512:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3512:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3512:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3413:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3625:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3642:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3645:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3635:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3635:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3635:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3536:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3707:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3717:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3735:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3742:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3731:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3731:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3751:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3747:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3747:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3727:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3727:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "3717:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3690:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "3700:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3659:102:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "60806040523480156200001157600080fd5b506040516200092f3803806200092f8339818101604052810190620000379190620001c5565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600190805190602001906200008f92919062000097565b50506200039a565b828054620000a590620002ab565b90600052602060002090601f016020900481019282620000c9576000855562000115565b82601f10620000e457805160ff191683800117855562000115565b8280016001018555821562000115579182015b8281111562000114578251825591602001919060010190620000f7565b5b50905062000124919062000128565b5090565b5b808211156200014357600081600090555060010162000129565b5090565b60006200015e62000158846200023f565b62000216565b9050828152602081018484840111156200017d576200017c6200037a565b5b6200018a84828562000275565b509392505050565b600082601f830112620001aa57620001a962000375565b5b8151620001bc84826020860162000147565b91505092915050565b600060208284031215620001de57620001dd62000384565b5b600082015167ffffffffffffffff811115620001ff57620001fe6200037f565b5b6200020d8482850162000192565b91505092915050565b60006200022262000235565b9050620002308282620002e1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200025d576200025c62000346565b5b620002688262000389565b9050602081019050919050565b60005b838110156200029557808201518184015260208101905062000278565b83811115620002a5576000848401525b50505050565b60006002820490506001821680620002c457607f821691505b60208210811415620002db57620002da62000317565b5b50919050565b620002ec8262000389565b810181811067ffffffffffffffff821117156200030e576200030d62000346565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61058580620003aa6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632e9826021461004657806332af2edb1461006257806341c0e1b514610080575b600080fd5b610060600480360381019061005b9190610311565b61008a565b005b61006a6100fd565b6040516100779190610393565b60405180910390f35b61008861018f565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100e2576100fa565b80600190805190602001906100f89291906101fe565b505b50565b60606001805461010c90610469565b80601f016020809104026020016040519081016040528092919081815260200182805461013890610469565b80156101855780601f1061015a57610100808354040283529160200191610185565b820191906000526020600020905b81548152906001019060200180831161016857829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101fc573373ffffffffffffffffffffffffffffffffffffffff16ff5b565b82805461020a90610469565b90600052602060002090601f01602090048101928261022c5760008555610273565b82601f1061024557805160ff1916838001178555610273565b82800160010185558215610273579182015b82811115610272578251825591602001919060010190610257565b5b5090506102809190610284565b5090565b5b8082111561029d576000816000905550600101610285565b5090565b60006102b46102af846103da565b6103b5565b9050828152602081018484840111156102d0576102cf61052f565b5b6102db848285610427565b509392505050565b600082601f8301126102f8576102f761052a565b5b81356103088482602086016102a1565b91505092915050565b60006020828403121561032757610326610539565b5b600082013567ffffffffffffffff81111561034557610344610534565b5b610351848285016102e3565b91505092915050565b60006103658261040b565b61036f8185610416565b935061037f818560208601610436565b6103888161053e565b840191505092915050565b600060208201905081810360008301526103ad818461035a565b905092915050565b60006103bf6103d0565b90506103cb828261049b565b919050565b6000604051905090565b600067ffffffffffffffff8211156103f5576103f46104fb565b5b6103fe8261053e565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b83811015610454578082015181840152602081019050610439565b83811115610463576000848401525b50505050565b6000600282049050600182168061048157607f821691505b60208210811415610495576104946104cc565b5b50919050565b6104a48261053e565b810181811067ffffffffffffffff821117156104c3576104c26104fb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f830116905091905056fea2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x92F CODESIZE SUB DUP1 PUSH3 0x92F DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x1C5 JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x8F SWAP3 SWAP2 SWAP1 PUSH3 0x97 JUMP JUMPDEST POP POP PUSH3 0x39A JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xA5 SWAP1 PUSH3 0x2AB JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xC9 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x115 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xE4 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x115 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x115 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x114 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xF7 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x124 SWAP2 SWAP1 PUSH3 0x128 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x143 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x129 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x15E PUSH3 0x158 DUP5 PUSH3 0x23F JUMP JUMPDEST PUSH3 0x216 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x17D JUMPI PUSH3 0x17C PUSH3 0x37A JUMP JUMPDEST JUMPDEST PUSH3 0x18A DUP5 DUP3 DUP6 PUSH3 0x275 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1AA JUMPI PUSH3 0x1A9 PUSH3 0x375 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x1BC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x147 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x1DE JUMPI PUSH3 0x1DD PUSH3 0x384 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x1FF JUMPI PUSH3 0x1FE PUSH3 0x37F JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 ADD PUSH3 0x192 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x222 PUSH3 0x235 JUMP JUMPDEST SWAP1 POP PUSH3 0x230 DUP3 DUP3 PUSH3 0x2E1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x25D JUMPI PUSH3 0x25C PUSH3 0x346 JUMP JUMPDEST JUMPDEST PUSH3 0x268 DUP3 PUSH3 0x389 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x295 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x278 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x2A5 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x2C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x2DB JUMPI PUSH3 0x2DA PUSH3 0x317 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2EC DUP3 PUSH3 0x389 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x30E JUMPI PUSH3 0x30D PUSH3 0x346 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x585 DUP1 PUSH3 0x3AA PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E982602 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x32AF2EDB EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x41C0E1B5 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x311 JUMP JUMPDEST PUSH2 0x8A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xFD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x393 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x18F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE2 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE JUMP JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x10C SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138 SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x185 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x185 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x168 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1FC JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x20A SWAP1 PUSH2 0x469 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x22C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x245 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x273 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x272 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x257 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x284 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x285 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B4 PUSH2 0x2AF DUP5 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2D0 JUMPI PUSH2 0x2CF PUSH2 0x52F JUMP JUMPDEST JUMPDEST PUSH2 0x2DB DUP5 DUP3 DUP6 PUSH2 0x427 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x52A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x308 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2A1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x539 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x534 JUMP JUMPDEST JUMPDEST PUSH2 0x351 DUP5 DUP3 DUP6 ADD PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x365 DUP3 PUSH2 0x40B JUMP JUMPDEST PUSH2 0x36F DUP2 DUP6 PUSH2 0x416 JUMP JUMPDEST SWAP4 POP PUSH2 0x37F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x436 JUMP JUMPDEST PUSH2 0x388 DUP2 PUSH2 0x53E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3AD DUP2 DUP5 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF PUSH2 0x3D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CB DUP3 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F5 JUMPI PUSH2 0x3F4 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST PUSH2 0x3FE DUP3 PUSH2 0x53E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x454 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x439 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4A4 DUP3 PUSH2 0x53E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C3 JUMPI PUSH2 0x4C2 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 JUMPDEST DUP8 0xD 0x4B 0xED MULMOD 0xDE 0xE6 0xBB SWAP11 SWAP14 0x29 SELFBALANCE SWAP14 0x4A PUSH20 0x24D127240723086BB2877F1451DF7964736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ", | |
| "sourceMap": "33:748:0:-:0;;;186:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;294:10;286:5;;:18;;;;;;;;;;;;;;;;;;324:8;314:7;:18;;;;;;;;;;;;:::i;:::-;;186:153;33:748;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:421:1:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:112;;;293:79;;:::i;:::-;262:112;383:39;415:6;410:3;405;383:39;:::i;:::-;102:326;7:421;;;;;:::o;448:355::-;515:5;564:3;557:4;549:6;545:17;541:27;531:122;;572:79;;:::i;:::-;531:122;682:6;676:13;707:90;793:3;785:6;778:4;770:6;766:17;707:90;:::i;:::-;698:99;;521:282;448:355;;;;:::o;809:524::-;889:6;938:2;926:9;917:7;913:23;909:32;906:119;;;944:79;;:::i;:::-;906:119;1085:1;1074:9;1070:17;1064:24;1115:18;1107:6;1104:30;1101:117;;;1137:79;;:::i;:::-;1101:117;1242:74;1308:7;1299:6;1288:9;1284:22;1242:74;:::i;:::-;1232:84;;1035:291;809:524;;;;:::o;1339:129::-;1373:6;1400:20;;:::i;:::-;1390:30;;1429:33;1457:4;1449:6;1429:33;:::i;:::-;1339:129;;;:::o;1474:75::-;1507:6;1540:2;1534:9;1524:19;;1474:75;:::o;1555:308::-;1617:4;1707:18;1699:6;1696:30;1693:56;;;1729:18;;:::i;:::-;1693:56;1767:29;1789:6;1767:29;:::i;:::-;1759:37;;1851:4;1845;1841:15;1833:23;;1555:308;;;:::o;1869:307::-;1937:1;1947:113;1961:6;1958:1;1955:13;1947:113;;;2046:1;2041:3;2037:11;2031:18;2027:1;2022:3;2018:11;2011:39;1983:2;1980:1;1976:10;1971:15;;1947:113;;;2078:6;2075:1;2072:13;2069:101;;;2158:1;2149:6;2144:3;2140:16;2133:27;2069:101;1918:258;1869:307;;;:::o;2182:320::-;2226:6;2263:1;2257:4;2253:12;2243:22;;2310:1;2304:4;2300:12;2331:18;2321:81;;2387:4;2379:6;2375:17;2365:27;;2321:81;2449:2;2441:6;2438:14;2418:18;2415:38;2412:84;;;2468:18;;:::i;:::-;2412:84;2233:269;2182:320;;;:::o;2508:281::-;2591:27;2613:4;2591:27;:::i;:::-;2583:6;2579:40;2721:6;2709:10;2706:22;2685:18;2673:10;2670:34;2667:62;2664:88;;;2732:18;;:::i;:::-;2664:88;2772:10;2768:2;2761:22;2551:238;2508:281;;:::o;2795:180::-;2843:77;2840:1;2833:88;2940:4;2937:1;2930:15;2964:4;2961:1;2954:15;2981:180;3029:77;3026:1;3019:88;3126:4;3123:1;3116:15;3150:4;3147:1;3140:15;3167:117;3276:1;3273;3266:12;3290:117;3399:1;3396;3389:12;3413:117;3522:1;3519;3512:12;3536:117;3645:1;3642;3635:12;3659:102;3700:6;3751:2;3747:7;3742:2;3735:5;3731:14;3727:28;3717:38;;3659:102;;;:::o;33:748:0:-;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@get_message_44": { | |
| "entryPoint": 253, | |
| "id": 44, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@kill_61": { | |
| "entryPoint": 399, | |
| "id": 61, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@set_message_36": { | |
| "entryPoint": 138, | |
| "id": 36, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_string_memory_ptr": { | |
| "entryPoint": 673, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_string_memory_ptr": { | |
| "entryPoint": 739, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_string_memory_ptr": { | |
| "entryPoint": 785, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 858, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 915, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 949, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 976, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_string_memory_ptr": { | |
| "entryPoint": 986, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 1035, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 1046, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "copy_calldata_to_memory": { | |
| "entryPoint": 1063, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 1078, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 1129, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 1179, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 1228, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 1275, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 1322, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 1327, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 1332, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 1337, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 1342, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:4854:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "91:328:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "101:75:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "168:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "126:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "126:49:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "110:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "110:66:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "101:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "192:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "199:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "185:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "185:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "185:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "215:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "230:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "237:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "226:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "226:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "219:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "280:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "282:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "282:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "282:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "261:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "257:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "257:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "275:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "254:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "254:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "251:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "396:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "406:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "372:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "372:41:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "372:41:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "64:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "69:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "77:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "85:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:412:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "501:278:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "550:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "552:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "552:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "552:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "529:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "537:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "525:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "525:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "544:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "521:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "521:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "514:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "514:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "511:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "642:34:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "669:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "656:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "656:20:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "646:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "685:88:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "746:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "754:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "742:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "742:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "761:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "769:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "694:47:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "694:79:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "685:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "479:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "487:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "495:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "439:340:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "861:433:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "907:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "909:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "909:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "909:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "891:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "878:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "878:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "903:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "874:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "874:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "871:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1000:287:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1015:45:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1046:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1057:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1042:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1042:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1029:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1029:31:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1019:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1107:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "1109:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1109:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1109:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1079:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1087:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1076:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1076:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1073:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1204:73:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1249:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1260:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1245:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1245:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1269:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1214:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1214:63:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1204:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "831:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "842:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "854:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "785:509:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1392:272:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1402:53:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1449:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1416:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1416:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1406:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1464:78:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1530:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1535:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1471:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1471:71:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1464:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1577:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1584:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1573:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1573:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1591:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1596:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "1551:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1551:52:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1551:52:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1612:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1623:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1650:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "1628:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1628:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1619:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1619:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "1612:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1373:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1380:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1388:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1300:364:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1788:195:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1798:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1810:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1821:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1806:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1806:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1798:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1856:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1841:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1841:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1864:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1870:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1860:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1860:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1834:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1834:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1834:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1890:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1962:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1898:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1898:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1890:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1760:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1772:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1783:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1670:313:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2030:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2040:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "2050:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2050:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2040:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2099:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2107:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "2079:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2079:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2079:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2014:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2023:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1989:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2164:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2174:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2190:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2184:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2184:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2174:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2157:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2124:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2272:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2377:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "2379:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2379:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2379:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2349:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2357:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2346:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2346:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2343:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2409:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2439:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2417:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2417:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2409:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2483:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2495:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2501:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2491:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2491:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2483:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2256:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2267:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2205:308:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2578:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2589:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2605:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2599:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2599:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2589:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2561:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2571:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2519:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2720:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2737:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2742:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2730:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2730:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2730:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2758:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2777:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2782:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2773:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2773:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2758:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2692:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2697:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2708:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2624:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2850:103:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2873:3:1" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2878:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2883:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldatacopy", | |
| "nodeType": "YulIdentifier", | |
| "src": "2860:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2860:30:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2860:30:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2931:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2936:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2927:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2927:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2945:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2920:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2920:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2920:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "2832:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "2837:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2842:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2799:154:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3008:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3018:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3027:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "3022:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3087:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3112:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3117:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3108:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3108:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "3131:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3136:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3127:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3127:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "3121:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3121:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3101:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3101:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3101:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3048:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3051:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3045:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3045:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "3059:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3061:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3070:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3073:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3066:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3066:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3061:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "3041:3:1", | |
| "statements": [] | |
| }, | |
| "src": "3037:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3184:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3234:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3239:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3230:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3230:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3248:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3223:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3223:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3223:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3165:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3168:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3162:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3159:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "2990:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "2995:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3000:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2959:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3323:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3333:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3347:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3353:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "3343:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3343:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3333:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3364:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3394:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3400:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3390:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3390:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "3368:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3441:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3455:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3469:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3477:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3465:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3465:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3455:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3421:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3414:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3414:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3411:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3544:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "3558:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3558:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3558:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3508:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3531:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3539:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3528:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3528:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3505:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3505:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3502:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3307:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3316:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3272:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3641:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3651:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3673:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "3703:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "3681:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3681:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3669:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3669:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "3655:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3820:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "3822:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3822:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3822:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3763:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3775:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3760:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3760:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3799:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3811:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3796:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3796:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "3757:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3757:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3754:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3858:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3862:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3851:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3851:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3851:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "3627:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "3635:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3598:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3913:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3930:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3933:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3923:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3923:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3923:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4027:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4030:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4020:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4020:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4020:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4051:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4054:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4044:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4044:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4044:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3885:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4099:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4116:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4119:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4109:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4109:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4109:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4213:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4216:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4206:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4206:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4206:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4237:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4240:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4230:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4230:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4230:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4071:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4346:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4363:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4366:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4356:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4356:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4356:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4257:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4469:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4486:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4489:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4479:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4479:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4479:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4380:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4592:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4609:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4612:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4602:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4602:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4602:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4503:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4715:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4732:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4735:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4725:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4725:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4725:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4626:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4797:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4807:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4825:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4832:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4821:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4821:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4841:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "4837:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4837:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4817:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4817:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "4807:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4780:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "4790:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4749:102:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80632e9826021461004657806332af2edb1461006257806341c0e1b514610080575b600080fd5b610060600480360381019061005b9190610311565b61008a565b005b61006a6100fd565b6040516100779190610393565b60405180910390f35b61008861018f565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100e2576100fa565b80600190805190602001906100f89291906101fe565b505b50565b60606001805461010c90610469565b80601f016020809104026020016040519081016040528092919081815260200182805461013890610469565b80156101855780601f1061015a57610100808354040283529160200191610185565b820191906000526020600020905b81548152906001019060200180831161016857829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101fc573373ffffffffffffffffffffffffffffffffffffffff16ff5b565b82805461020a90610469565b90600052602060002090601f01602090048101928261022c5760008555610273565b82601f1061024557805160ff1916838001178555610273565b82800160010185558215610273579182015b82811115610272578251825591602001919060010190610257565b5b5090506102809190610284565b5090565b5b8082111561029d576000816000905550600101610285565b5090565b60006102b46102af846103da565b6103b5565b9050828152602081018484840111156102d0576102cf61052f565b5b6102db848285610427565b509392505050565b600082601f8301126102f8576102f761052a565b5b81356103088482602086016102a1565b91505092915050565b60006020828403121561032757610326610539565b5b600082013567ffffffffffffffff81111561034557610344610534565b5b610351848285016102e3565b91505092915050565b60006103658261040b565b61036f8185610416565b935061037f818560208601610436565b6103888161053e565b840191505092915050565b600060208201905081810360008301526103ad818461035a565b905092915050565b60006103bf6103d0565b90506103cb828261049b565b919050565b6000604051905090565b600067ffffffffffffffff8211156103f5576103f46104fb565b5b6103fe8261053e565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b83811015610454578082015181840152602081019050610439565b83811115610463576000848401525b50505050565b6000600282049050600182168061048157607f821691505b60208210811415610495576104946104cc565b5b50919050565b6104a48261053e565b810181811067ffffffffffffffff821117156104c3576104c26104fb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f830116905091905056fea2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E982602 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x32AF2EDB EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x41C0E1B5 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x311 JUMP JUMPDEST PUSH2 0x8A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xFD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x393 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x18F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE2 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE JUMP JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x10C SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138 SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x185 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x185 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x168 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1FC JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x20A SWAP1 PUSH2 0x469 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x22C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x245 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x273 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x272 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x257 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x284 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x285 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B4 PUSH2 0x2AF DUP5 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2D0 JUMPI PUSH2 0x2CF PUSH2 0x52F JUMP JUMPDEST JUMPDEST PUSH2 0x2DB DUP5 DUP3 DUP6 PUSH2 0x427 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x52A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x308 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2A1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x539 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x534 JUMP JUMPDEST JUMPDEST PUSH2 0x351 DUP5 DUP3 DUP6 ADD PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x365 DUP3 PUSH2 0x40B JUMP JUMPDEST PUSH2 0x36F DUP2 DUP6 PUSH2 0x416 JUMP JUMPDEST SWAP4 POP PUSH2 0x37F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x436 JUMP JUMPDEST PUSH2 0x388 DUP2 PUSH2 0x53E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3AD DUP2 DUP5 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF PUSH2 0x3D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CB DUP3 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F5 JUMPI PUSH2 0x3F4 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST PUSH2 0x3FE DUP3 PUSH2 0x53E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x454 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x439 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4A4 DUP3 PUSH2 0x53E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C3 JUMPI PUSH2 0x4C2 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 JUMPDEST DUP8 0xD 0x4B 0xED MULMOD 0xDE 0xE6 0xBB SWAP11 SWAP14 0x29 SELFBALANCE SWAP14 0x4A PUSH20 0x24D127240723086BB2877F1451DF7964736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ", | |
| "sourceMap": "33:748:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;556:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;693:86;;;:::i;:::-;;345:182;479:5;;;;;;;;;;465:19;;:10;:19;;;461:32;;486:7;;461:32;512:8;502:7;:18;;;;;;;;;;;;:::i;:::-;;345:182;;:::o;556:90::-;600:13;632:7;625:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;556:90;:::o;693:86::-;736:5;;;;;;;;;;722:19;;:10;:19;;;718:58;;;764:10;743:33;;;718:58;693:86::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:509::-;854:6;903:2;891:9;882:7;878:23;874:32;871:119;;;909:79;;:::i;:::-;871:119;1057:1;1046:9;1042:17;1029:31;1087:18;1079:6;1076:30;1073:117;;;1109:79;;:::i;:::-;1073:117;1214:63;1269:7;1260:6;1249:9;1245:22;1214:63;:::i;:::-;1204:73;;1000:287;785:509;;;;:::o;1300:364::-;1388:3;1416:39;1449:5;1416:39;:::i;:::-;1471:71;1535:6;1530:3;1471:71;:::i;:::-;1464:78;;1551:52;1596:6;1591:3;1584:4;1577:5;1573:16;1551:52;:::i;:::-;1628:29;1650:6;1628:29;:::i;:::-;1623:3;1619:39;1612:46;;1392:272;1300:364;;;;:::o;1670:313::-;1783:4;1821:2;1810:9;1806:18;1798:26;;1870:9;1864:4;1860:20;1856:1;1845:9;1841:17;1834:47;1898:78;1971:4;1962:6;1898:78;:::i;:::-;1890:86;;1670:313;;;;:::o;1989:129::-;2023:6;2050:20;;:::i;:::-;2040:30;;2079:33;2107:4;2099:6;2079:33;:::i;:::-;1989:129;;;:::o;2124:75::-;2157:6;2190:2;2184:9;2174:19;;2124:75;:::o;2205:308::-;2267:4;2357:18;2349:6;2346:30;2343:56;;;2379:18;;:::i;:::-;2343:56;2417:29;2439:6;2417:29;:::i;:::-;2409:37;;2501:4;2495;2491:15;2483:23;;2205:308;;;:::o;2519:99::-;2571:6;2605:5;2599:12;2589:22;;2519:99;;;:::o;2624:169::-;2708:11;2742:6;2737:3;2730:19;2782:4;2777:3;2773:14;2758:29;;2624:169;;;;:::o;2799:154::-;2883:6;2878:3;2873;2860:30;2945:1;2936:6;2931:3;2927:16;2920:27;2799:154;;;:::o;2959:307::-;3027:1;3037:113;3051:6;3048:1;3045:13;3037:113;;;3136:1;3131:3;3127:11;3121:18;3117:1;3112:3;3108:11;3101:39;3073:2;3070:1;3066:10;3061:15;;3037:113;;;3168:6;3165:1;3162:13;3159:101;;;3248:1;3239:6;3234:3;3230:16;3223:27;3159:101;3008:258;2959:307;;;:::o;3272:320::-;3316:6;3353:1;3347:4;3343:12;3333:22;;3400:1;3394:4;3390:12;3421:18;3411:81;;3477:4;3469:6;3465:17;3455:27;;3411:81;3539:2;3531:6;3528:14;3508:18;3505:38;3502:84;;;3558:18;;:::i;:::-;3502:84;3323:269;3272:320;;;:::o;3598:281::-;3681:27;3703:4;3681:27;:::i;:::-;3673:6;3669:40;3811:6;3799:10;3796:22;3775:18;3763:10;3760:34;3757:62;3754:88;;;3822:18;;:::i;:::-;3754:88;3862:10;3858:2;3851:22;3641:238;3598:281;;:::o;3885:180::-;3933:77;3930:1;3923:88;4030:4;4027:1;4020:15;4054:4;4051:1;4044:15;4071:180;4119:77;4116:1;4109:88;4216:4;4213:1;4206:15;4240:4;4237:1;4230:15;4257:117;4366:1;4363;4356:12;4380:117;4489:1;4486;4479:12;4503:117;4612:1;4609;4602:12;4626:117;4735:1;4732;4725:12;4749:102;4790:6;4841:2;4837:7;4832:2;4825:5;4821:14;4817:28;4807:38;;4749:102;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "282600", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "get_message()": "infinite", | |
| "kill()": "29934", | |
| "set_message(string)": "infinite" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSHSIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "CODESIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSHSIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 294, | |
| "end": 304, | |
| "name": "CALLER", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 291, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 291, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 304, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 324, | |
| "end": 332, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 321, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 314, | |
| "end": 332, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 186, | |
| "end": 339, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "KECCAK256", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "NOT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "OR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP6", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 96, | |
| "end": 101, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 187, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 137, | |
| "end": 186, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 179, | |
| "end": 185, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 137, | |
| "end": 186, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 137, | |
| "end": 186, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 137, | |
| "end": 186, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 137, | |
| "end": 186, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 187, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 187, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 187, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 121, | |
| "end": 187, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 187, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 112, | |
| "end": 187, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 210, | |
| "end": 216, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 203, | |
| "end": 208, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 196, | |
| "end": 217, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 248, | |
| "end": 252, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 241, | |
| "end": 246, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 253, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 286, | |
| "end": 289, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 277, | |
| "end": 283, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 272, | |
| "end": 275, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 268, | |
| "end": 284, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 265, | |
| "end": 290, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 374, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 374, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 374, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 372, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 372, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 372, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 372, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 293, | |
| "end": 372, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 374, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "27" | |
| }, | |
| { | |
| "begin": 262, | |
| "end": 374, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 383, | |
| "end": 422, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 415, | |
| "end": 421, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 410, | |
| "end": 413, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 405, | |
| "end": 408, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 383, | |
| "end": 422, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 383, | |
| "end": 422, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 383, | |
| "end": 422, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 383, | |
| "end": 422, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 102, | |
| "end": 428, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 428, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 515, | |
| "end": 520, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 564, | |
| "end": 567, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 557, | |
| "end": 561, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 549, | |
| "end": 555, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 562, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 541, | |
| "end": 568, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 531, | |
| "end": 653, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": 531, | |
| "end": 653, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 572, | |
| "end": 651, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 572, | |
| "end": 651, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": 572, | |
| "end": 651, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 572, | |
| "end": 651, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 572, | |
| "end": 651, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 531, | |
| "end": 653, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": 531, | |
| "end": 653, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 682, | |
| "end": 688, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 676, | |
| "end": 689, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 707, | |
| "end": 797, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 793, | |
| "end": 796, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 791, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 778, | |
| "end": 782, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 770, | |
| "end": 776, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 783, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 707, | |
| "end": 797, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 707, | |
| "end": 797, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 707, | |
| "end": 797, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 707, | |
| "end": 797, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 698, | |
| "end": 797, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 698, | |
| "end": 797, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 521, | |
| "end": 803, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 448, | |
| "end": 803, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 889, | |
| "end": 895, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 938, | |
| "end": 940, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 926, | |
| "end": 935, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 917, | |
| "end": 924, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 913, | |
| "end": 936, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 941, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 906, | |
| "end": 1025, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 906, | |
| "end": 1025, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "39" | |
| }, | |
| { | |
| "begin": 906, | |
| "end": 1025, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 1023, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 1023, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 1023, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 1023, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 944, | |
| "end": 1023, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 906, | |
| "end": 1025, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "39" | |
| }, | |
| { | |
| "begin": 906, | |
| "end": 1025, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1085, | |
| "end": 1086, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1074, | |
| "end": 1083, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1070, | |
| "end": 1087, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1064, | |
| "end": 1088, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1115, | |
| "end": 1133, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 1107, | |
| "end": 1113, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1104, | |
| "end": 1134, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1101, | |
| "end": 1218, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1101, | |
| "end": 1218, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 1101, | |
| "end": 1218, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1137, | |
| "end": 1216, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 1137, | |
| "end": 1216, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 1137, | |
| "end": 1216, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1137, | |
| "end": 1216, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 1137, | |
| "end": 1216, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1101, | |
| "end": 1218, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 1101, | |
| "end": 1218, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1242, | |
| "end": 1316, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 1308, | |
| "end": 1315, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1299, | |
| "end": 1305, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1288, | |
| "end": 1297, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1284, | |
| "end": 1306, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1242, | |
| "end": 1316, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 1242, | |
| "end": 1316, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1242, | |
| "end": 1316, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 1242, | |
| "end": 1316, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1316, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1316, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1035, | |
| "end": 1326, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 809, | |
| "end": 1333, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1373, | |
| "end": 1379, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1400, | |
| "end": 1420, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 1400, | |
| "end": 1420, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 1400, | |
| "end": 1420, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1400, | |
| "end": 1420, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 1400, | |
| "end": 1420, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1390, | |
| "end": 1420, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1390, | |
| "end": 1420, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1462, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 1457, | |
| "end": 1461, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1449, | |
| "end": 1455, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1462, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "50" | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1462, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1462, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1462, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1339, | |
| "end": 1468, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1474, | |
| "end": 1549, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 1474, | |
| "end": 1549, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1507, | |
| "end": 1513, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1540, | |
| "end": 1542, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 1534, | |
| "end": 1543, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1524, | |
| "end": 1543, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1524, | |
| "end": 1543, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1474, | |
| "end": 1549, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1474, | |
| "end": 1549, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1617, | |
| "end": 1621, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1707, | |
| "end": 1725, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 1699, | |
| "end": 1705, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1696, | |
| "end": 1726, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1749, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1749, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1749, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1729, | |
| "end": 1747, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 1729, | |
| "end": 1747, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 1729, | |
| "end": 1747, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1729, | |
| "end": 1747, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 1729, | |
| "end": 1747, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1749, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 1693, | |
| "end": 1749, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1796, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 1789, | |
| "end": 1795, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1796, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "57" | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1796, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1796, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 1767, | |
| "end": 1796, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1759, | |
| "end": 1796, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1759, | |
| "end": 1796, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1851, | |
| "end": 1855, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1845, | |
| "end": 1849, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1841, | |
| "end": 1856, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1833, | |
| "end": 1856, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1833, | |
| "end": 1856, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1555, | |
| "end": 1863, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1937, | |
| "end": 1938, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "59" | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1961, | |
| "end": 1967, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1958, | |
| "end": 1959, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1955, | |
| "end": 1968, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2046, | |
| "end": 2047, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2041, | |
| "end": 2044, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2037, | |
| "end": 2048, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2031, | |
| "end": 2049, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2027, | |
| "end": 2028, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2022, | |
| "end": 2025, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2018, | |
| "end": 2029, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2011, | |
| "end": 2050, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1983, | |
| "end": 1985, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1980, | |
| "end": 1981, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1976, | |
| "end": 1986, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1971, | |
| "end": 1986, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1971, | |
| "end": 1986, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "59" | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 1947, | |
| "end": 2060, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2078, | |
| "end": 2084, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2075, | |
| "end": 2076, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2072, | |
| "end": 2085, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2069, | |
| "end": 2170, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2069, | |
| "end": 2170, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 2069, | |
| "end": 2170, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2158, | |
| "end": 2159, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2149, | |
| "end": 2155, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2144, | |
| "end": 2147, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2140, | |
| "end": 2156, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2133, | |
| "end": 2160, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2069, | |
| "end": 2170, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 2069, | |
| "end": 2170, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1918, | |
| "end": 2176, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1869, | |
| "end": 2176, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2226, | |
| "end": 2232, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2263, | |
| "end": 2264, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 2257, | |
| "end": 2261, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2253, | |
| "end": 2265, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2243, | |
| "end": 2265, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2243, | |
| "end": 2265, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2310, | |
| "end": 2311, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 2304, | |
| "end": 2308, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2300, | |
| "end": 2312, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2331, | |
| "end": 2349, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2321, | |
| "end": 2402, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 2321, | |
| "end": 2402, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2387, | |
| "end": 2391, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2385, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2375, | |
| "end": 2392, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2365, | |
| "end": 2392, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2365, | |
| "end": 2392, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2321, | |
| "end": 2402, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 2321, | |
| "end": 2402, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2449, | |
| "end": 2451, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 2441, | |
| "end": 2447, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2438, | |
| "end": 2452, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2418, | |
| "end": 2436, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2415, | |
| "end": 2453, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2412, | |
| "end": 2496, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2412, | |
| "end": 2496, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 2412, | |
| "end": 2496, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2486, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "66" | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2486, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2486, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2486, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "66" | |
| }, | |
| { | |
| "begin": 2468, | |
| "end": 2486, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2412, | |
| "end": 2496, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 2412, | |
| "end": 2496, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2233, | |
| "end": 2502, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2182, | |
| "end": 2502, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2508, | |
| "end": 2789, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "50" | |
| }, | |
| { | |
| "begin": 2508, | |
| "end": 2789, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2591, | |
| "end": 2618, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 2613, | |
| "end": 2617, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2591, | |
| "end": 2618, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "57" | |
| }, | |
| { | |
| "begin": 2591, | |
| "end": 2618, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2591, | |
| "end": 2618, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 2591, | |
| "end": 2618, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2583, | |
| "end": 2589, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2579, | |
| "end": 2619, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2721, | |
| "end": 2727, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2709, | |
| "end": 2719, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2706, | |
| "end": 2728, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2685, | |
| "end": 2703, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 2673, | |
| "end": 2683, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2670, | |
| "end": 2704, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2667, | |
| "end": 2729, | |
| "name": "OR", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2664, | |
| "end": 2752, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2664, | |
| "end": 2752, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 2664, | |
| "end": 2752, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2732, | |
| "end": 2750, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 2732, | |
| "end": 2750, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 2732, | |
| "end": 2750, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2732, | |
| "end": 2750, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 2732, | |
| "end": 2750, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2664, | |
| "end": 2752, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 2664, | |
| "end": 2752, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2772, | |
| "end": 2782, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2768, | |
| "end": 2770, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 2761, | |
| "end": 2783, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2551, | |
| "end": 2789, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2508, | |
| "end": 2789, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2508, | |
| "end": 2789, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2508, | |
| "end": 2789, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2795, | |
| "end": 2975, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 2795, | |
| "end": 2975, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2843, | |
| "end": 2920, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 2840, | |
| "end": 2841, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2833, | |
| "end": 2921, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2940, | |
| "end": 2944, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 2937, | |
| "end": 2938, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 2930, | |
| "end": 2945, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2964, | |
| "end": 2968, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 2961, | |
| "end": 2962, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2954, | |
| "end": 2969, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2981, | |
| "end": 3161, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 2981, | |
| "end": 3161, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3029, | |
| "end": 3106, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 3026, | |
| "end": 3027, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3019, | |
| "end": 3107, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3126, | |
| "end": 3130, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 3123, | |
| "end": 3124, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 3116, | |
| "end": 3131, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3150, | |
| "end": 3154, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 3147, | |
| "end": 3148, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3140, | |
| "end": 3155, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3167, | |
| "end": 3284, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": 3167, | |
| "end": 3284, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3276, | |
| "end": 3277, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3273, | |
| "end": 3274, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3266, | |
| "end": 3278, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3290, | |
| "end": 3407, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": 3290, | |
| "end": 3407, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3399, | |
| "end": 3400, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3396, | |
| "end": 3397, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3389, | |
| "end": 3401, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3413, | |
| "end": 3530, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 3413, | |
| "end": 3530, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3522, | |
| "end": 3523, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3519, | |
| "end": 3520, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3512, | |
| "end": 3524, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3536, | |
| "end": 3653, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 3536, | |
| "end": 3653, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3645, | |
| "end": 3646, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3642, | |
| "end": 3643, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3635, | |
| "end": 3647, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "57" | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3700, | |
| "end": 3706, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3751, | |
| "end": 3753, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 3747, | |
| "end": 3754, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3742, | |
| "end": 3744, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 3735, | |
| "end": 3740, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3731, | |
| "end": 3745, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3727, | |
| "end": 3755, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3717, | |
| "end": 3755, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3717, | |
| "end": 3755, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3659, | |
| "end": 3761, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033", | |
| ".code": [ | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2E982602" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "32AF2EDB" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "41C0E1B5" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 33, | |
| "end": 781, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "RETURN", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 479, | |
| "end": 484, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 484, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 484, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 475, | |
| "name": "CALLER", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 484, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 484, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 465, | |
| "end": 484, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 461, | |
| "end": 493, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 461, | |
| "end": 493, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 486, | |
| "end": 493, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 486, | |
| "end": 493, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 461, | |
| "end": 493, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 461, | |
| "end": 493, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 512, | |
| "end": 520, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 509, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 502, | |
| "end": 520, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 527, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "11" | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 600, | |
| "end": 613, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "60" | |
| }, | |
| { | |
| "begin": 632, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "21" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "23" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MUL", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "KECCAK256", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP4", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "GT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "DUP3", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 625, | |
| "end": 639, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 556, | |
| "end": 646, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "EXP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "DIV", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 736, | |
| "end": 741, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 741, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 741, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 732, | |
| "name": "CALLER", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 741, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 741, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 722, | |
| "end": 741, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 718, | |
| "end": 776, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 718, | |
| "end": 776, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 718, | |
| "end": 776, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 764, | |
| "end": 774, | |
| "name": "CALLER", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 743, | |
| "end": 776, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 743, | |
| "end": 776, | |
| "name": "AND", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 743, | |
| "end": 776, | |
| "name": "SELFDESTRUCT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 718, | |
| "end": 776, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 718, | |
| "end": 776, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 693, | |
| "end": 779, | |
| "name": "JUMP", | |
| "source": 0, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "19" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SLOAD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "29" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "MSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "KECCAK256", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DIV", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPI", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP6", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "LT", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPI", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "MLOAD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "FF" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "NOT", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "AND", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP4", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "OR", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP6", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP6", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ISZERO", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPI", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "33" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "GT", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ISZERO", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPI", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "MLOAD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "33" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "34" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "POP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "POP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "POP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "36" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP3", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "GT", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ISZERO", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPI", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "DUP2", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SSTORE", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "POP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH", | |
| "source": -1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "ADD", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "PUSH [tag]", | |
| "source": -1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "tag", | |
| "source": -1, | |
| "value": "38" | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMPDEST", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "POP", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "SWAP1", | |
| "source": -1 | |
| }, | |
| { | |
| "begin": -1, | |
| "end": -1, | |
| "name": "JUMP", | |
| "source": -1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 85, | |
| "end": 90, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 110, | |
| "end": 176, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 126, | |
| "end": 175, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 168, | |
| "end": 174, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 126, | |
| "end": 175, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 126, | |
| "end": 175, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 126, | |
| "end": 175, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "43" | |
| }, | |
| { | |
| "begin": 126, | |
| "end": 175, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 110, | |
| "end": 176, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 110, | |
| "end": 176, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 110, | |
| "end": 176, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "42" | |
| }, | |
| { | |
| "begin": 110, | |
| "end": 176, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 101, | |
| "end": 176, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 101, | |
| "end": 176, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 199, | |
| "end": 205, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 192, | |
| "end": 197, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 185, | |
| "end": 206, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 237, | |
| "end": 241, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 230, | |
| "end": 235, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 226, | |
| "end": 242, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 275, | |
| "end": 278, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 266, | |
| "end": 272, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 261, | |
| "end": 264, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 257, | |
| "end": 273, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 254, | |
| "end": 279, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 251, | |
| "end": 363, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 251, | |
| "end": 363, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "46" | |
| }, | |
| { | |
| "begin": 251, | |
| "end": 363, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 282, | |
| "end": 361, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 282, | |
| "end": 361, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 282, | |
| "end": 361, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 282, | |
| "end": 361, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "47" | |
| }, | |
| { | |
| "begin": 282, | |
| "end": 361, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 251, | |
| "end": 363, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "46" | |
| }, | |
| { | |
| "begin": 251, | |
| "end": 363, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 372, | |
| "end": 413, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 406, | |
| "end": 412, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 401, | |
| "end": 404, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 396, | |
| "end": 399, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 372, | |
| "end": 413, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "50" | |
| }, | |
| { | |
| "begin": 372, | |
| "end": 413, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 372, | |
| "end": 413, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "49" | |
| }, | |
| { | |
| "begin": 372, | |
| "end": 413, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 91, | |
| "end": 419, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 7, | |
| "end": 419, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 495, | |
| "end": 500, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 544, | |
| "end": 547, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 537, | |
| "end": 541, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 529, | |
| "end": 535, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 525, | |
| "end": 542, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 521, | |
| "end": 548, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 511, | |
| "end": 633, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 511, | |
| "end": 633, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 552, | |
| "end": 631, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 552, | |
| "end": 631, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 552, | |
| "end": 631, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 552, | |
| "end": 631, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "54" | |
| }, | |
| { | |
| "begin": 552, | |
| "end": 631, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 511, | |
| "end": 633, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "53" | |
| }, | |
| { | |
| "begin": 511, | |
| "end": 633, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 669, | |
| "end": 675, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 656, | |
| "end": 676, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 694, | |
| "end": 773, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 769, | |
| "end": 772, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 761, | |
| "end": 767, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 754, | |
| "end": 758, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 746, | |
| "end": 752, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 742, | |
| "end": 759, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 694, | |
| "end": 773, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 694, | |
| "end": 773, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 694, | |
| "end": 773, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "56" | |
| }, | |
| { | |
| "begin": 694, | |
| "end": 773, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 685, | |
| "end": 773, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 685, | |
| "end": 773, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 501, | |
| "end": 779, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 439, | |
| "end": 779, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "8" | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 854, | |
| "end": 860, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 903, | |
| "end": 905, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 891, | |
| "end": 900, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 882, | |
| "end": 889, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 878, | |
| "end": 901, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 874, | |
| "end": 906, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 871, | |
| "end": 990, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 871, | |
| "end": 990, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "58" | |
| }, | |
| { | |
| "begin": 871, | |
| "end": 990, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 988, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "59" | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 988, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "60" | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 988, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 988, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "59" | |
| }, | |
| { | |
| "begin": 909, | |
| "end": 988, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 871, | |
| "end": 990, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "58" | |
| }, | |
| { | |
| "begin": 871, | |
| "end": 990, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1057, | |
| "end": 1058, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1046, | |
| "end": 1055, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1042, | |
| "end": 1059, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1029, | |
| "end": 1060, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1087, | |
| "end": 1105, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 1079, | |
| "end": 1085, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1076, | |
| "end": 1106, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1073, | |
| "end": 1190, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1073, | |
| "end": 1190, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 1073, | |
| "end": 1190, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1109, | |
| "end": 1188, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 1109, | |
| "end": 1188, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 1109, | |
| "end": 1188, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1109, | |
| "end": 1188, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "62" | |
| }, | |
| { | |
| "begin": 1109, | |
| "end": 1188, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1073, | |
| "end": 1190, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "61" | |
| }, | |
| { | |
| "begin": 1073, | |
| "end": 1190, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1214, | |
| "end": 1277, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 1269, | |
| "end": 1276, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1260, | |
| "end": 1266, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1249, | |
| "end": 1258, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1245, | |
| "end": 1267, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1214, | |
| "end": 1277, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "51" | |
| }, | |
| { | |
| "begin": 1214, | |
| "end": 1277, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1214, | |
| "end": 1277, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "64" | |
| }, | |
| { | |
| "begin": 1214, | |
| "end": 1277, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1204, | |
| "end": 1277, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1204, | |
| "end": 1277, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1000, | |
| "end": 1287, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 785, | |
| "end": 1294, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1388, | |
| "end": 1391, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1416, | |
| "end": 1455, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 1449, | |
| "end": 1454, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1416, | |
| "end": 1455, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 1416, | |
| "end": 1455, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1416, | |
| "end": 1455, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "67" | |
| }, | |
| { | |
| "begin": 1416, | |
| "end": 1455, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1471, | |
| "end": 1542, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 1535, | |
| "end": 1541, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1530, | |
| "end": 1533, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1471, | |
| "end": 1542, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 1471, | |
| "end": 1542, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1471, | |
| "end": 1542, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "69" | |
| }, | |
| { | |
| "begin": 1471, | |
| "end": 1542, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1464, | |
| "end": 1542, | |
| "name": "SWAP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1464, | |
| "end": 1542, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1551, | |
| "end": 1603, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 1596, | |
| "end": 1602, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1591, | |
| "end": 1594, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1584, | |
| "end": 1588, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1577, | |
| "end": 1582, | |
| "name": "DUP7", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1573, | |
| "end": 1589, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1551, | |
| "end": 1603, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "72" | |
| }, | |
| { | |
| "begin": 1551, | |
| "end": 1603, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1551, | |
| "end": 1603, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "71" | |
| }, | |
| { | |
| "begin": 1551, | |
| "end": 1603, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1628, | |
| "end": 1657, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "73" | |
| }, | |
| { | |
| "begin": 1650, | |
| "end": 1656, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1628, | |
| "end": 1657, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 1628, | |
| "end": 1657, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1628, | |
| "end": 1657, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "73" | |
| }, | |
| { | |
| "begin": 1628, | |
| "end": 1657, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1623, | |
| "end": 1626, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1619, | |
| "end": 1658, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1612, | |
| "end": 1658, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1612, | |
| "end": 1658, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1392, | |
| "end": 1664, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1300, | |
| "end": 1664, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "13" | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1783, | |
| "end": 1787, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1821, | |
| "end": 1823, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1810, | |
| "end": 1819, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1806, | |
| "end": 1824, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1798, | |
| "end": 1824, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1798, | |
| "end": 1824, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1870, | |
| "end": 1879, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1864, | |
| "end": 1868, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1860, | |
| "end": 1880, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1856, | |
| "end": 1857, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1845, | |
| "end": 1854, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1841, | |
| "end": 1858, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1834, | |
| "end": 1881, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1898, | |
| "end": 1976, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 1971, | |
| "end": 1975, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1962, | |
| "end": 1968, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1898, | |
| "end": 1976, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "65" | |
| }, | |
| { | |
| "begin": 1898, | |
| "end": 1976, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 1898, | |
| "end": 1976, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "76" | |
| }, | |
| { | |
| "begin": 1898, | |
| "end": 1976, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1890, | |
| "end": 1976, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1890, | |
| "end": 1976, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1670, | |
| "end": 1983, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "45" | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2023, | |
| "end": 2029, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2050, | |
| "end": 2070, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "78" | |
| }, | |
| { | |
| "begin": 2050, | |
| "end": 2070, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "79" | |
| }, | |
| { | |
| "begin": 2050, | |
| "end": 2070, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2050, | |
| "end": 2070, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "78" | |
| }, | |
| { | |
| "begin": 2050, | |
| "end": 2070, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2040, | |
| "end": 2070, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2040, | |
| "end": 2070, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2079, | |
| "end": 2112, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 2107, | |
| "end": 2111, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2099, | |
| "end": 2105, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2079, | |
| "end": 2112, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "81" | |
| }, | |
| { | |
| "begin": 2079, | |
| "end": 2112, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2079, | |
| "end": 2112, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 2079, | |
| "end": 2112, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1989, | |
| "end": 2118, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2124, | |
| "end": 2199, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "79" | |
| }, | |
| { | |
| "begin": 2124, | |
| "end": 2199, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2157, | |
| "end": 2163, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2190, | |
| "end": 2192, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 2184, | |
| "end": 2193, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2174, | |
| "end": 2193, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2174, | |
| "end": 2193, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2124, | |
| "end": 2199, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2124, | |
| "end": 2199, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "44" | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2267, | |
| "end": 2271, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2357, | |
| "end": 2375, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 2349, | |
| "end": 2355, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2346, | |
| "end": 2376, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2343, | |
| "end": 2399, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2343, | |
| "end": 2399, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "84" | |
| }, | |
| { | |
| "begin": 2343, | |
| "end": 2399, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2397, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2397, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "86" | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2397, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2397, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "85" | |
| }, | |
| { | |
| "begin": 2379, | |
| "end": 2397, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2343, | |
| "end": 2399, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "84" | |
| }, | |
| { | |
| "begin": 2343, | |
| "end": 2399, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2417, | |
| "end": 2446, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "87" | |
| }, | |
| { | |
| "begin": 2439, | |
| "end": 2445, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2417, | |
| "end": 2446, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 2417, | |
| "end": 2446, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 2417, | |
| "end": 2446, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "87" | |
| }, | |
| { | |
| "begin": 2417, | |
| "end": 2446, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2409, | |
| "end": 2446, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2409, | |
| "end": 2446, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2501, | |
| "end": 2505, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 2495, | |
| "end": 2499, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2491, | |
| "end": 2506, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2483, | |
| "end": 2506, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2483, | |
| "end": 2506, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2205, | |
| "end": 2513, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "68" | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2571, | |
| "end": 2577, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2605, | |
| "end": 2610, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2599, | |
| "end": 2611, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2589, | |
| "end": 2611, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2589, | |
| "end": 2611, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2519, | |
| "end": 2618, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "70" | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2708, | |
| "end": 2719, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2742, | |
| "end": 2748, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2737, | |
| "end": 2740, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2730, | |
| "end": 2749, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2782, | |
| "end": 2786, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 2777, | |
| "end": 2780, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2773, | |
| "end": 2787, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2758, | |
| "end": 2787, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2758, | |
| "end": 2787, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2624, | |
| "end": 2793, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "50" | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2883, | |
| "end": 2889, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2878, | |
| "end": 2881, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2873, | |
| "end": 2876, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2860, | |
| "end": 2890, | |
| "name": "CALLDATACOPY", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2945, | |
| "end": 2946, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 2936, | |
| "end": 2942, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2931, | |
| "end": 2934, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2927, | |
| "end": 2943, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2920, | |
| "end": 2947, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2799, | |
| "end": 2953, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "72" | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3027, | |
| "end": 3028, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "92" | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3051, | |
| "end": 3057, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3048, | |
| "end": 3049, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3045, | |
| "end": 3058, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "94" | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3136, | |
| "end": 3137, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3131, | |
| "end": 3134, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3127, | |
| "end": 3138, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3121, | |
| "end": 3139, | |
| "name": "MLOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3117, | |
| "end": 3118, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3112, | |
| "end": 3115, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3108, | |
| "end": 3119, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3101, | |
| "end": 3140, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3073, | |
| "end": 3075, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3070, | |
| "end": 3071, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3066, | |
| "end": 3076, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3061, | |
| "end": 3076, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3061, | |
| "end": 3076, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "92" | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "94" | |
| }, | |
| { | |
| "begin": 3037, | |
| "end": 3150, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3168, | |
| "end": 3174, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3165, | |
| "end": 3166, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3162, | |
| "end": 3175, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3159, | |
| "end": 3260, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3159, | |
| "end": 3260, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "95" | |
| }, | |
| { | |
| "begin": 3159, | |
| "end": 3260, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3248, | |
| "end": 3249, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3239, | |
| "end": 3245, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3234, | |
| "end": 3237, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3230, | |
| "end": 3246, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3223, | |
| "end": 3250, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3159, | |
| "end": 3260, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "95" | |
| }, | |
| { | |
| "begin": 3159, | |
| "end": 3260, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3008, | |
| "end": 3266, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 2959, | |
| "end": 3266, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3316, | |
| "end": 3322, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3353, | |
| "end": 3354, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 3347, | |
| "end": 3351, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3343, | |
| "end": 3355, | |
| "name": "DIV", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3333, | |
| "end": 3355, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3333, | |
| "end": 3355, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3400, | |
| "end": 3401, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 3394, | |
| "end": 3398, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3390, | |
| "end": 3402, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3421, | |
| "end": 3439, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3411, | |
| "end": 3492, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "97" | |
| }, | |
| { | |
| "begin": 3411, | |
| "end": 3492, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3477, | |
| "end": 3481, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "7F" | |
| }, | |
| { | |
| "begin": 3469, | |
| "end": 3475, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3465, | |
| "end": 3482, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3455, | |
| "end": 3482, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3455, | |
| "end": 3482, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3411, | |
| "end": 3492, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "97" | |
| }, | |
| { | |
| "begin": 3411, | |
| "end": 3492, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3539, | |
| "end": 3541, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 3531, | |
| "end": 3537, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3528, | |
| "end": 3542, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3508, | |
| "end": 3526, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3505, | |
| "end": 3543, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3502, | |
| "end": 3586, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3502, | |
| "end": 3586, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "98" | |
| }, | |
| { | |
| "begin": 3502, | |
| "end": 3586, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3576, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "99" | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3576, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3576, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3576, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "99" | |
| }, | |
| { | |
| "begin": 3558, | |
| "end": 3576, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3502, | |
| "end": 3586, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "98" | |
| }, | |
| { | |
| "begin": 3502, | |
| "end": 3586, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3323, | |
| "end": 3592, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3272, | |
| "end": 3592, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 3598, | |
| "end": 3879, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "81" | |
| }, | |
| { | |
| "begin": 3598, | |
| "end": 3879, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3681, | |
| "end": 3708, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "102" | |
| }, | |
| { | |
| "begin": 3703, | |
| "end": 3707, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3681, | |
| "end": 3708, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 3681, | |
| "end": 3708, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 3681, | |
| "end": 3708, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "102" | |
| }, | |
| { | |
| "begin": 3681, | |
| "end": 3708, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3673, | |
| "end": 3679, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3669, | |
| "end": 3709, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3811, | |
| "end": 3817, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3799, | |
| "end": 3809, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3796, | |
| "end": 3818, | |
| "name": "LT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3775, | |
| "end": 3793, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "FFFFFFFFFFFFFFFF" | |
| }, | |
| { | |
| "begin": 3763, | |
| "end": 3773, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3760, | |
| "end": 3794, | |
| "name": "GT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3757, | |
| "end": 3819, | |
| "name": "OR", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3754, | |
| "end": 3842, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3754, | |
| "end": 3842, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "103" | |
| }, | |
| { | |
| "begin": 3754, | |
| "end": 3842, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3822, | |
| "end": 3840, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "104" | |
| }, | |
| { | |
| "begin": 3822, | |
| "end": 3840, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "86" | |
| }, | |
| { | |
| "begin": 3822, | |
| "end": 3840, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[in]" | |
| }, | |
| { | |
| "begin": 3822, | |
| "end": 3840, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "104" | |
| }, | |
| { | |
| "begin": 3822, | |
| "end": 3840, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3754, | |
| "end": 3842, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "103" | |
| }, | |
| { | |
| "begin": 3754, | |
| "end": 3842, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3862, | |
| "end": 3872, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3858, | |
| "end": 3860, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 3851, | |
| "end": 3873, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3641, | |
| "end": 3879, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3598, | |
| "end": 3879, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3598, | |
| "end": 3879, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3598, | |
| "end": 3879, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| }, | |
| { | |
| "begin": 3885, | |
| "end": 4065, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "100" | |
| }, | |
| { | |
| "begin": 3885, | |
| "end": 4065, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 3933, | |
| "end": 4010, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 3930, | |
| "end": 3931, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 3923, | |
| "end": 4011, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4030, | |
| "end": 4034, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "22" | |
| }, | |
| { | |
| "begin": 4027, | |
| "end": 4028, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 4020, | |
| "end": 4035, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4054, | |
| "end": 4058, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 4051, | |
| "end": 4052, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4044, | |
| "end": 4059, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4071, | |
| "end": 4251, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "86" | |
| }, | |
| { | |
| "begin": 4071, | |
| "end": 4251, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4119, | |
| "end": 4196, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 4116, | |
| "end": 4117, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4109, | |
| "end": 4197, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4216, | |
| "end": 4220, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "41" | |
| }, | |
| { | |
| "begin": 4213, | |
| "end": 4214, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 4206, | |
| "end": 4221, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4240, | |
| "end": 4244, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "24" | |
| }, | |
| { | |
| "begin": 4237, | |
| "end": 4238, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4230, | |
| "end": 4245, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4257, | |
| "end": 4374, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "55" | |
| }, | |
| { | |
| "begin": 4257, | |
| "end": 4374, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4366, | |
| "end": 4367, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4363, | |
| "end": 4364, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4356, | |
| "end": 4368, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4380, | |
| "end": 4497, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "48" | |
| }, | |
| { | |
| "begin": 4380, | |
| "end": 4497, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4489, | |
| "end": 4490, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4486, | |
| "end": 4487, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4479, | |
| "end": 4491, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4503, | |
| "end": 4620, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "63" | |
| }, | |
| { | |
| "begin": 4503, | |
| "end": 4620, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4612, | |
| "end": 4613, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4609, | |
| "end": 4610, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4602, | |
| "end": 4614, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4626, | |
| "end": 4743, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "60" | |
| }, | |
| { | |
| "begin": 4626, | |
| "end": 4743, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4735, | |
| "end": 4736, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4732, | |
| "end": 4733, | |
| "name": "DUP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4725, | |
| "end": 4737, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "74" | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4790, | |
| "end": 4796, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 4841, | |
| "end": 4843, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 4837, | |
| "end": 4844, | |
| "name": "NOT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4832, | |
| "end": 4834, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "1F" | |
| }, | |
| { | |
| "begin": 4825, | |
| "end": 4830, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4821, | |
| "end": 4835, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4817, | |
| "end": 4845, | |
| "name": "AND", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4807, | |
| "end": 4845, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4807, | |
| "end": 4845, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 4749, | |
| "end": 4851, | |
| "name": "JUMP", | |
| "source": 1, | |
| "value": "[out]" | |
| } | |
| ] | |
| } | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "get_message()": "32af2edb", | |
| "kill()": "41c0e1b5", | |
| "set_message(string)": "2e982602" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"get_message\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message_\",\"type\":\"string\"}],\"name\":\"set_message\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"HelloHedera.sol\":\"HelloHedera\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"HelloHedera.sol\":{\"keccak256\":\"0x72078cd9baf282e8e2cde2a3314f04a5e9144ae8e5d4a226565293782c1e427f\",\"urls\":[\"bzz-raw://5a3bce5036583328e895330ca89fa00b75b51c5bc2e1a3b4e34d5f2922053de9\",\"dweb:/ipfs/QmYXeK74LZynfSa4ATCu5VPuRcQ7NLezPxwKqTycdaaRaB\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 3, | |
| "contract": "HelloHedera.sol:HelloHedera", | |
| "label": "owner", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_address" | |
| }, | |
| { | |
| "astId": 5, | |
| "contract": "HelloHedera.sol:HelloHedera", | |
| "label": "message", | |
| "offset": 0, | |
| "slot": "1", | |
| "type": "t_string_storage" | |
| } | |
| ], | |
| "types": { | |
| "t_address": { | |
| "encoding": "inplace", | |
| "label": "address", | |
| "numberOfBytes": "20" | |
| }, | |
| "t_string_storage": { | |
| "encoding": "bytes", | |
| "label": "string", | |
| "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--> HelloHedera.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": "HelloHedera.sol", | |
| "start": -1 | |
| }, | |
| "type": "Warning" | |
| } | |
| ], | |
| "sources": { | |
| "HelloHedera.sol": { | |
| "ast": { | |
| "absolutePath": "HelloHedera.sol", | |
| "exportedSymbols": { | |
| "HelloHedera": [ | |
| 62 | |
| ] | |
| }, | |
| "id": 63, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| ">=", | |
| "0.7", | |
| ".0", | |
| "<", | |
| "0.8", | |
| ".9" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "0:31:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 62, | |
| "linearizedBaseContracts": [ | |
| 62 | |
| ], | |
| "name": "HelloHedera", | |
| "nameLocation": "42:11:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 3, | |
| "mutability": "mutable", | |
| "name": "owner", | |
| "nameLocation": "120:5:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 62, | |
| "src": "112:13:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 2, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "112:7:0", | |
| "stateMutability": "nonpayable", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 5, | |
| "mutability": "mutable", | |
| "name": "message", | |
| "nameLocation": "172:7:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 62, | |
| "src": "165:14:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 4, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "165:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 19, | |
| "nodeType": "Block", | |
| "src": "222:117:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "id": 13, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 10, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 3, | |
| "src": "286:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "expression": { | |
| "id": 11, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967281, | |
| "src": "294:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 12, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "src": "294:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "src": "286:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "id": 14, | |
| "nodeType": "ExpressionStatement", | |
| "src": "286:18:0" | |
| }, | |
| { | |
| "expression": { | |
| "id": 17, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 15, | |
| "name": "message", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 5, | |
| "src": "314:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string storage ref" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "id": 16, | |
| "name": "message_", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 7, | |
| "src": "324:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory_ptr", | |
| "typeString": "string memory" | |
| } | |
| }, | |
| "src": "314:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string storage ref" | |
| } | |
| }, | |
| "id": 18, | |
| "nodeType": "ExpressionStatement", | |
| "src": "314:18:0" | |
| } | |
| ] | |
| }, | |
| "id": 20, | |
| "implemented": true, | |
| "kind": "constructor", | |
| "modifiers": [], | |
| "name": "", | |
| "nameLocation": "-1:-1:-1", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 8, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 7, | |
| "mutability": "mutable", | |
| "name": "message_", | |
| "nameLocation": "212:8:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 20, | |
| "src": "198:22:0", | |
| "stateVariable": false, | |
| "storageLocation": "memory", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory_ptr", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 6, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "198:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "197:24:0" | |
| }, | |
| "returnParameters": { | |
| "id": 9, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "222:0:0" | |
| }, | |
| "scope": 62, | |
| "src": "186:153:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 35, | |
| "nodeType": "Block", | |
| "src": "397:130:0", | |
| "statements": [ | |
| { | |
| "condition": { | |
| "commonType": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "id": 28, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "expression": { | |
| "id": 25, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967281, | |
| "src": "465:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 26, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "src": "465:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "!=", | |
| "rightExpression": { | |
| "id": 27, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 3, | |
| "src": "479:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "src": "465:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 30, | |
| "nodeType": "IfStatement", | |
| "src": "461:32:0", | |
| "trueBody": { | |
| "functionReturnParameters": 24, | |
| "id": 29, | |
| "nodeType": "Return", | |
| "src": "486:7:0" | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "id": 33, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 31, | |
| "name": "message", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 5, | |
| "src": "502:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string storage ref" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "id": 32, | |
| "name": "message_", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 22, | |
| "src": "512:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory_ptr", | |
| "typeString": "string memory" | |
| } | |
| }, | |
| "src": "502:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string storage ref" | |
| } | |
| }, | |
| "id": 34, | |
| "nodeType": "ExpressionStatement", | |
| "src": "502:18:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "2e982602", | |
| "id": 36, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "set_message", | |
| "nameLocation": "354:11:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 23, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 22, | |
| "mutability": "mutable", | |
| "name": "message_", | |
| "nameLocation": "380:8:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 36, | |
| "src": "366:22:0", | |
| "stateVariable": false, | |
| "storageLocation": "memory", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory_ptr", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 21, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "366:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "365:24:0" | |
| }, | |
| "returnParameters": { | |
| "id": 24, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "397:0:0" | |
| }, | |
| "scope": 62, | |
| "src": "345:182:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 43, | |
| "nodeType": "Block", | |
| "src": "615:31:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "id": 41, | |
| "name": "message", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 5, | |
| "src": "632:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage", | |
| "typeString": "string storage ref" | |
| } | |
| }, | |
| "functionReturnParameters": 40, | |
| "id": 42, | |
| "nodeType": "Return", | |
| "src": "625:14:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "32af2edb", | |
| "id": 44, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "get_message", | |
| "nameLocation": "565:11:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 37, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "576:2:0" | |
| }, | |
| "returnParameters": { | |
| "id": 40, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 39, | |
| "mutability": "mutable", | |
| "name": "", | |
| "nameLocation": "-1:-1:-1", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 44, | |
| "src": "600:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "memory", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory_ptr", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 38, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "600:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "599:15:0" | |
| }, | |
| "scope": 62, | |
| "src": "556:90:0", | |
| "stateMutability": "view", | |
| "virtual": false, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 60, | |
| "nodeType": "Block", | |
| "src": "716:63:0", | |
| "statements": [ | |
| { | |
| "condition": { | |
| "commonType": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "id": 50, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "expression": { | |
| "id": 47, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967281, | |
| "src": "722:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 48, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "src": "722:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "==", | |
| "rightExpression": { | |
| "id": 49, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 3, | |
| "src": "736:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "src": "722:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 59, | |
| "nodeType": "IfStatement", | |
| "src": "718:58:0", | |
| "trueBody": { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "expression": { | |
| "id": 54, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967281, | |
| "src": "764:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 55, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "src": "764:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| ], | |
| "id": 53, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "lValueRequested": false, | |
| "nodeType": "ElementaryTypeNameExpression", | |
| "src": "756:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_type$_t_address_payable_$", | |
| "typeString": "type(address payable)" | |
| }, | |
| "typeName": { | |
| "id": 52, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "756:8:0", | |
| "stateMutability": "payable", | |
| "typeDescriptions": {} | |
| } | |
| }, | |
| "id": 56, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "typeConversion", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "756:19:0", | |
| "tryCall": false, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address_payable", | |
| "typeString": "address payable" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address_payable", | |
| "typeString": "address payable" | |
| } | |
| ], | |
| "id": 51, | |
| "name": "selfdestruct", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 4294967275, | |
| "src": "743:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", | |
| "typeString": "function (address payable)" | |
| } | |
| }, | |
| "id": 57, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "743:33:0", | |
| "tryCall": false, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 58, | |
| "nodeType": "ExpressionStatement", | |
| "src": "743:33:0" | |
| } | |
| } | |
| ] | |
| }, | |
| "functionSelector": "41c0e1b5", | |
| "id": 61, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "kill", | |
| "nameLocation": "702:4:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 45, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "706:2:0" | |
| }, | |
| "returnParameters": { | |
| "id": 46, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "716:0:0" | |
| }, | |
| "scope": 62, | |
| "src": "693:86:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 63, | |
| "src": "33:748:0", | |
| "usedErrors": [] | |
| } | |
| ], | |
| "src": "0:781: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 | |
| }, | |
| "goerli:5": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| }, | |
| "Custom": { | |
| "linkReferences": {}, | |
| "autoDeployLib": true | |
| } | |
| }, | |
| "data": { | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_20": { | |
| "entryPoint": null, | |
| "id": 20, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 327, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 402, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_string_memory_ptr_fromMemory": { | |
| "entryPoint": 453, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 534, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 565, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_string_memory_ptr": { | |
| "entryPoint": 575, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 629, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 683, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 737, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 791, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 838, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 885, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 890, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 895, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 900, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 905, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:3764:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "102:326:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "112:75:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "179:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "137:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "137:49:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "121:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "121:66:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "112:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "203:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "210:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "196:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "196:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "196:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "226:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "241:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "248:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "237:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "237:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "230:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "291:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "293:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "293:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "293:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "272:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "277:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "268:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "268:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "286:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "265:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "265:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "262:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "405:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "410:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "415:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "383:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "383:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "383:39:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "75:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "80:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "88:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "96:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:421:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "521:282:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "570:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "572:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "572:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "572:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "549:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "557:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "545:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "545:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "564:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "541:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "541:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "534:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "534:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "531:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "662:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "682:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "676:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "676:13:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "666:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "698:99:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "770:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "778:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "766:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "766:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "785:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "793:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "707:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "707:90:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "698:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "499:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "507:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "515:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "448:355:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "896:437:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "942:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "944:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "944:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "944:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "917:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "926:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "913:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "913:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "938:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "909:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "909:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "906:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1035:291:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1050:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1074:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1085:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1070:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1070:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1064:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1064:24:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1054:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1135:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "1137:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1137:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1137:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1107:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1115:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1104:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1104:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1101:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1232:84:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1288:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1299:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1284:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1284:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1308:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulIdentifier", | |
| "src": "1242:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1242:74:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1232:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "866:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "877:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "889:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "809:524:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1380:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1390:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "1400:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1400:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1390:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1449:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1457:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1429:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1364:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1373:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1339:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1514:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1524:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1540:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1534:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1534:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1524:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "1507:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1474:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1622:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1727:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "1729:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1729:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1729:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1699:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1707:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1696:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1696:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1693:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1759:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1789:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "1767:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1767:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1759:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1833:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1851:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1841:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1841:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "1833:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1606:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "1617:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1555:308:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1918:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1928:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1937:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "1932:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1997:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2022:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2027:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2018:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2018:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2041:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2046:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2037:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2037:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2031:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2031:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2011:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2011:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2011:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1958:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1961:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1955:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1955:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "1969:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1971:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1980:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1983:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1976:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1976:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "1951:3:1", | |
| "statements": [] | |
| }, | |
| "src": "1947:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2094:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2144:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2149:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2140:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2140:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2158:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2133:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2133:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2133:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "2075:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2078:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2072:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2072:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2069:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "1900:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "1905:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1910:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1869:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2233:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2243:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "2257:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2263:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "2253:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2253:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2243:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2274:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "2304:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2310:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2300:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2300:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "2278:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2351:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2365:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2379:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2387:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "2375:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2375:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2365:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "2331:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "2324:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2324:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2321:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2454:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "2468:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2468:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2468:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "2418:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2441:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2449:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2438:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2438:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "2415:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2415:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2412:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "2217:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2226:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2182:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2551:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "2561:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2583:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2613:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2591:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2591:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2579:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2579:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2565:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2730:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "2732:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2732:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2732:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2673:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2685:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2670:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2670:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2709:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2721:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2706:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2706:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "2667:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2667:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2664:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2768:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2772:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2761:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2761:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2761:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2537:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2545:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2508:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2823:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2840:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2843:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2833:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2833:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2833:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2937:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2940:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2930:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2930:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2930:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2961:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2964:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "2954:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2954:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2954:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "2795:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3009:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3026:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3029:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3019:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3019:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3019:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3123:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3126:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3116:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3116:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3116:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3147:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3150:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3140:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3140:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3140:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "2981:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3256:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3273:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3276:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3266:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3266:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3266:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3167:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3379:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3396:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3399:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3389:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3389:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3389:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3290:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3502:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3519:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3522:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3512:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3512:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3512:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3413:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3625:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3642:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3645:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "3635:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3635:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3635:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3536:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3707:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3717:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "3735:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3742:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3731:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3731:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3751:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "3747:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3747:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3727:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3727:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "3717:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "3690:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "3700:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3659:102:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "linkReferences": {}, | |
| "object": "60806040523480156200001157600080fd5b506040516200092f3803806200092f8339818101604052810190620000379190620001c5565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600190805190602001906200008f92919062000097565b50506200039a565b828054620000a590620002ab565b90600052602060002090601f016020900481019282620000c9576000855562000115565b82601f10620000e457805160ff191683800117855562000115565b8280016001018555821562000115579182015b8281111562000114578251825591602001919060010190620000f7565b5b50905062000124919062000128565b5090565b5b808211156200014357600081600090555060010162000129565b5090565b60006200015e62000158846200023f565b62000216565b9050828152602081018484840111156200017d576200017c6200037a565b5b6200018a84828562000275565b509392505050565b600082601f830112620001aa57620001a962000375565b5b8151620001bc84826020860162000147565b91505092915050565b600060208284031215620001de57620001dd62000384565b5b600082015167ffffffffffffffff811115620001ff57620001fe6200037f565b5b6200020d8482850162000192565b91505092915050565b60006200022262000235565b9050620002308282620002e1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200025d576200025c62000346565b5b620002688262000389565b9050602081019050919050565b60005b838110156200029557808201518184015260208101905062000278565b83811115620002a5576000848401525b50505050565b60006002820490506001821680620002c457607f821691505b60208210811415620002db57620002da62000317565b5b50919050565b620002ec8262000389565b810181811067ffffffffffffffff821117156200030e576200030d62000346565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61058580620003aa6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632e9826021461004657806332af2edb1461006257806341c0e1b514610080575b600080fd5b610060600480360381019061005b9190610311565b61008a565b005b61006a6100fd565b6040516100779190610393565b60405180910390f35b61008861018f565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100e2576100fa565b80600190805190602001906100f89291906101fe565b505b50565b60606001805461010c90610469565b80601f016020809104026020016040519081016040528092919081815260200182805461013890610469565b80156101855780601f1061015a57610100808354040283529160200191610185565b820191906000526020600020905b81548152906001019060200180831161016857829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101fc573373ffffffffffffffffffffffffffffffffffffffff16ff5b565b82805461020a90610469565b90600052602060002090601f01602090048101928261022c5760008555610273565b82601f1061024557805160ff1916838001178555610273565b82800160010185558215610273579182015b82811115610272578251825591602001919060010190610257565b5b5090506102809190610284565b5090565b5b8082111561029d576000816000905550600101610285565b5090565b60006102b46102af846103da565b6103b5565b9050828152602081018484840111156102d0576102cf61052f565b5b6102db848285610427565b509392505050565b600082601f8301126102f8576102f761052a565b5b81356103088482602086016102a1565b91505092915050565b60006020828403121561032757610326610539565b5b600082013567ffffffffffffffff81111561034557610344610534565b5b610351848285016102e3565b91505092915050565b60006103658261040b565b61036f8185610416565b935061037f818560208601610436565b6103888161053e565b840191505092915050565b600060208201905081810360008301526103ad818461035a565b905092915050565b60006103bf6103d0565b90506103cb828261049b565b919050565b6000604051905090565b600067ffffffffffffffff8211156103f5576103f46104fb565b5b6103fe8261053e565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b83811015610454578082015181840152602081019050610439565b83811115610463576000848401525b50505050565b6000600282049050600182168061048157607f821691505b60208210811415610495576104946104cc565b5b50919050565b6104a48261053e565b810181811067ffffffffffffffff821117156104c3576104c26104fb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f830116905091905056fea2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x92F CODESIZE SUB DUP1 PUSH3 0x92F DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x1C5 JUMP JUMPDEST CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x8F SWAP3 SWAP2 SWAP1 PUSH3 0x97 JUMP JUMPDEST POP POP PUSH3 0x39A JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0xA5 SWAP1 PUSH3 0x2AB JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xC9 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x115 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xE4 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x115 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x115 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x114 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xF7 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x124 SWAP2 SWAP1 PUSH3 0x128 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x143 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x129 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x15E PUSH3 0x158 DUP5 PUSH3 0x23F JUMP JUMPDEST PUSH3 0x216 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x17D JUMPI PUSH3 0x17C PUSH3 0x37A JUMP JUMPDEST JUMPDEST PUSH3 0x18A DUP5 DUP3 DUP6 PUSH3 0x275 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1AA JUMPI PUSH3 0x1A9 PUSH3 0x375 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH3 0x1BC DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x147 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x1DE JUMPI PUSH3 0x1DD PUSH3 0x384 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x1FF JUMPI PUSH3 0x1FE PUSH3 0x37F JUMP JUMPDEST JUMPDEST PUSH3 0x20D DUP5 DUP3 DUP6 ADD PUSH3 0x192 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x222 PUSH3 0x235 JUMP JUMPDEST SWAP1 POP PUSH3 0x230 DUP3 DUP3 PUSH3 0x2E1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x25D JUMPI PUSH3 0x25C PUSH3 0x346 JUMP JUMPDEST JUMPDEST PUSH3 0x268 DUP3 PUSH3 0x389 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x295 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x278 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x2A5 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x2C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x2DB JUMPI PUSH3 0x2DA PUSH3 0x317 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2EC DUP3 PUSH3 0x389 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x30E JUMPI PUSH3 0x30D PUSH3 0x346 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x585 DUP1 PUSH3 0x3AA PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E982602 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x32AF2EDB EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x41C0E1B5 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x311 JUMP JUMPDEST PUSH2 0x8A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xFD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x393 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x18F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE2 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE JUMP JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x10C SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138 SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x185 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x185 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x168 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1FC JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x20A SWAP1 PUSH2 0x469 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x22C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x245 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x273 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x272 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x257 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x284 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x285 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B4 PUSH2 0x2AF DUP5 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2D0 JUMPI PUSH2 0x2CF PUSH2 0x52F JUMP JUMPDEST JUMPDEST PUSH2 0x2DB DUP5 DUP3 DUP6 PUSH2 0x427 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x52A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x308 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2A1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x539 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x534 JUMP JUMPDEST JUMPDEST PUSH2 0x351 DUP5 DUP3 DUP6 ADD PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x365 DUP3 PUSH2 0x40B JUMP JUMPDEST PUSH2 0x36F DUP2 DUP6 PUSH2 0x416 JUMP JUMPDEST SWAP4 POP PUSH2 0x37F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x436 JUMP JUMPDEST PUSH2 0x388 DUP2 PUSH2 0x53E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3AD DUP2 DUP5 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF PUSH2 0x3D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CB DUP3 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F5 JUMPI PUSH2 0x3F4 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST PUSH2 0x3FE DUP3 PUSH2 0x53E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x454 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x439 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4A4 DUP3 PUSH2 0x53E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C3 JUMPI PUSH2 0x4C2 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 JUMPDEST DUP8 0xD 0x4B 0xED MULMOD 0xDE 0xE6 0xBB SWAP11 SWAP14 0x29 SELFBALANCE SWAP14 0x4A PUSH20 0x24D127240723086BB2877F1451DF7964736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ", | |
| "sourceMap": "33:748:0:-:0;;;186:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;294:10;286:5;;:18;;;;;;;;;;;;;;;;;;324:8;314:7;:18;;;;;;;;;;;;:::i;:::-;;186:153;33:748;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:421:1:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:112;;;293:79;;:::i;:::-;262:112;383:39;415:6;410:3;405;383:39;:::i;:::-;102:326;7:421;;;;;:::o;448:355::-;515:5;564:3;557:4;549:6;545:17;541:27;531:122;;572:79;;:::i;:::-;531:122;682:6;676:13;707:90;793:3;785:6;778:4;770:6;766:17;707:90;:::i;:::-;698:99;;521:282;448:355;;;;:::o;809:524::-;889:6;938:2;926:9;917:7;913:23;909:32;906:119;;;944:79;;:::i;:::-;906:119;1085:1;1074:9;1070:17;1064:24;1115:18;1107:6;1104:30;1101:117;;;1137:79;;:::i;:::-;1101:117;1242:74;1308:7;1299:6;1288:9;1284:22;1242:74;:::i;:::-;1232:84;;1035:291;809:524;;;;:::o;1339:129::-;1373:6;1400:20;;:::i;:::-;1390:30;;1429:33;1457:4;1449:6;1429:33;:::i;:::-;1339:129;;;:::o;1474:75::-;1507:6;1540:2;1534:9;1524:19;;1474:75;:::o;1555:308::-;1617:4;1707:18;1699:6;1696:30;1693:56;;;1729:18;;:::i;:::-;1693:56;1767:29;1789:6;1767:29;:::i;:::-;1759:37;;1851:4;1845;1841:15;1833:23;;1555:308;;;:::o;1869:307::-;1937:1;1947:113;1961:6;1958:1;1955:13;1947:113;;;2046:1;2041:3;2037:11;2031:18;2027:1;2022:3;2018:11;2011:39;1983:2;1980:1;1976:10;1971:15;;1947:113;;;2078:6;2075:1;2072:13;2069:101;;;2158:1;2149:6;2144:3;2140:16;2133:27;2069:101;1918:258;1869:307;;;:::o;2182:320::-;2226:6;2263:1;2257:4;2253:12;2243:22;;2310:1;2304:4;2300:12;2331:18;2321:81;;2387:4;2379:6;2375:17;2365:27;;2321:81;2449:2;2441:6;2438:14;2418:18;2415:38;2412:84;;;2468:18;;:::i;:::-;2412:84;2233:269;2182:320;;;:::o;2508:281::-;2591:27;2613:4;2591:27;:::i;:::-;2583:6;2579:40;2721:6;2709:10;2706:22;2685:18;2673:10;2670:34;2667:62;2664:88;;;2732:18;;:::i;:::-;2664:88;2772:10;2768:2;2761:22;2551:238;2508:281;;:::o;2795:180::-;2843:77;2840:1;2833:88;2940:4;2937:1;2930:15;2964:4;2961:1;2954:15;2981:180;3029:77;3026:1;3019:88;3126:4;3123:1;3116:15;3150:4;3147:1;3140:15;3167:117;3276:1;3273;3266:12;3290:117;3399:1;3396;3389:12;3413:117;3522:1;3519;3512:12;3536:117;3645:1;3642;3635:12;3659:102;3700:6;3751:2;3747:7;3742:2;3735:5;3731:14;3727:28;3717:38;;3659:102;;;:::o;33:748:0:-;;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@get_message_44": { | |
| "entryPoint": 253, | |
| "id": 44, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "@kill_61": { | |
| "entryPoint": 399, | |
| "id": 61, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "@set_message_36": { | |
| "entryPoint": 138, | |
| "id": 36, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_available_length_t_string_memory_ptr": { | |
| "entryPoint": 673, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_t_string_memory_ptr": { | |
| "entryPoint": 739, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_string_memory_ptr": { | |
| "entryPoint": 785, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 858, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
| "entryPoint": 915, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_memory": { | |
| "entryPoint": 949, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": 976, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "array_allocation_size_t_string_memory_ptr": { | |
| "entryPoint": 986, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_length_t_string_memory_ptr": { | |
| "entryPoint": 1035, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
| "entryPoint": 1046, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "copy_calldata_to_memory": { | |
| "entryPoint": 1063, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "copy_memory_to_memory": { | |
| "entryPoint": 1078, | |
| "id": null, | |
| "parameterSlots": 3, | |
| "returnSlots": 0 | |
| }, | |
| "extract_byte_array_length": { | |
| "entryPoint": 1129, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "finalize_allocation": { | |
| "entryPoint": 1179, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x22": { | |
| "entryPoint": 1228, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "panic_error_0x41": { | |
| "entryPoint": 1275, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": { | |
| "entryPoint": 1322, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": { | |
| "entryPoint": 1327, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": 1332, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 1337, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "round_up_to_mul_of_32": { | |
| "entryPoint": 1342, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nodeType": "YulBlock", | |
| "src": "0:4854:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "91:328:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "101:75:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "168:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "126:41:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "126:49:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "allocate_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "110:15:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "110:66:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "101:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "192:5:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "199:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "185:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "185:21:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "185:21:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "215:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "230:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "237:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "226:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "226:16:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "219:3:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "280:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulIdentifier", | |
| "src": "282:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "282:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "282:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "261:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "266:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "257:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "257:16:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "275:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "254:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "254:25:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "251:112:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "396:3:1" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "401:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "406:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "372:23:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "372:41:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "372:41:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "64:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "69:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "77:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "85:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:412:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "501:278:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "550:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulIdentifier", | |
| "src": "552:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "552:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "552:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "529:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "537:4:1", | |
| "type": "", | |
| "value": "0x1f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "525:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "525:17:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "544:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "521:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "521:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "514:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "514:35:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "511:122:1" | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "642:34:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "669:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "656:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "656:20:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "646:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "685:88:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "746:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "754:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "742:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "742:17:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "761:6:1" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "769:3:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_available_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "694:47:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "694:79:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulIdentifier", | |
| "src": "685:5:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "479:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "487:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "array", | |
| "nodeType": "YulTypedName", | |
| "src": "495:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "439:340:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "861:433:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "907:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulIdentifier", | |
| "src": "909:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "909:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "909:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "882:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "891:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "878:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "878:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "903:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nodeType": "YulIdentifier", | |
| "src": "874:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "874:32:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "871:119:1" | |
| }, | |
| { | |
| "nodeType": "YulBlock", | |
| "src": "1000:287:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1015:45:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1046:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1057:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1042:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1042:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nodeType": "YulIdentifier", | |
| "src": "1029:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1029:31:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulTypedName", | |
| "src": "1019:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1107:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulIdentifier", | |
| "src": "1109:77:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1109:79:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1109:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1079:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1087:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "1076:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1076:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "1073:117:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1204:73:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1249:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nodeType": "YulIdentifier", | |
| "src": "1260:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1245:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1245:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulIdentifier", | |
| "src": "1269:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1214:30:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1214:63:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1204:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "831:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nodeType": "YulTypedName", | |
| "src": "842:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "854:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "785:509:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1392:272:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "1402:53:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1449:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulIdentifier", | |
| "src": "1416:32:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1416:39:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "1406:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1464:78:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1530:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1535:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1471:58:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1471:71:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1464:3:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "1577:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1584:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1573:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1573:16:1" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1591:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1596:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulIdentifier", | |
| "src": "1551:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1551:52:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1551:52:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1612:46:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "1623:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "1650:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "1628:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1628:29:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1619:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1619:39:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulIdentifier", | |
| "src": "1612:3:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "1373:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "1380:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "end", | |
| "nodeType": "YulTypedName", | |
| "src": "1388:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1300:364:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "1788:195:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1798:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1810:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1821:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1806:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1806:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1798:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1845:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "1856:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "1841:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1841:17:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1864:4:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulIdentifier", | |
| "src": "1870:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nodeType": "YulIdentifier", | |
| "src": "1860:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1860:20:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "1834:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1834:47:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1834:47:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "1890:86:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nodeType": "YulIdentifier", | |
| "src": "1962:6:1" | |
| }, | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1971:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulIdentifier", | |
| "src": "1898:63:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "1898:78:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulIdentifier", | |
| "src": "1890:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nodeType": "YulTypedName", | |
| "src": "1760:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nodeType": "YulTypedName", | |
| "src": "1772:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nodeType": "YulTypedName", | |
| "src": "1783:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1670:313:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2030:88:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2040:30:1", | |
| "value": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulIdentifier", | |
| "src": "2050:18:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2050:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2040:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2099:6:1" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2107:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "finalize_allocation", | |
| "nodeType": "YulIdentifier", | |
| "src": "2079:19:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2079:33:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2079:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "allocate_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2014:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2023:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1989:129:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2164:35:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2174:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2190:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2184:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2184:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "2174:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "2157:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2124:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2272:241:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2377:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "2379:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2379:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2379:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2349:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2357:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "2346:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2346:30:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "2343:56:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2409:37:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2439:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "2417:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2417:29:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2409:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2483:23:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2495:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2501:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2491:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2491:15:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "2483:4:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_allocation_size_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2256:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "2267:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2205:308:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2578:40:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2589:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "2605:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "2599:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2599:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2589:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_length_t_string_memory_ptr", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "2561:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2571:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2519:99:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2720:73:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2737:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2742:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2730:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2730:19:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2730:19:1" | |
| }, | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "2758:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2777:3:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2782:4:1", | |
| "type": "", | |
| "value": "0x20" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2773:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2773:14:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulIdentifier", | |
| "src": "2758:11:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2692:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2697:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "updated_pos", | |
| "nodeType": "YulTypedName", | |
| "src": "2708:11:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2624:169:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "2850:103:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2873:3:1" | |
| }, | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "2878:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2883:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldatacopy", | |
| "nodeType": "YulIdentifier", | |
| "src": "2860:12:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2860:30:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2860:30:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "2931:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "2936:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "2927:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2927:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "2945:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "2920:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "2920:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "2920:27:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_calldata_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "2832:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "2837:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "2842:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2799:154:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3008:258:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3018:10:1", | |
| "value": { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3027:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulTypedName", | |
| "src": "3022:1:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3087:63:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3112:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3117:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3108:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3108:11:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulIdentifier", | |
| "src": "3131:3:1" | |
| }, | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3136:1:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3127:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3127:11:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nodeType": "YulIdentifier", | |
| "src": "3121:5:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3121:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3101:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3101:39:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3101:39:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3048:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3051:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3045:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3045:13:1" | |
| }, | |
| "nodeType": "YulForLoop", | |
| "post": { | |
| "nodeType": "YulBlock", | |
| "src": "3059:19:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3061:15:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3070:1:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3073:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3066:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3066:10:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3061:1:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "pre": { | |
| "nodeType": "YulBlock", | |
| "src": "3041:3:1", | |
| "statements": [] | |
| }, | |
| "src": "3037:113:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3184:76:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dst", | |
| "nodeType": "YulIdentifier", | |
| "src": "3234:3:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3239:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3230:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3230:16:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3248:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3223:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3223:27:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3223:27:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "i", | |
| "nodeType": "YulIdentifier", | |
| "src": "3165:1:1" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3168:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3162:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3162:13:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3159:101:1" | |
| } | |
| ] | |
| }, | |
| "name": "copy_memory_to_memory", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "src", | |
| "nodeType": "YulTypedName", | |
| "src": "2990:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dst", | |
| "nodeType": "YulTypedName", | |
| "src": "2995:3:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3000:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "2959:307:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3323:269:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3333:22:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3347:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3353:1:1", | |
| "type": "", | |
| "value": "2" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "div", | |
| "nodeType": "YulIdentifier", | |
| "src": "3343:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3343:12:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3333:6:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3364:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulIdentifier", | |
| "src": "3394:4:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3400:1:1", | |
| "type": "", | |
| "value": "1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3390:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3390:12:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulTypedName", | |
| "src": "3368:18:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3441:51:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "3455:27:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3469:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3477:4:1", | |
| "type": "", | |
| "value": "0x7f" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "3465:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3465:17:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3455:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3421:18:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nodeType": "YulIdentifier", | |
| "src": "3414:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3414:26:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3411:81:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3544:42:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulIdentifier", | |
| "src": "3558:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3558:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3558:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "name": "outOfPlaceEncoding", | |
| "nodeType": "YulIdentifier", | |
| "src": "3508:18:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulIdentifier", | |
| "src": "3531:6:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3539:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3528:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3528:14:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nodeType": "YulIdentifier", | |
| "src": "3505:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3505:38:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3502:84:1" | |
| } | |
| ] | |
| }, | |
| "name": "extract_byte_array_length", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "data", | |
| "nodeType": "YulTypedName", | |
| "src": "3307:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "length", | |
| "nodeType": "YulTypedName", | |
| "src": "3316:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3272:320:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3641:238:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "3651:58:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3673:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "size", | |
| "nodeType": "YulIdentifier", | |
| "src": "3703:4:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulIdentifier", | |
| "src": "3681:21:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3681:27:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "3669:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3669:40:1" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulTypedName", | |
| "src": "3655:10:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3820:22:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulIdentifier", | |
| "src": "3822:16:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3822:18:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3822:18:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3763:10:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3775:18:1", | |
| "type": "", | |
| "value": "0xffffffffffffffff" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "gt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3760:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3760:34:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3799:10:1" | |
| }, | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3811:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "lt", | |
| "nodeType": "YulIdentifier", | |
| "src": "3796:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3796:22:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "or", | |
| "nodeType": "YulIdentifier", | |
| "src": "3757:2:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3757:62:1" | |
| }, | |
| "nodeType": "YulIf", | |
| "src": "3754:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3858:2:1", | |
| "type": "", | |
| "value": "64" | |
| }, | |
| { | |
| "name": "newFreePtr", | |
| "nodeType": "YulIdentifier", | |
| "src": "3862:10:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3851:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3851:22:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3851:22:1" | |
| } | |
| ] | |
| }, | |
| "name": "finalize_allocation", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "memPtr", | |
| "nodeType": "YulTypedName", | |
| "src": "3627:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "size", | |
| "nodeType": "YulTypedName", | |
| "src": "3635:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "3598:281:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "3913:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3930:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "3933:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "3923:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "3923:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "3923:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4027:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4030:4:1", | |
| "type": "", | |
| "value": "0x22" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4020:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4020:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4020:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4051:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4054:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4044:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4044:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4044:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x22", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "3885:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4099:152:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4116:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4119:77:1", | |
| "type": "", | |
| "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4109:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4109:88:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4109:88:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4213:1:1", | |
| "type": "", | |
| "value": "4" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4216:4:1", | |
| "type": "", | |
| "value": "0x41" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nodeType": "YulIdentifier", | |
| "src": "4206:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4206:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4206:15:1" | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4237:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4240:4:1", | |
| "type": "", | |
| "value": "0x24" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4230:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4230:15:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4230:15:1" | |
| } | |
| ] | |
| }, | |
| "name": "panic_error_0x41", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4071:180:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4346:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4363:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4366:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4356:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4356:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4356:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4257:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4469:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4486:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4489:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4479:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4479:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4479:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4380:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4592:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4609:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4612:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4602:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4602:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4602:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4503:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4715:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4732:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4735:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nodeType": "YulIdentifier", | |
| "src": "4725:6:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4725:12:1" | |
| }, | |
| "nodeType": "YulExpressionStatement", | |
| "src": "4725:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "4626:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nodeType": "YulBlock", | |
| "src": "4797:54:1", | |
| "statements": [ | |
| { | |
| "nodeType": "YulAssignment", | |
| "src": "4807:38:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulIdentifier", | |
| "src": "4825:5:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4832:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nodeType": "YulIdentifier", | |
| "src": "4821:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4821:14:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nodeType": "YulLiteral", | |
| "src": "4841:2:1", | |
| "type": "", | |
| "value": "31" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "not", | |
| "nodeType": "YulIdentifier", | |
| "src": "4837:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4837:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "and", | |
| "nodeType": "YulIdentifier", | |
| "src": "4817:3:1" | |
| }, | |
| "nodeType": "YulFunctionCall", | |
| "src": "4817:28:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulIdentifier", | |
| "src": "4807:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "round_up_to_mul_of_32", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nodeType": "YulTypedName", | |
| "src": "4780:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "result", | |
| "nodeType": "YulTypedName", | |
| "src": "4790:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "4749:102:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\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 finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", | |
| "id": 1, | |
| "language": "Yul", | |
| "name": "#utility.yul" | |
| } | |
| ], | |
| "immutableReferences": {}, | |
| "linkReferences": {}, | |
| "object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80632e9826021461004657806332af2edb1461006257806341c0e1b514610080575b600080fd5b610060600480360381019061005b9190610311565b61008a565b005b61006a6100fd565b6040516100779190610393565b60405180910390f35b61008861018f565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146100e2576100fa565b80600190805190602001906100f89291906101fe565b505b50565b60606001805461010c90610469565b80601f016020809104026020016040519081016040528092919081815260200182805461013890610469565b80156101855780601f1061015a57610100808354040283529160200191610185565b820191906000526020600020905b81548152906001019060200180831161016857829003601f168201915b5050505050905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101fc573373ffffffffffffffffffffffffffffffffffffffff16ff5b565b82805461020a90610469565b90600052602060002090601f01602090048101928261022c5760008555610273565b82601f1061024557805160ff1916838001178555610273565b82800160010185558215610273579182015b82811115610272578251825591602001919060010190610257565b5b5090506102809190610284565b5090565b5b8082111561029d576000816000905550600101610285565b5090565b60006102b46102af846103da565b6103b5565b9050828152602081018484840111156102d0576102cf61052f565b5b6102db848285610427565b509392505050565b600082601f8301126102f8576102f761052a565b5b81356103088482602086016102a1565b91505092915050565b60006020828403121561032757610326610539565b5b600082013567ffffffffffffffff81111561034557610344610534565b5b610351848285016102e3565b91505092915050565b60006103658261040b565b61036f8185610416565b935061037f818560208601610436565b6103888161053e565b840191505092915050565b600060208201905081810360008301526103ad818461035a565b905092915050565b60006103bf6103d0565b90506103cb828261049b565b919050565b6000604051905090565b600067ffffffffffffffff8211156103f5576103f46104fb565b5b6103fe8261053e565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b83811015610454578082015181840152602081019050610439565b83811115610463576000848401525b50505050565b6000600282049050600182168061048157607f821691505b60208210811415610495576104946104cc565b5b50919050565b6104a48261053e565b810181811067ffffffffffffffff821117156104c3576104c26104fb565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f830116905091905056fea2646970667358221220e05b870d4bed09dee6bb9a9d29479d4a7324d127240723086bb2877f1451df7964736f6c63430008070033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E982602 EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x32AF2EDB EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x41C0E1B5 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x311 JUMP JUMPDEST PUSH2 0x8A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0xFD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x393 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x18F JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xE2 JUMPI PUSH2 0xFA JUMP JUMPDEST DUP1 PUSH1 0x1 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xF8 SWAP3 SWAP2 SWAP1 PUSH2 0x1FE JUMP JUMPDEST POP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x10C SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138 SWAP1 PUSH2 0x469 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x185 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x185 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x168 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1FC JUMPI CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SELFDESTRUCT JUMPDEST JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x20A SWAP1 PUSH2 0x469 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x22C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x245 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x273 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x273 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x272 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x257 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280 SWAP2 SWAP1 PUSH2 0x284 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x285 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B4 PUSH2 0x2AF DUP5 PUSH2 0x3DA JUMP JUMPDEST PUSH2 0x3B5 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2D0 JUMPI PUSH2 0x2CF PUSH2 0x52F JUMP JUMPDEST JUMPDEST PUSH2 0x2DB DUP5 DUP3 DUP6 PUSH2 0x427 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2F8 JUMPI PUSH2 0x2F7 PUSH2 0x52A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x308 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2A1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x327 JUMPI PUSH2 0x326 PUSH2 0x539 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x345 JUMPI PUSH2 0x344 PUSH2 0x534 JUMP JUMPDEST JUMPDEST PUSH2 0x351 DUP5 DUP3 DUP6 ADD PUSH2 0x2E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x365 DUP3 PUSH2 0x40B JUMP JUMPDEST PUSH2 0x36F DUP2 DUP6 PUSH2 0x416 JUMP JUMPDEST SWAP4 POP PUSH2 0x37F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x436 JUMP JUMPDEST PUSH2 0x388 DUP2 PUSH2 0x53E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x3AD DUP2 DUP5 PUSH2 0x35A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3BF PUSH2 0x3D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CB DUP3 DUP3 PUSH2 0x49B JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3F5 JUMPI PUSH2 0x3F4 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST PUSH2 0x3FE DUP3 PUSH2 0x53E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x454 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x439 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x463 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x495 JUMPI PUSH2 0x494 PUSH2 0x4CC JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4A4 DUP3 PUSH2 0x53E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x4C3 JUMPI PUSH2 0x4C2 PUSH2 0x4FB JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE0 JUMPDEST DUP8 0xD 0x4B 0xED MULMOD 0xDE 0xE6 0xBB SWAP11 SWAP14 0x29 SELFBALANCE SWAP14 0x4A PUSH20 0x24D127240723086BB2877F1451DF7964736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ", | |
| "sourceMap": "33:748:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;345:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;556:90;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;693:86;;;:::i;:::-;;345:182;479:5;;;;;;;;;;465:19;;:10;:19;;;461:32;;486:7;;461:32;512:8;502:7;:18;;;;;;;;;;;;:::i;:::-;;345:182;;:::o;556:90::-;600:13;632:7;625:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;556:90;:::o;693:86::-;736:5;;;;;;;;;;722:19;;:10;:19;;;718:58;;;764:10;743:33;;;718:58;693:86::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:509::-;854:6;903:2;891:9;882:7;878:23;874:32;871:119;;;909:79;;:::i;:::-;871:119;1057:1;1046:9;1042:17;1029:31;1087:18;1079:6;1076:30;1073:117;;;1109:79;;:::i;:::-;1073:117;1214:63;1269:7;1260:6;1249:9;1245:22;1214:63;:::i;:::-;1204:73;;1000:287;785:509;;;;:::o;1300:364::-;1388:3;1416:39;1449:5;1416:39;:::i;:::-;1471:71;1535:6;1530:3;1471:71;:::i;:::-;1464:78;;1551:52;1596:6;1591:3;1584:4;1577:5;1573:16;1551:52;:::i;:::-;1628:29;1650:6;1628:29;:::i;:::-;1623:3;1619:39;1612:46;;1392:272;1300:364;;;;:::o;1670:313::-;1783:4;1821:2;1810:9;1806:18;1798:26;;1870:9;1864:4;1860:20;1856:1;1845:9;1841:17;1834:47;1898:78;1971:4;1962:6;1898:78;:::i;:::-;1890:86;;1670:313;;;;:::o;1989:129::-;2023:6;2050:20;;:::i;:::-;2040:30;;2079:33;2107:4;2099:6;2079:33;:::i;:::-;1989:129;;;:::o;2124:75::-;2157:6;2190:2;2184:9;2174:19;;2124:75;:::o;2205:308::-;2267:4;2357:18;2349:6;2346:30;2343:56;;;2379:18;;:::i;:::-;2343:56;2417:29;2439:6;2417:29;:::i;:::-;2409:37;;2501:4;2495;2491:15;2483:23;;2205:308;;;:::o;2519:99::-;2571:6;2605:5;2599:12;2589:22;;2519:99;;;:::o;2624:169::-;2708:11;2742:6;2737:3;2730:19;2782:4;2777:3;2773:14;2758:29;;2624:169;;;;:::o;2799:154::-;2883:6;2878:3;2873;2860:30;2945:1;2936:6;2931:3;2927:16;2920:27;2799:154;;;:::o;2959:307::-;3027:1;3037:113;3051:6;3048:1;3045:13;3037:113;;;3136:1;3131:3;3127:11;3121:18;3117:1;3112:3;3108:11;3101:39;3073:2;3070:1;3066:10;3061:15;;3037:113;;;3168:6;3165:1;3162:13;3159:101;;;3248:1;3239:6;3234:3;3230:16;3223:27;3159:101;3008:258;2959:307;;;:::o;3272:320::-;3316:6;3353:1;3347:4;3343:12;3333:22;;3400:1;3394:4;3390:12;3421:18;3411:81;;3477:4;3469:6;3465:17;3455:27;;3411:81;3539:2;3531:6;3528:14;3508:18;3505:38;3502:84;;;3558:18;;:::i;:::-;3502:84;3323:269;3272:320;;;:::o;3598:281::-;3681:27;3703:4;3681:27;:::i;:::-;3673:6;3669:40;3811:6;3799:10;3796:22;3775:18;3763:10;3760:34;3757:62;3754:88;;;3822:18;;:::i;:::-;3754:88;3862:10;3858:2;3851:22;3641:238;3598:281;;:::o;3885:180::-;3933:77;3930:1;3923:88;4030:4;4027:1;4020:15;4054:4;4051:1;4044:15;4071:180;4119:77;4116:1;4109:88;4216:4;4213:1;4206:15;4240:4;4237:1;4230:15;4257:117;4366:1;4363;4356:12;4380:117;4489:1;4486;4479:12;4503:117;4612:1;4609;4602:12;4626:117;4735:1;4732;4725:12;4749:102;4790:6;4841:2;4837:7;4832:2;4825:5;4821:14;4817:28;4807:38;;4749:102;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "282600", | |
| "executionCost": "infinite", | |
| "totalCost": "infinite" | |
| }, | |
| "external": { | |
| "get_message()": "infinite", | |
| "kill()": "29934", | |
| "set_message(string)": "infinite" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "get_message()": "32af2edb", | |
| "kill()": "41c0e1b5", | |
| "set_message(string)": "2e982602" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "get_message", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "kill", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "name": "set_message", | |
| "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": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "get_message", | |
| "outputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [], | |
| "name": "kill", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "string", | |
| "name": "message_", | |
| "type": "string" | |
| } | |
| ], | |
| "name": "set_message", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "HelloHedera.sol": "HelloHedera" | |
| }, | |
| "evmVersion": "london", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "HelloHedera.sol": { | |
| "keccak256": "0x72078cd9baf282e8e2cde2a3314f04a5e9144ae8e5d4a226565293782c1e427f", | |
| "urls": [ | |
| "bzz-raw://5a3bce5036583328e895330ca89fa00b75b51c5bc2e1a3b4e34d5f2922053de9", | |
| "dweb:/ipfs/QmYXeK74LZynfSa4ATCu5VPuRcQ7NLezPxwKqTycdaaRaB" | |
| ] | |
| } | |
| }, | |
| "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: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| /** | |
| * @title Storage | |
| * @dev Store & retrieve value in a variable | |
| * @custom:dev-run-script ./scripts/deploy_with_ethers.ts | |
| */ | |
| contract Storage { | |
| uint256 number; | |
| /** | |
| * @dev Store value in variable | |
| * @param num value to store | |
| */ | |
| function store(uint256 num) public { | |
| number = num; | |
| } | |
| /** | |
| * @dev Return value | |
| * @return value of 'number' | |
| */ | |
| function retrieve() public view returns (uint256){ | |
| return number; | |
| } | |
| } |
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.7.0 <0.9.0; | |
| import "hardhat/console.sol"; | |
| /** | |
| * @title Owner | |
| * @dev Set & change owner | |
| */ | |
| contract Owner { | |
| address private owner; | |
| // event for EVM logging | |
| event OwnerSet(address indexed oldOwner, address indexed newOwner); | |
| // modifier to check if caller is owner | |
| modifier isOwner() { | |
| // If the first argument of 'require' evaluates to 'false', execution terminates and all | |
| // changes to the state and to Ether balances are reverted. | |
| // This used to consume all gas in old EVM versions, but not anymore. | |
| // It is often a good idea to use 'require' to check if functions are called correctly. | |
| // As a second argument, you can also provide an explanation about what went wrong. | |
| require(msg.sender == owner, "Caller is not owner"); | |
| _; | |
| } | |
| /** | |
| * @dev Set contract deployer as owner | |
| */ | |
| constructor() { | |
| console.log("Owner contract deployed by:", msg.sender); | |
| owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor | |
| emit OwnerSet(address(0), owner); | |
| } | |
| /** | |
| * @dev Change owner | |
| * @param newOwner address of new owner | |
| */ | |
| function changeOwner(address newOwner) public isOwner { | |
| emit OwnerSet(owner, newOwner); | |
| owner = newOwner; | |
| } | |
| /** | |
| * @dev Return owner address | |
| * @return address of owner | |
| */ | |
| function getOwner() external view returns (address) { | |
| return owner; | |
| } | |
| } |
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.7.0 <0.9.0; | |
| /** | |
| * @title Ballot | |
| * @dev Implements voting process along with vote delegation | |
| */ | |
| contract Ballot { | |
| struct Voter { | |
| uint weight; // weight is accumulated by delegation | |
| bool voted; // if true, that person already voted | |
| address delegate; // person delegated to | |
| uint vote; // index of the voted proposal | |
| } | |
| struct Proposal { | |
| // If you can limit the length to a certain number of bytes, | |
| // always use one of bytes1 to bytes32 because they are much cheaper | |
| bytes32 name; // short name (up to 32 bytes) | |
| uint voteCount; // number of accumulated votes | |
| } | |
| address public chairperson; | |
| mapping(address => Voter) public voters; | |
| Proposal[] public proposals; | |
| /** | |
| * @dev Create a new ballot to choose one of 'proposalNames'. | |
| * @param proposalNames names of proposals | |
| */ | |
| constructor(bytes32[] memory proposalNames) { | |
| chairperson = msg.sender; | |
| voters[chairperson].weight = 1; | |
| for (uint i = 0; i < proposalNames.length; i++) { | |
| // 'Proposal({...})' creates a temporary | |
| // Proposal object and 'proposals.push(...)' | |
| // appends it to the end of 'proposals'. | |
| proposals.push(Proposal({ | |
| name: proposalNames[i], | |
| voteCount: 0 | |
| })); | |
| } | |
| } | |
| /** | |
| * @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'. | |
| * @param voter address of voter | |
| */ | |
| function giveRightToVote(address voter) public { | |
| require( | |
| msg.sender == chairperson, | |
| "Only chairperson can give right to vote." | |
| ); | |
| require( | |
| !voters[voter].voted, | |
| "The voter already voted." | |
| ); | |
| require(voters[voter].weight == 0); | |
| voters[voter].weight = 1; | |
| } | |
| /** | |
| * @dev Delegate your vote to the voter 'to'. | |
| * @param to address to which vote is delegated | |
| */ | |
| function delegate(address to) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(!sender.voted, "You already voted."); | |
| require(to != msg.sender, "Self-delegation is disallowed."); | |
| while (voters[to].delegate != address(0)) { | |
| to = voters[to].delegate; | |
| // We found a loop in the delegation, not allowed. | |
| require(to != msg.sender, "Found loop in delegation."); | |
| } | |
| sender.voted = true; | |
| sender.delegate = to; | |
| Voter storage delegate_ = voters[to]; | |
| if (delegate_.voted) { | |
| // If the delegate already voted, | |
| // directly add to the number of votes | |
| proposals[delegate_.vote].voteCount += sender.weight; | |
| } else { | |
| // If the delegate did not vote yet, | |
| // add to her weight. | |
| delegate_.weight += sender.weight; | |
| } | |
| } | |
| /** | |
| * @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'. | |
| * @param proposal index of proposal in the proposals array | |
| */ | |
| function vote(uint proposal) public { | |
| Voter storage sender = voters[msg.sender]; | |
| require(sender.weight != 0, "Has no right to vote"); | |
| require(!sender.voted, "Already voted."); | |
| sender.voted = true; | |
| sender.vote = proposal; | |
| // If 'proposal' is out of the range of the array, | |
| // this will throw automatically and revert all | |
| // changes. | |
| proposals[proposal].voteCount += sender.weight; | |
| } | |
| /** | |
| * @dev Computes the winning proposal taking all previous votes into account. | |
| * @return winningProposal_ index of winning proposal in the proposals array | |
| */ | |
| function winningProposal() public view | |
| returns (uint winningProposal_) | |
| { | |
| uint winningVoteCount = 0; | |
| for (uint p = 0; p < proposals.length; p++) { | |
| if (proposals[p].voteCount > winningVoteCount) { | |
| winningVoteCount = proposals[p].voteCount; | |
| winningProposal_ = p; | |
| } | |
| } | |
| } | |
| /** | |
| * @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then | |
| * @return winnerName_ the name of the winner | |
| */ | |
| function winnerName() public view | |
| returns (bytes32 winnerName_) | |
| { | |
| winnerName_ = proposals[winningProposal()].name; | |
| } | |
| } |
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
| pragma solidity >=0.7.0 <0.8.9; | |
| contract HelloHedera { | |
| // the contract's owner, set in the constructor | |
| address owner; | |
| // the message we're storing | |
| string message; | |
| constructor(string memory message_) { | |
| // set the owner of the contract for `kill()` | |
| owner = msg.sender; | |
| message = message_; | |
| } | |
| function set_message(string memory message_) public { | |
| // only allow the owner to update the message | |
| if (msg.sender != owner) return; | |
| message = message_; | |
| } | |
| // return a string | |
| function get_message() public view returns (string memory) { | |
| return message; | |
| } | |
| // recover the funds of the contract | |
| function kill() public { if (msg.sender == owner) selfdestruct(payable(msg.sender)); } | |
| } |
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
| // This script can be used to deploy the "Storage" contract using ethers.js library. | |
| // Please make sure to compile "./contracts/1_Storage.sol" file before running this script. | |
| // And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S | |
| import { deploy } from './ethers-lib' | |
| (async () => { | |
| try { | |
| const result = await deploy('Storage', []) | |
| console.log(`address: ${result.address}`) | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
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
| // This script can be used to deploy the "Storage" contract using Web3 library. | |
| // Please make sure to compile "./contracts/1_Storage.sol" file before running this script. | |
| // And use Right click -> "Run" from context menu of the file to run the script. Shortcut: Ctrl+Shift+S | |
| import { deploy } from './web3-lib' | |
| (async () => { | |
| try { | |
| const result = await deploy('Storage', []) | |
| console.log(`address: ${result.address}`) | |
| } catch (e) { | |
| console.log(e.message) | |
| } | |
| })() |
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
| import { ethers } from 'ethers' | |
| /** | |
| * Deploy the given contract | |
| * @param {string} contractName name of the contract to deploy | |
| * @param {Array<any>} args list of constructor' parameters | |
| * @param {Number} accountIndex account index from the exposed account | |
| * @return {Contract} deployed contract | |
| */ | |
| export const deploy = async (contractName: string, args: Array<any>, accountIndex?: number): Promise<ethers.Contract> => { | |
| console.log(`deploying ${contractName}`) | |
| // Note that the script needs the ABI which is generated from the compilation artifact. | |
| // Make sure contract is compiled and artifacts are generated | |
| const artifactsPath = `browser/contracts/artifacts/${contractName}.json` // Change this for different path | |
| const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
| // 'web3Provider' is a remix global variable object | |
| const signer = (new ethers.providers.Web3Provider(web3Provider)).getSigner(accountIndex) | |
| const factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer) | |
| const contract = await factory.deploy(...args) | |
| // The contract is NOT deployed yet; we must wait until it is mined | |
| await contract.deployed() | |
| return contract | |
| } |
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
| import Web3 from 'web3' | |
| import { Contract, ContractSendMethod, Options } from 'web3-eth-contract' | |
| /** | |
| * Deploy the given contract | |
| * @param {string} contractName name of the contract to deploy | |
| * @param {Array<any>} args list of constructor' parameters | |
| * @param {string} from account used to send the transaction | |
| * @param {number} gas gas limit | |
| * @return {Options} deployed contract | |
| */ | |
| export const deploy = async (contractName: string, args: Array<any>, from?: string, gas?: number): Promise<Options> => { | |
| const web3 = new Web3(web3Provider) | |
| console.log(`deploying ${contractName}`) | |
| // Note that the script needs the ABI which is generated from the compilation artifact. | |
| // Make sure contract is compiled and artifacts are generated | |
| const artifactsPath = `browser/contracts/artifacts/${contractName}.json` | |
| const metadata = JSON.parse(await remix.call('fileManager', 'getFile', artifactsPath)) | |
| const accounts = await web3.eth.getAccounts() | |
| const contract: Contract = new web3.eth.Contract(metadata.abi) | |
| const contractSend: ContractSendMethod = contract.deploy({ | |
| data: metadata.data.bytecode.object, | |
| arguments: args | |
| }) | |
| const newContractInstance = await contractSend.send({ | |
| from: from || accounts[0], | |
| gas: gas || 1500000 | |
| }) | |
| return newContractInstance.options | |
| } |
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.7.0 <0.9.0; | |
| import "remix_tests.sol"; // this import is automatically injected by Remix. | |
| import "hardhat/console.sol"; | |
| import "../contracts/3_Ballot.sol"; | |
| contract BallotTest { | |
| bytes32[] proposalNames; | |
| Ballot ballotToTest; | |
| function beforeAll () public { | |
| proposalNames.push(bytes32("candidate1")); | |
| ballotToTest = new Ballot(proposalNames); | |
| } | |
| function checkWinningProposal () public { | |
| console.log("Running checkWinningProposal"); | |
| ballotToTest.vote(0); | |
| Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); | |
| Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); | |
| } | |
| function checkWinninProposalWithReturnValue () public view returns (bool) { | |
| return ballotToTest.winningProposal() == 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
| // Right click on the script name and hit "Run" to execute | |
| const { expect } = require("chai"); | |
| const { ethers } = require("hardhat"); | |
| describe("Storage", function () { | |
| it("test initial value", async function () { | |
| const Storage = await ethers.getContractFactory("Storage"); | |
| const storage = await Storage.deploy(); | |
| await storage.deployed(); | |
| console.log('storage deployed at:'+ storage.address) | |
| expect((await storage.retrieve()).toNumber()).to.equal(0); | |
| }); | |
| it("test updating and retrieving updated value", async function () { | |
| const Storage = await ethers.getContractFactory("Storage"); | |
| const storage = await Storage.deploy(); | |
| await storage.deployed(); | |
| const storage2 = await ethers.getContractAt("Storage", storage.address); | |
| const setValue = await storage2.store(56); | |
| await setValue.wait(); | |
| expect((await storage2.retrieve()).toNumber()).to.equal(56); | |
| }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment