Created
January 10, 2024 08:09
-
-
Save lispc/36c1cdd2d6179edfe6f0e088a8d2923a to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.22+commit.4fc1097e.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
{ | |
"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
{ | |
"id": "28d2480689930002a47f7774767afbeb", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.22", | |
"solcLongVersion": "0.8.22+commit.4fc1097e", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/HelloWorld.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity >=0.6.12 <0.9.0;\n\ncontract HelloWorld {\n /**\n * @dev Prints Hello World string\n */\n event LogThis(bytes32 msg);\n uint cnt;\n function print() public pure returns (string memory) {\n return \"Hello World!\";\n }\n constructor() {\n bytes32 root = blockhash(3689321);\n emit LogThis(root); \n uint256 root2 = 0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e;\n emit LogThis(bytes32(root2)); \n\n }\n function query(uint bn) public returns (bytes32) {\n bytes32 root = blockhash(bn);\n emit LogThis(root); \n return root;\n }\n}\n" | |
} | |
}, | |
"settings": { | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"outputSelection": { | |
"*": { | |
"": [ | |
"ast" | |
], | |
"*": [ | |
"abi", | |
"metadata", | |
"devdoc", | |
"userdoc", | |
"storageLayout", | |
"evm.legacyAssembly", | |
"evm.bytecode", | |
"evm.deployedBytecode", | |
"evm.methodIdentifiers", | |
"evm.gasEstimates", | |
"evm.assembly" | |
] | |
} | |
}, | |
"remappings": [] | |
} | |
}, | |
"output": { | |
"contracts": { | |
"contracts/HelloWorld.sol": { | |
"HelloWorld": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "bytes32", | |
"name": "msg", | |
"type": "bytes32" | |
} | |
], | |
"name": "LogThis", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "print", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "bn", | |
"type": "uint256" | |
} | |
], | |
"name": "query", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"events": { | |
"LogThis(bytes32)": { | |
"details": "Prints Hello World string" | |
} | |
}, | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/HelloWorld.sol\":66:611 contract HelloWorld {... */\n mstore(0x40, 0x80)\n /* \"contracts/HelloWorld.sol\":268:476 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/HelloWorld.sol\":289:301 bytes32 root */\n 0x00\n /* \"contracts/HelloWorld.sol\":314:321 3689321 */\n 0x384b69\n /* \"contracts/HelloWorld.sol\":304:322 blockhash(3689321) */\n blockhash\n /* \"contracts/HelloWorld.sol\":289:322 bytes32 root = blockhash(3689321) */\n swap1\n pop\n /* \"contracts/HelloWorld.sol\":333:346 LogThis(root) */\n 0xb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026\n /* \"contracts/HelloWorld.sol\":341:345 root */\n dup2\n /* \"contracts/HelloWorld.sol\":333:346 LogThis(root) */\n mload(0x40)\n tag_4\n swap2\n swap1\n tag_5\n jump\t// in\ntag_4:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/HelloWorld.sol\":353:366 uint256 root2 */\n 0x00\n /* \"contracts/HelloWorld.sol\":369:435 0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e */\n 0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e\n /* \"contracts/HelloWorld.sol\":353:435 uint256 root2 = 0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e */\n swap1\n pop\n /* \"contracts/HelloWorld.sol\":446:469 LogThis(bytes32(root2)) */\n 0xb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026\n /* \"contracts/HelloWorld.sol\":462:467 root2 */\n dup2\n /* \"contracts/HelloWorld.sol\":454:468 bytes32(root2) */\n 0x00\n shl\n /* \"contracts/HelloWorld.sol\":446:469 LogThis(bytes32(root2)) */\n mload(0x40)\n tag_6\n swap2\n swap1\n tag_5\n jump\t// in\ntag_6:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/HelloWorld.sol\":283:476 {... */\n pop\n pop\n /* \"contracts/HelloWorld.sol\":66:611 contract HelloWorld {... */\n jump(tag_7)\n /* \"#utility.yul\":7:84 */\ntag_8:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\ntag_9:\n /* \"#utility.yul\":177:201 */\n tag_13\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_8\n jump\t// in\ntag_13:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\ntag_5:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_15\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_9\n jump\t// in\ntag_15:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/HelloWorld.sol\":66:611 contract HelloWorld {... */\ntag_7:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/HelloWorld.sol\":66:611 contract HelloWorld {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x13bdfacd\n eq\n tag_3\n jumpi\n dup1\n 0xafdac68d\n eq\n tag_4\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/HelloWorld.sol\":180:265 function print() public pure returns (string memory) {... */\n tag_3:\n tag_5\n tag_6\n jump\t// in\n tag_5:\n mload(0x40)\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/HelloWorld.sol\":479:609 function query(uint bn) public returns (bytes32) {... */\n tag_4:\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n tag_12\n jump\t// in\n tag_9:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/HelloWorld.sol\":180:265 function print() public pure returns (string memory) {... */\n tag_6:\n /* \"contracts/HelloWorld.sol\":218:231 string memory */\n 0x60\n /* \"contracts/HelloWorld.sol\":239:260 return \"Hello World!\" */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x0c\n dup2\n mstore\n 0x20\n add\n 0x48656c6c6f20576f726c64210000000000000000000000000000000000000000\n dup2\n mstore\n pop\n swap1\n pop\n /* \"contracts/HelloWorld.sol\":180:265 function print() public pure returns (string memory) {... */\n swap1\n jump\t// out\n /* \"contracts/HelloWorld.sol\":479:609 function query(uint bn) public returns (bytes32) {... */\n tag_12:\n /* \"contracts/HelloWorld.sol\":519:526 bytes32 */\n 0x00\n /* \"contracts/HelloWorld.sol\":534:546 bytes32 root */\n dup1\n /* \"contracts/HelloWorld.sol\":559:561 bn */\n dup3\n /* \"contracts/HelloWorld.sol\":549:562 blockhash(bn) */\n blockhash\n /* \"contracts/HelloWorld.sol\":534:562 bytes32 root = blockhash(bn) */\n swap1\n pop\n /* \"contracts/HelloWorld.sol\":573:586 LogThis(root) */\n 0xb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026\n /* \"contracts/HelloWorld.sol\":581:585 root */\n dup2\n /* \"contracts/HelloWorld.sol\":573:586 LogThis(root) */\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_14\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/HelloWorld.sol\":600:604 root */\n dup1\n /* \"contracts/HelloWorld.sol\":593:604 return root */\n swap2\n pop\n pop\n /* \"contracts/HelloWorld.sol\":479:609 function query(uint bn) public returns (bytes32) {... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7:106 */\n tag_18:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:281 */\n tag_19:\n /* \"#utility.yul\":196:207 */\n 0x00\n /* \"#utility.yul\":230:236 */\n dup3\n /* \"#utility.yul\":225:228 */\n dup3\n /* \"#utility.yul\":218:237 */\n mstore\n /* \"#utility.yul\":270:274 */\n 0x20\n /* \"#utility.yul\":265:268 */\n dup3\n /* \"#utility.yul\":261:275 */\n add\n /* \"#utility.yul\":246:275 */\n swap1\n pop\n /* \"#utility.yul\":112:281 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":287:533 */\n tag_20:\n /* \"#utility.yul\":368:369 */\n 0x00\n /* \"#utility.yul\":378:491 */\n tag_35:\n /* \"#utility.yul\":392:398 */\n dup4\n /* \"#utility.yul\":389:390 */\n dup2\n /* \"#utility.yul\":386:399 */\n lt\n /* \"#utility.yul\":378:491 */\n iszero\n tag_37\n jumpi\n /* \"#utility.yul\":477:478 */\n dup1\n /* \"#utility.yul\":472:475 */\n dup3\n /* \"#utility.yul\":468:479 */\n add\n /* \"#utility.yul\":462:480 */\n mload\n /* \"#utility.yul\":458:459 */\n dup2\n /* \"#utility.yul\":453:456 */\n dup5\n /* \"#utility.yul\":449:460 */\n add\n /* \"#utility.yul\":442:481 */\n mstore\n /* \"#utility.yul\":414:416 */\n 0x20\n /* \"#utility.yul\":411:412 */\n dup2\n /* \"#utility.yul\":407:417 */\n add\n /* \"#utility.yul\":402:417 */\n swap1\n pop\n /* \"#utility.yul\":378:491 */\n jump(tag_35)\n tag_37:\n /* \"#utility.yul\":525:526 */\n 0x00\n /* \"#utility.yul\":516:522 */\n dup5\n /* \"#utility.yul\":511:514 */\n dup5\n /* \"#utility.yul\":507:523 */\n add\n /* \"#utility.yul\":500:527 */\n mstore\n /* \"#utility.yul\":349:533 */\n pop\n /* \"#utility.yul\":287:533 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":539:641 */\n tag_21:\n /* \"#utility.yul\":580:586 */\n 0x00\n /* \"#utility.yul\":631:633 */\n 0x1f\n /* \"#utility.yul\":627:634 */\n not\n /* \"#utility.yul\":622:624 */\n 0x1f\n /* \"#utility.yul\":615:620 */\n dup4\n /* \"#utility.yul\":611:625 */\n add\n /* \"#utility.yul\":607:635 */\n and\n /* \"#utility.yul\":597:635 */\n swap1\n pop\n /* \"#utility.yul\":539:641 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":647:1024 */\n tag_22:\n /* \"#utility.yul\":735:738 */\n 0x00\n /* \"#utility.yul\":763:802 */\n tag_40\n /* \"#utility.yul\":796:801 */\n dup3\n /* \"#utility.yul\":763:802 */\n tag_18\n jump\t// in\n tag_40:\n /* \"#utility.yul\":818:889 */\n tag_41\n /* \"#utility.yul\":882:888 */\n dup2\n /* \"#utility.yul\":877:880 */\n dup6\n /* \"#utility.yul\":818:889 */\n tag_19\n jump\t// in\n tag_41:\n /* \"#utility.yul\":811:889 */\n swap4\n pop\n /* \"#utility.yul\":898:963 */\n tag_42\n /* \"#utility.yul\":956:962 */\n dup2\n /* \"#utility.yul\":951:954 */\n dup6\n /* \"#utility.yul\":944:948 */\n 0x20\n /* \"#utility.yul\":937:942 */\n dup7\n /* \"#utility.yul\":933:949 */\n add\n /* \"#utility.yul\":898:963 */\n tag_20\n jump\t// in\n tag_42:\n /* \"#utility.yul\":988:1017 */\n tag_43\n /* \"#utility.yul\":1010:1016 */\n dup2\n /* \"#utility.yul\":988:1017 */\n tag_21\n jump\t// in\n tag_43:\n /* \"#utility.yul\":983:986 */\n dup5\n /* \"#utility.yul\":979:1018 */\n add\n /* \"#utility.yul\":972:1018 */\n swap2\n pop\n /* \"#utility.yul\":739:1024 */\n pop\n /* \"#utility.yul\":647:1024 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1030:1343 */\n tag_8:\n /* \"#utility.yul\":1143:1147 */\n 0x00\n /* \"#utility.yul\":1181:1183 */\n 0x20\n /* \"#utility.yul\":1170:1179 */\n dup3\n /* \"#utility.yul\":1166:1184 */\n add\n /* \"#utility.yul\":1158:1184 */\n swap1\n pop\n /* \"#utility.yul\":1230:1239 */\n dup2\n /* \"#utility.yul\":1224:1228 */\n dup2\n /* \"#utility.yul\":1220:1240 */\n sub\n /* \"#utility.yul\":1216:1217 */\n 0x00\n /* \"#utility.yul\":1205:1214 */\n dup4\n /* \"#utility.yul\":1201:1218 */\n add\n /* \"#utility.yul\":1194:1241 */\n mstore\n /* \"#utility.yul\":1258:1336 */\n tag_45\n /* \"#utility.yul\":1331:1335 */\n dup2\n /* \"#utility.yul\":1322:1328 */\n dup5\n /* \"#utility.yul\":1258:1336 */\n tag_22\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1250:1336 */\n swap1\n pop\n /* \"#utility.yul\":1030:1343 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1430:1547 */\n tag_24:\n /* \"#utility.yul\":1539:1540 */\n 0x00\n /* \"#utility.yul\":1536:1537 */\n dup1\n /* \"#utility.yul\":1529:1541 */\n revert\n /* \"#utility.yul\":1676:1753 */\n tag_26:\n /* \"#utility.yul\":1713:1720 */\n 0x00\n /* \"#utility.yul\":1742:1747 */\n dup2\n /* \"#utility.yul\":1731:1747 */\n swap1\n pop\n /* \"#utility.yul\":1676:1753 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1759:1881 */\n tag_27:\n /* \"#utility.yul\":1832:1856 */\n tag_51\n /* \"#utility.yul\":1850:1855 */\n dup2\n /* \"#utility.yul\":1832:1856 */\n tag_26\n jump\t// in\n tag_51:\n /* \"#utility.yul\":1825:1830 */\n dup2\n /* \"#utility.yul\":1822:1857 */\n eq\n /* \"#utility.yul\":1812:1875 */\n tag_52\n jumpi\n /* \"#utility.yul\":1871:1872 */\n 0x00\n /* \"#utility.yul\":1868:1869 */\n dup1\n /* \"#utility.yul\":1861:1873 */\n revert\n /* \"#utility.yul\":1812:1875 */\n tag_52:\n /* \"#utility.yul\":1759:1881 */\n pop\n jump\t// out\n /* \"#utility.yul\":1887:2026 */\n tag_28:\n /* \"#utility.yul\":1933:1938 */\n 0x00\n /* \"#utility.yul\":1971:1977 */\n dup2\n /* \"#utility.yul\":1958:1978 */\n calldataload\n /* \"#utility.yul\":1949:1978 */\n swap1\n pop\n /* \"#utility.yul\":1987:2020 */\n tag_54\n /* \"#utility.yul\":2014:2019 */\n dup2\n /* \"#utility.yul\":1987:2020 */\n tag_27\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1887:2026 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2032:2361 */\n tag_11:\n /* \"#utility.yul\":2091:2097 */\n 0x00\n /* \"#utility.yul\":2140:2142 */\n 0x20\n /* \"#utility.yul\":2128:2137 */\n dup3\n /* \"#utility.yul\":2119:2126 */\n dup5\n /* \"#utility.yul\":2115:2138 */\n sub\n /* \"#utility.yul\":2111:2143 */\n slt\n /* \"#utility.yul\":2108:2227 */\n iszero\n tag_56\n jumpi\n /* \"#utility.yul\":2146:2225 */\n tag_57\n tag_24\n jump\t// in\n tag_57:\n /* \"#utility.yul\":2108:2227 */\n tag_56:\n /* \"#utility.yul\":2266:2267 */\n 0x00\n /* \"#utility.yul\":2291:2344 */\n tag_58\n /* \"#utility.yul\":2336:2343 */\n dup5\n /* \"#utility.yul\":2327:2333 */\n dup3\n /* \"#utility.yul\":2316:2325 */\n dup6\n /* \"#utility.yul\":2312:2334 */\n add\n /* \"#utility.yul\":2291:2344 */\n tag_28\n jump\t// in\n tag_58:\n /* \"#utility.yul\":2281:2344 */\n swap2\n pop\n /* \"#utility.yul\":2237:2354 */\n pop\n /* \"#utility.yul\":2032:2361 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2367:2444 */\n tag_29:\n /* \"#utility.yul\":2404:2411 */\n 0x00\n /* \"#utility.yul\":2433:2438 */\n dup2\n /* \"#utility.yul\":2422:2438 */\n swap1\n pop\n /* \"#utility.yul\":2367:2444 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2450:2568 */\n tag_30:\n /* \"#utility.yul\":2537:2561 */\n tag_61\n /* \"#utility.yul\":2555:2560 */\n dup2\n /* \"#utility.yul\":2537:2561 */\n tag_29\n jump\t// in\n tag_61:\n /* \"#utility.yul\":2532:2535 */\n dup3\n /* \"#utility.yul\":2525:2562 */\n mstore\n /* \"#utility.yul\":2450:2568 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2574:2796 */\n tag_14:\n /* \"#utility.yul\":2667:2671 */\n 0x00\n /* \"#utility.yul\":2705:2707 */\n 0x20\n /* \"#utility.yul\":2694:2703 */\n dup3\n /* \"#utility.yul\":2690:2708 */\n add\n /* \"#utility.yul\":2682:2708 */\n swap1\n pop\n /* \"#utility.yul\":2718:2789 */\n tag_63\n /* \"#utility.yul\":2786:2787 */\n 0x00\n /* \"#utility.yul\":2775:2784 */\n dup4\n /* \"#utility.yul\":2771:2788 */\n add\n /* \"#utility.yul\":2762:2768 */\n dup5\n /* \"#utility.yul\":2718:2789 */\n tag_30\n jump\t// in\n tag_63:\n /* \"#utility.yul\":2574:2796 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_41": { | |
"entryPoint": null, | |
"id": 41, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 188, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 203, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 179, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:439:1", | |
"nodeType": "YulBlock", | |
"src": "0:439:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "52:32:1", | |
"nodeType": "YulBlock", | |
"src": "52:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "62:16:1", | |
"nodeType": "YulAssignment", | |
"src": "62:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "73:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "73:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "62:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "62:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "7:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "34:5:1", | |
"nodeType": "YulTypedName", | |
"src": "34:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "44:7:1", | |
"nodeType": "YulTypedName", | |
"src": "44:7:1", | |
"type": "" | |
} | |
], | |
"src": "7:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "155:53:1", | |
"nodeType": "YulBlock", | |
"src": "155:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "172:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "172:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "195:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "195:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "177:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "177:17:1" | |
}, | |
"nativeSrc": "177:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "177:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "165:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "165:6:1" | |
}, | |
"nativeSrc": "165:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "165:37:1" | |
}, | |
"nativeSrc": "165:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "165:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "90:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "143:5:1", | |
"nodeType": "YulTypedName", | |
"src": "143:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "150:3:1", | |
"nodeType": "YulTypedName", | |
"src": "150:3:1", | |
"type": "" | |
} | |
], | |
"src": "90:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "312:124:1", | |
"nodeType": "YulBlock", | |
"src": "312:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "322:26:1", | |
"nodeType": "YulAssignment", | |
"src": "322:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "334:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "334:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "345:2:1", | |
"nodeType": "YulLiteral", | |
"src": "345:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "330:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "330:3:1" | |
}, | |
"nativeSrc": "330:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "330:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "322:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "322:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "402:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "415:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "415:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "426:1:1", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "411:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:3:1" | |
}, | |
"nativeSrc": "411:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "411:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "358:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "358:43:1" | |
}, | |
"nativeSrc": "358:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "358:71:1" | |
}, | |
"nativeSrc": "358:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "358:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nativeSrc": "214:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "284:9:1", | |
"nodeType": "YulTypedName", | |
"src": "284:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "296:6:1", | |
"nodeType": "YulTypedName", | |
"src": "296:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "307:4:1", | |
"nodeType": "YulTypedName", | |
"src": "307:4:1", | |
"type": "" | |
} | |
], | |
"src": "214:222:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b505f62384b694090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b9140268160405161004791906100cb565b60405180910390a15f7f52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e90507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026815f1b6040516100a491906100cb565b60405180910390a150506100e4565b5f819050919050565b6100c5816100b3565b82525050565b5f6020820190506100de5f8301846100bc565b92915050565b61027c806100f15f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806313bdfacd14610038578063afdac68d14610056575b5f80fd5b610040610086565b60405161004d9190610193565b60405180910390f35b610070600480360381019061006b91906101ea565b6100c3565b60405161007d919061022d565b60405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f20576f726c64210000000000000000000000000000000000000000815250905090565b5f80824090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026816040516100f8919061022d565b60405180910390a180915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610140578082015181840152602081019050610125565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016582610109565b61016f8185610113565b935061017f818560208601610123565b6101888161014b565b840191505092915050565b5f6020820190508181035f8301526101ab818461015b565b905092915050565b5f80fd5b5f819050919050565b6101c9816101b7565b81146101d3575f80fd5b50565b5f813590506101e4816101c0565b92915050565b5f602082840312156101ff576101fe6101b3565b5b5f61020c848285016101d6565b91505092915050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b9291505056fea2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH0 PUSH3 0x384B69 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0x47 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH0 PUSH32 0x52832C02013F071A15E12B179BAB1572BEF12FECD41ABACB4A243F4372AAC26E SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH0 SHL PUSH1 0x40 MLOAD PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP PUSH2 0xE4 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC5 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDE PUSH0 DUP4 ADD DUP5 PUSH2 0xBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x27C DUP1 PUSH2 0xF1 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13BDFACD EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xAFDAC68D EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 DUP3 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x140 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x125 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x165 DUP3 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x16F DUP2 DUP6 PUSH2 0x113 JUMP JUMPDEST SWAP4 POP PUSH2 0x17F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123 JUMP JUMPDEST PUSH2 0x188 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1AB DUP2 DUP5 PUSH2 0x15B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C9 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E4 DUP2 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FE PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20C DUP5 DUP3 DUP6 ADD PUSH2 0x1D6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x227 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x240 PUSH0 DUP4 ADD DUP5 PUSH2 0x21E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x1D3149C3CF 0xBC DIV DUP6 0xC1 0x4E SWAP12 CALLCODE PUSH15 0x8DFD7DD45A96958551807F72069C9F 0xD5 CALLDATASIZE 0xFB PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "66:545:0:-:0;;;268:208;;;;;;;;;;289:12;314:7;304:18;289:33;;333:13;341:4;333:13;;;;;;:::i;:::-;;;;;;;;353;369:66;353:82;;446:23;462:5;454:14;;446:23;;;;;;:::i;:::-;;;;;;;;283:193;;66:545;;7:77:1;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;66:545:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@print_16": { | |
"entryPoint": 134, | |
"id": 16, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@query_61": { | |
"entryPoint": 195, | |
"id": 61, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 490, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 542, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 347, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 557, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 403, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 265, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 275, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 533, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 439, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 291, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 435, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 331, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 448, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:2799:1", | |
"nodeType": "YulBlock", | |
"src": "0:2799:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "66:40:1", | |
"nodeType": "YulBlock", | |
"src": "66:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "77:22:1", | |
"nodeType": "YulAssignment", | |
"src": "77:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "93:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "93:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "87:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "87:5:1" | |
}, | |
"nativeSrc": "87:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "87:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "77:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "77:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "49:5:1", | |
"nodeType": "YulTypedName", | |
"src": "49:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "59:6:1", | |
"nodeType": "YulTypedName", | |
"src": "59:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "208:73:1", | |
"nodeType": "YulBlock", | |
"src": "208:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "225:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "225:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "230:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "230:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "218:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "218:6:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "218:19:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "218:19:1" | |
}, | |
{ | |
"nativeSrc": "246:29:1", | |
"nodeType": "YulAssignment", | |
"src": "246:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "265:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "270:4:1", | |
"nodeType": "YulLiteral", | |
"src": "270:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "261:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
"nativeSrc": "261:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "261:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "246:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "246:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "112:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "180:3:1", | |
"nodeType": "YulTypedName", | |
"src": "180:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "185:6:1", | |
"nodeType": "YulTypedName", | |
"src": "185:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "196:11:1", | |
"nodeType": "YulTypedName", | |
"src": "196:11:1", | |
"type": "" | |
} | |
], | |
"src": "112:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "349:184:1", | |
"nodeType": "YulBlock", | |
"src": "349:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "359:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "359:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "368:1:1", | |
"nodeType": "YulLiteral", | |
"src": "368:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "363:1:1", | |
"nodeType": "YulTypedName", | |
"src": "363:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "428:63:1", | |
"nodeType": "YulBlock", | |
"src": "428:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "453:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "453:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "458:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "458:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "449:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "449:3:1" | |
}, | |
"nativeSrc": "449:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "449:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "472:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "472:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "477:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "477:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "468:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "468:3:1" | |
}, | |
"nativeSrc": "468:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "468:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "462:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "462:5:1" | |
}, | |
"nativeSrc": "462:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "462:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "442:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "442:39:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "442:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "389:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "392:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "392:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "386:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "386:2:1" | |
}, | |
"nativeSrc": "386:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "386:13:1" | |
}, | |
"nativeSrc": "378:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "400:19:1", | |
"nodeType": "YulBlock", | |
"src": "400:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "402:15:1", | |
"nodeType": "YulAssignment", | |
"src": "402:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "411:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "414:2:1", | |
"nodeType": "YulLiteral", | |
"src": "414:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "407:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "407:3:1" | |
}, | |
"nativeSrc": "407:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "407:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "402:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "382:3:1", | |
"nodeType": "YulBlock", | |
"src": "382:3:1", | |
"statements": [] | |
}, | |
"src": "378:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "511:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "516:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "507:3:1" | |
}, | |
"nativeSrc": "507:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "507:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "525:1:1", | |
"nodeType": "YulLiteral", | |
"src": "525:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "500:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "500:6:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "500:27:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "500:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "287:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "331:3:1", | |
"nodeType": "YulTypedName", | |
"src": "331:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "336:3:1", | |
"nodeType": "YulTypedName", | |
"src": "336:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "341:6:1", | |
"type": "" | |
} | |
], | |
"src": "287:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "587:54:1", | |
"nodeType": "YulBlock", | |
"src": "587:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "597:38:1", | |
"nodeType": "YulAssignment", | |
"src": "597:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "615:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "615:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "622:2:1", | |
"nodeType": "YulLiteral", | |
"src": "622:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "611:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "611:3:1" | |
}, | |
"nativeSrc": "611:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "611:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "631:2:1", | |
"nodeType": "YulLiteral", | |
"src": "631:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "627:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "627:3:1" | |
}, | |
"nativeSrc": "627:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "627:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "607:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:3:1" | |
}, | |
"nativeSrc": "607:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "607:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "597:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "597:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "539:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "570:5:1", | |
"nodeType": "YulTypedName", | |
"src": "570:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "580:6:1", | |
"nodeType": "YulTypedName", | |
"src": "580:6:1", | |
"type": "" | |
} | |
], | |
"src": "539:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "739:285:1", | |
"nodeType": "YulBlock", | |
"src": "739:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "749:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "749:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "796:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "796:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "763:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "763:32:1" | |
}, | |
"nativeSrc": "763:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "763:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "753:6:1", | |
"nodeType": "YulTypedName", | |
"src": "753:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "811:78:1", | |
"nodeType": "YulAssignment", | |
"src": "811:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "877:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "877:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "882:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "818:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "818:58:1" | |
}, | |
"nativeSrc": "818:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "818:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "811:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "811:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "944:4:1", | |
"nodeType": "YulLiteral", | |
"src": "944:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "933:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "933:3:1" | |
}, | |
"nativeSrc": "933:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "933:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "951:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "951:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "956:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "956:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "898:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "898:34:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "898:65:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "898:65:1" | |
}, | |
{ | |
"nativeSrc": "972:46:1", | |
"nodeType": "YulAssignment", | |
"src": "972:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "983:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "1010:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1010:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "988:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "988:21:1" | |
}, | |
"nativeSrc": "988:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "988:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "979:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "979:3:1" | |
}, | |
"nativeSrc": "979:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "979:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "972:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "972:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "647:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "720:5:1", | |
"nodeType": "YulTypedName", | |
"src": "720:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "727:3:1", | |
"nodeType": "YulTypedName", | |
"src": "727:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "735:3:1", | |
"nodeType": "YulTypedName", | |
"src": "735:3:1", | |
"type": "" | |
} | |
], | |
"src": "647:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1148:195:1", | |
"nodeType": "YulBlock", | |
"src": "1148:195:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1158:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1158:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1170:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1170:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1181:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1181:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1166:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1166:3:1" | |
}, | |
"nativeSrc": "1166:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1166:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1158:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1158:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1205:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1216:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1216:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1201:3:1" | |
}, | |
"nativeSrc": "1201:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1201:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1224:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1224:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "1230:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1230:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "1220:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1220:3:1" | |
}, | |
"nativeSrc": "1220:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1220:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1194:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1194:6:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1194:47:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1194:47:1" | |
}, | |
{ | |
"nativeSrc": "1250:86:1", | |
"nodeType": "YulAssignment", | |
"src": "1250:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1322:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1322:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "1331:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1331:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "1258:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "1258:63:1" | |
}, | |
"nativeSrc": "1258:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1258:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1250:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1250:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "1030:313:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1120:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1120:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1132:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1132:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1143:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1143:4:1", | |
"type": "" | |
} | |
], | |
"src": "1030:313:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1389:35:1", | |
"nodeType": "YulBlock", | |
"src": "1389:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1399:19:1", | |
"nodeType": "YulAssignment", | |
"src": "1399:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1415:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1415:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "1409:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1409:5:1" | |
}, | |
"nativeSrc": "1409:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1409:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1399:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1399:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "1349:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1382:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1382:6:1", | |
"type": "" | |
} | |
], | |
"src": "1349:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1519:28:1", | |
"nodeType": "YulBlock", | |
"src": "1519:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1536:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1536:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1539:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1539:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1529:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:6:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1529:12:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1529:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "1430:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1430:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1642:28:1", | |
"nodeType": "YulBlock", | |
"src": "1642:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1659:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1659:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1662:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1662:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1652:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1652:6:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1652:12:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1652:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "1553:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1553:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1721:32:1", | |
"nodeType": "YulBlock", | |
"src": "1721:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1731:16:1", | |
"nodeType": "YulAssignment", | |
"src": "1731:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1742:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1742:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1731:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "1731:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1676:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1703:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1703:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1713:7:1", | |
"nodeType": "YulTypedName", | |
"src": "1713:7:1", | |
"type": "" | |
} | |
], | |
"src": "1676:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1802:79:1", | |
"nodeType": "YulBlock", | |
"src": "1802:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "1859:16:1", | |
"nodeType": "YulBlock", | |
"src": "1859:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1868:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1868:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1871:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1871:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1861:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1861:6:1" | |
}, | |
"nativeSrc": "1861:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1861:12:1" | |
}, | |
"nativeSrc": "1861:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1861:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1825:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1825:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1850:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1850:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1832:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1832:17:1" | |
}, | |
"nativeSrc": "1832:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1832:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "1822:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "1822:2:1" | |
}, | |
"nativeSrc": "1822:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1822:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "1815:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1815:6:1" | |
}, | |
"nativeSrc": "1815:43:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1815:43:1" | |
}, | |
"nativeSrc": "1812:63:1", | |
"nodeType": "YulIf", | |
"src": "1812:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "1759:122:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1795:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1795:5:1", | |
"type": "" | |
} | |
], | |
"src": "1759:122:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1939:87:1", | |
"nodeType": "YulBlock", | |
"src": "1939:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1949:29:1", | |
"nodeType": "YulAssignment", | |
"src": "1949:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "1971:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1971:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "1958:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "1958:12:1" | |
}, | |
"nativeSrc": "1958:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1958:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1949:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1949:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2014:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2014:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "1987:26:1", | |
"nodeType": "YulIdentifier", | |
"src": "1987:26:1" | |
}, | |
"nativeSrc": "1987:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1987:33:1" | |
}, | |
"nativeSrc": "1987:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1987:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "1887:139:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "1917:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1917:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "1925:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1925:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1933:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1933:5:1", | |
"type": "" | |
} | |
], | |
"src": "1887:139:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2098:263:1", | |
"nodeType": "YulBlock", | |
"src": "2098:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2144:83:1", | |
"nodeType": "YulBlock", | |
"src": "2144:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "2146:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "2146:77:1" | |
}, | |
"nativeSrc": "2146:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2146:79:1" | |
}, | |
"nativeSrc": "2146:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2146:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2119:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2119:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "2128:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2128:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "2115:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2115:3:1" | |
}, | |
"nativeSrc": "2115:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2115:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2140:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2140:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "2111:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2111:3:1" | |
}, | |
"nativeSrc": "2111:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2111:32:1" | |
}, | |
"nativeSrc": "2108:119:1", | |
"nodeType": "YulIf", | |
"src": "2108:119:1" | |
}, | |
{ | |
"nativeSrc": "2237:117:1", | |
"nodeType": "YulBlock", | |
"src": "2237:117:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2252:15:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2252:15:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "2266:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2266:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "2256:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2256:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2281:63:1", | |
"nodeType": "YulAssignment", | |
"src": "2281:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2316:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2316:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2327:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2327:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2312:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2312:3:1" | |
}, | |
"nativeSrc": "2312:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2312:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2336:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2336:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "2291:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "2291:20:1" | |
}, | |
"nativeSrc": "2291:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2291:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2281:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2281:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nativeSrc": "2032:329:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2068:9:1", | |
"nodeType": "YulTypedName", | |
"src": "2068:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2079:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2079:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2091:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2091:6:1", | |
"type": "" | |
} | |
], | |
"src": "2032:329:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2412:32:1", | |
"nodeType": "YulBlock", | |
"src": "2412:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2422:16:1", | |
"nodeType": "YulAssignment", | |
"src": "2422:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "2433:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2433:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "2422:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2422:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "2367:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2394:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2394:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "2404:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2404:7:1", | |
"type": "" | |
} | |
], | |
"src": "2367:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2515:53:1", | |
"nodeType": "YulBlock", | |
"src": "2515:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "2532:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2532:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2555:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2555:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "2537:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "2537:17:1" | |
}, | |
"nativeSrc": "2537:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2537:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2525:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2525:6:1" | |
}, | |
"nativeSrc": "2525:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2525:37:1" | |
}, | |
"nativeSrc": "2525:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2525:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "2450:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2503:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2503:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "2510:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2510:3:1", | |
"type": "" | |
} | |
], | |
"src": "2450:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2672:124:1", | |
"nodeType": "YulBlock", | |
"src": "2672:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2682:26:1", | |
"nodeType": "YulAssignment", | |
"src": "2682:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2694:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2694:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2705:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2705:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2690:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2690:3:1" | |
}, | |
"nativeSrc": "2690:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2690:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "2682:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2682:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2762:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2762:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2775:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2775:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2786:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2786:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2771:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2771:3:1" | |
}, | |
"nativeSrc": "2771:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2771:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "2718:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "2718:43:1" | |
}, | |
"nativeSrc": "2718:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2718:71:1" | |
}, | |
"nativeSrc": "2718:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2718:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nativeSrc": "2574:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2644:9:1", | |
"nodeType": "YulTypedName", | |
"src": "2644:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "2656:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2656:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "2667:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2667:4:1", | |
"type": "" | |
} | |
], | |
"src": "2574:222:1" | |
} | |
] | |
}, | |
"contents": "{\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_memory_to_memory_with_cleanup(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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_with_cleanup(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_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c806313bdfacd14610038578063afdac68d14610056575b5f80fd5b610040610086565b60405161004d9190610193565b60405180910390f35b610070600480360381019061006b91906101ea565b6100c3565b60405161007d919061022d565b60405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f20576f726c64210000000000000000000000000000000000000000815250905090565b5f80824090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026816040516100f8919061022d565b60405180910390a180915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610140578082015181840152602081019050610125565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016582610109565b61016f8185610113565b935061017f818560208601610123565b6101888161014b565b840191505092915050565b5f6020820190508181035f8301526101ab818461015b565b905092915050565b5f80fd5b5f819050919050565b6101c9816101b7565b81146101d3575f80fd5b50565b5f813590506101e4816101c0565b92915050565b5f602082840312156101ff576101fe6101b3565b5b5f61020c848285016101d6565b91505092915050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b9291505056fea2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13BDFACD EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xAFDAC68D EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 DUP3 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x140 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x125 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x165 DUP3 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x16F DUP2 DUP6 PUSH2 0x113 JUMP JUMPDEST SWAP4 POP PUSH2 0x17F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123 JUMP JUMPDEST PUSH2 0x188 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1AB DUP2 DUP5 PUSH2 0x15B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C9 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E4 DUP2 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FE PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20C DUP5 DUP3 DUP6 ADD PUSH2 0x1D6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x227 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x240 PUSH0 DUP4 ADD DUP5 PUSH2 0x21E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x1D3149C3CF 0xBC DIV DUP6 0xC1 0x4E SWAP12 CALLCODE PUSH15 0x8DFD7DD45A96958551807F72069C9F 0xD5 CALLDATASIZE 0xFB PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "66:545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;479:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;180:85;218:13;239:21;;;;;;;;;;;;;;;;;;;180:85;:::o;479:130::-;519:7;534:12;559:2;549:13;534:28;;573:13;581:4;573:13;;;;;;:::i;:::-;;;;;;;;600:4;593:11;;;479:130;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:77;1713:7;1742:5;1731:16;;1676:77;;;:::o;1759:122::-;1832:24;1850:5;1832:24;:::i;:::-;1825:5;1822:35;1812:63;;1871:1;1868;1861:12;1812:63;1759:122;:::o;1887:139::-;1933:5;1971:6;1958:20;1949:29;;1987:33;2014:5;1987:33;:::i;:::-;1887:139;;;;:::o;2032:329::-;2091:6;2140:2;2128:9;2119:7;2115:23;2111:32;2108:119;;;2146:79;;:::i;:::-;2108:119;2266:1;2291:53;2336:7;2327:6;2316:9;2312:22;2291:53;:::i;:::-;2281:63;;2237:117;2032:329;;;;:::o;2367:77::-;2404:7;2433:5;2422:16;;2367:77;;;:::o;2450:118::-;2537:24;2555:5;2537:24;:::i;:::-;2532:3;2525:37;2450:118;;:::o;2574:222::-;2667:4;2705:2;2694:9;2690:18;2682:26;;2718:71;2786:1;2775:9;2771:17;2762:6;2718:71;:::i;:::-;2574:222;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "127200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"print()": "infinite", | |
"query(uint256)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 268, | |
"end": 476, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 289, | |
"end": 301, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 314, | |
"end": 321, | |
"name": "PUSH", | |
"source": 0, | |
"value": "384B69" | |
}, | |
{ | |
"begin": 304, | |
"end": 322, | |
"name": "BLOCKHASH", | |
"source": 0 | |
}, | |
{ | |
"begin": 289, | |
"end": 322, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 289, | |
"end": 322, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026" | |
}, | |
{ | |
"begin": 341, | |
"end": 345, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 333, | |
"end": 346, | |
"name": "LOG1", | |
"source": 0 | |
}, | |
{ | |
"begin": 353, | |
"end": 366, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 369, | |
"end": 435, | |
"name": "PUSH", | |
"source": 0, | |
"value": "52832C02013F071A15E12B179BAB1572BEF12FECD41ABACB4A243F4372AAC26E" | |
}, | |
{ | |
"begin": 353, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 353, | |
"end": 435, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026" | |
}, | |
{ | |
"begin": 462, | |
"end": 467, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 454, | |
"end": 468, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 454, | |
"end": 468, | |
"name": "SHL", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "tag", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 446, | |
"end": 469, | |
"name": "LOG1", | |
"source": 0 | |
}, | |
{ | |
"begin": 283, | |
"end": 476, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 283, | |
"end": 476, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"name": "tag", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 44, | |
"end": 51, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 73, | |
"end": 78, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 62, | |
"end": 78, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 62, | |
"end": 78, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 84, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 90, | |
"end": 208, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 90, | |
"end": 208, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 177, | |
"end": 201, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 195, | |
"end": 200, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 177, | |
"end": 201, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 177, | |
"end": 201, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 177, | |
"end": 201, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 177, | |
"end": 201, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 172, | |
"end": 175, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 165, | |
"end": 202, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 90, | |
"end": 208, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 90, | |
"end": 208, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 90, | |
"end": 208, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "tag", | |
"source": 1, | |
"value": "5" | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 307, | |
"end": 311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 345, | |
"end": 347, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 334, | |
"end": 343, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 330, | |
"end": 348, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 322, | |
"end": 348, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 322, | |
"end": 348, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 358, | |
"end": 429, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 415, | |
"end": 424, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 428, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 402, | |
"end": 408, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 358, | |
"end": 429, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 358, | |
"end": 429, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 358, | |
"end": 429, | |
"name": "tag", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 358, | |
"end": 429, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 214, | |
"end": 436, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "tag", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033", | |
".code": [ | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "13BDFACD" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "AFDAC68D" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 66, | |
"end": 611, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "tag", | |
"source": 0, | |
"value": "7" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "tag", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "tag", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "tag", | |
"source": 0, | |
"value": "6" | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 218, | |
"end": 231, | |
"name": "PUSH", | |
"source": 0, | |
"value": "60" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "C" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "PUSH", | |
"source": 0, | |
"value": "48656C6C6F20576F726C64210000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 239, | |
"end": 260, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 265, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 519, | |
"end": 526, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 534, | |
"end": 546, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 559, | |
"end": 561, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 549, | |
"end": 562, | |
"name": "BLOCKHASH", | |
"source": 0 | |
}, | |
{ | |
"begin": 534, | |
"end": 562, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 534, | |
"end": 562, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026" | |
}, | |
{ | |
"begin": 581, | |
"end": 585, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "17" | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "tag", | |
"source": 0, | |
"value": "17" | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 573, | |
"end": 586, | |
"name": "LOG1", | |
"source": 0 | |
}, | |
{ | |
"begin": 600, | |
"end": 604, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 593, | |
"end": 604, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 593, | |
"end": 604, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 593, | |
"end": 604, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 479, | |
"end": 609, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "tag", | |
"source": 1, | |
"value": "18" | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 59, | |
"end": 65, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 93, | |
"end": 98, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 87, | |
"end": 99, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 77, | |
"end": 99, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 77, | |
"end": 99, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 106, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "tag", | |
"source": 1, | |
"value": "19" | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 196, | |
"end": 207, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 230, | |
"end": 236, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 225, | |
"end": 228, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 218, | |
"end": 237, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 270, | |
"end": 274, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 265, | |
"end": 268, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 261, | |
"end": 275, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 246, | |
"end": 275, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 246, | |
"end": 275, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 112, | |
"end": 281, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"name": "tag", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 368, | |
"end": 369, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 398, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 389, | |
"end": 390, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 386, | |
"end": 399, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "37" | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 477, | |
"end": 478, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 472, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 468, | |
"end": 479, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 462, | |
"end": 480, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 458, | |
"end": 459, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 453, | |
"end": 456, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 449, | |
"end": 460, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 442, | |
"end": 481, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 414, | |
"end": 416, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 411, | |
"end": 412, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 407, | |
"end": 417, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 402, | |
"end": 417, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 402, | |
"end": 417, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "tag", | |
"source": 1, | |
"value": "37" | |
}, | |
{ | |
"begin": 378, | |
"end": 491, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 525, | |
"end": 526, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 516, | |
"end": 522, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 511, | |
"end": 514, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 507, | |
"end": 523, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 500, | |
"end": 527, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 349, | |
"end": 533, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 533, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"name": "tag", | |
"source": 1, | |
"value": "21" | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 580, | |
"end": 586, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 631, | |
"end": 633, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 627, | |
"end": 634, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 622, | |
"end": 624, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 615, | |
"end": 620, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 625, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 607, | |
"end": 635, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 597, | |
"end": 635, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 597, | |
"end": 635, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 539, | |
"end": 641, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "tag", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 735, | |
"end": 738, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 763, | |
"end": 802, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 796, | |
"end": 801, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 763, | |
"end": 802, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "18" | |
}, | |
{ | |
"begin": 763, | |
"end": 802, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 763, | |
"end": 802, | |
"name": "tag", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 763, | |
"end": 802, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 818, | |
"end": 889, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 882, | |
"end": 888, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 877, | |
"end": 880, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 818, | |
"end": 889, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "19" | |
}, | |
{ | |
"begin": 818, | |
"end": 889, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 818, | |
"end": 889, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 818, | |
"end": 889, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 811, | |
"end": 889, | |
"name": "SWAP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 811, | |
"end": 889, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 898, | |
"end": 963, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "42" | |
}, | |
{ | |
"begin": 956, | |
"end": 962, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 951, | |
"end": 954, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 944, | |
"end": 948, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 937, | |
"end": 942, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 933, | |
"end": 949, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 898, | |
"end": 963, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 898, | |
"end": 963, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 898, | |
"end": 963, | |
"name": "tag", | |
"source": 1, | |
"value": "42" | |
}, | |
{ | |
"begin": 898, | |
"end": 963, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 988, | |
"end": 1017, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 1010, | |
"end": 1016, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 988, | |
"end": 1017, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "21" | |
}, | |
{ | |
"begin": 988, | |
"end": 1017, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 988, | |
"end": 1017, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 988, | |
"end": 1017, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 983, | |
"end": 986, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 979, | |
"end": 1018, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 972, | |
"end": 1018, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 972, | |
"end": 1018, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 739, | |
"end": 1024, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 647, | |
"end": 1024, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "tag", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1143, | |
"end": 1147, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1181, | |
"end": 1183, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 1170, | |
"end": 1179, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1166, | |
"end": 1184, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1158, | |
"end": 1184, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1158, | |
"end": 1184, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1230, | |
"end": 1239, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1224, | |
"end": 1228, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1220, | |
"end": 1240, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1216, | |
"end": 1217, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1205, | |
"end": 1214, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 1201, | |
"end": 1218, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1194, | |
"end": 1241, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1258, | |
"end": 1336, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "45" | |
}, | |
{ | |
"begin": 1331, | |
"end": 1335, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1322, | |
"end": 1328, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 1258, | |
"end": 1336, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 1258, | |
"end": 1336, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1258, | |
"end": 1336, | |
"name": "tag", | |
"source": 1, | |
"value": "45" | |
}, | |
{ | |
"begin": 1258, | |
"end": 1336, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1250, | |
"end": 1336, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1250, | |
"end": 1336, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1030, | |
"end": 1343, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1430, | |
"end": 1547, | |
"name": "tag", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1430, | |
"end": 1547, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1539, | |
"end": 1540, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1536, | |
"end": 1537, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1529, | |
"end": 1541, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"name": "tag", | |
"source": 1, | |
"value": "26" | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1713, | |
"end": 1720, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1742, | |
"end": 1747, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1731, | |
"end": 1747, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1731, | |
"end": 1747, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1676, | |
"end": 1753, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1759, | |
"end": 1881, | |
"name": "tag", | |
"source": 1, | |
"value": "27" | |
}, | |
{ | |
"begin": 1759, | |
"end": 1881, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1832, | |
"end": 1856, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "51" | |
}, | |
{ | |
"begin": 1850, | |
"end": 1855, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1832, | |
"end": 1856, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "26" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1856, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1832, | |
"end": 1856, | |
"name": "tag", | |
"source": 1, | |
"value": "51" | |
}, | |
{ | |
"begin": 1832, | |
"end": 1856, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1825, | |
"end": 1830, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1822, | |
"end": 1857, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 1812, | |
"end": 1875, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "52" | |
}, | |
{ | |
"begin": 1812, | |
"end": 1875, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1871, | |
"end": 1872, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1868, | |
"end": 1869, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1861, | |
"end": 1873, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1812, | |
"end": 1875, | |
"name": "tag", | |
"source": 1, | |
"value": "52" | |
}, | |
{ | |
"begin": 1812, | |
"end": 1875, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1759, | |
"end": 1881, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1759, | |
"end": 1881, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "tag", | |
"source": 1, | |
"value": "28" | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1933, | |
"end": 1938, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1971, | |
"end": 1977, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1958, | |
"end": 1978, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1949, | |
"end": 1978, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1949, | |
"end": 1978, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1987, | |
"end": 2020, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "54" | |
}, | |
{ | |
"begin": 2014, | |
"end": 2019, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1987, | |
"end": 2020, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "27" | |
}, | |
{ | |
"begin": 1987, | |
"end": 2020, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1987, | |
"end": 2020, | |
"name": "tag", | |
"source": 1, | |
"value": "54" | |
}, | |
{ | |
"begin": 1987, | |
"end": 2020, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1887, | |
"end": 2026, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "tag", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2091, | |
"end": 2097, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2140, | |
"end": 2142, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 2128, | |
"end": 2137, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2119, | |
"end": 2126, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 2115, | |
"end": 2138, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 2111, | |
"end": 2143, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2227, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2227, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "56" | |
}, | |
{ | |
"begin": 2108, | |
"end": 2227, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 2146, | |
"end": 2225, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "57" | |
}, | |
{ | |
"begin": 2146, | |
"end": 2225, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 2146, | |
"end": 2225, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2146, | |
"end": 2225, | |
"name": "tag", | |
"source": 1, | |
"value": "57" | |
}, | |
{ | |
"begin": 2146, | |
"end": 2225, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2108, | |
"end": 2227, | |
"name": "tag", | |
"source": 1, | |
"value": "56" | |
}, | |
{ | |
"begin": 2108, | |
"end": 2227, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2266, | |
"end": 2267, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2291, | |
"end": 2344, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "58" | |
}, | |
{ | |
"begin": 2336, | |
"end": 2343, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 2327, | |
"end": 2333, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2316, | |
"end": 2325, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 2312, | |
"end": 2334, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2291, | |
"end": 2344, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "28" | |
}, | |
{ | |
"begin": 2291, | |
"end": 2344, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2291, | |
"end": 2344, | |
"name": "tag", | |
"source": 1, | |
"value": "58" | |
}, | |
{ | |
"begin": 2291, | |
"end": 2344, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2281, | |
"end": 2344, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2281, | |
"end": 2344, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2237, | |
"end": 2354, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2032, | |
"end": 2361, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"name": "tag", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2404, | |
"end": 2411, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2433, | |
"end": 2438, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2422, | |
"end": 2438, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2422, | |
"end": 2438, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2367, | |
"end": 2444, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2450, | |
"end": 2568, | |
"name": "tag", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 2450, | |
"end": 2568, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2537, | |
"end": 2561, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "61" | |
}, | |
{ | |
"begin": 2555, | |
"end": 2560, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2537, | |
"end": 2561, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 2537, | |
"end": 2561, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2537, | |
"end": 2561, | |
"name": "tag", | |
"source": 1, | |
"value": "61" | |
}, | |
{ | |
"begin": 2537, | |
"end": 2561, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2532, | |
"end": 2535, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2525, | |
"end": 2562, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 2450, | |
"end": 2568, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2450, | |
"end": 2568, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2450, | |
"end": 2568, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "tag", | |
"source": 1, | |
"value": "14" | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2667, | |
"end": 2671, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2705, | |
"end": 2707, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 2694, | |
"end": 2703, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2690, | |
"end": 2708, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2682, | |
"end": 2708, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 2682, | |
"end": 2708, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2718, | |
"end": 2789, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "63" | |
}, | |
{ | |
"begin": 2786, | |
"end": 2787, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 2775, | |
"end": 2784, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 2771, | |
"end": 2788, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 2762, | |
"end": 2768, | |
"name": "DUP5", | |
"source": 1 | |
}, | |
{ | |
"begin": 2718, | |
"end": 2789, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 2718, | |
"end": 2789, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2718, | |
"end": 2789, | |
"name": "tag", | |
"source": 1, | |
"value": "63" | |
}, | |
{ | |
"begin": 2718, | |
"end": 2789, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 2574, | |
"end": 2796, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"contracts/HelloWorld.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"print()": "13bdfacd", | |
"query(uint256)": "afdac68d" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"msg\",\"type\":\"bytes32\"}],\"name\":\"LogThis\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"print\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bn\",\"type\":\"uint256\"}],\"name\":\"query\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"LogThis(bytes32)\":{\"details\":\"Prints Hello World string\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/HelloWorld.sol\":\"HelloWorld\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/HelloWorld.sol\":{\"keccak256\":\"0x47ca449e67daa3373df89cc960f5dd1f1565315cf0c7b8faa12771e26da84385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3cc87e9a96481eec404b122f09e40eb2cf9c2028196063c55e917ae32dfb359\",\"dweb:/ipfs/Qme9DeTs2RTPdZUPsgPL6nhQw8mj3KQDEkUp9pst7jSxAu\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 8, | |
"contract": "contracts/HelloWorld.sol:HelloWorld", | |
"label": "cnt", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"contracts/HelloWorld.sol": { | |
"ast": { | |
"absolutePath": "contracts/HelloWorld.sol", | |
"exportedSymbols": { | |
"HelloWorld": [ | |
62 | |
] | |
}, | |
"id": 63, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
">=", | |
"0.6", | |
".12", | |
"<", | |
"0.9", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:32:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "HelloWorld", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 62, | |
"linearizedBaseContracts": [ | |
62 | |
], | |
"name": "HelloWorld", | |
"nameLocation": "75:10:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"anonymous": false, | |
"documentation": { | |
"id": 2, | |
"nodeType": "StructuredDocumentation", | |
"src": "90:45:0", | |
"text": " @dev Prints Hello World string" | |
}, | |
"eventSelector": "b6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026", | |
"id": 6, | |
"name": "LogThis", | |
"nameLocation": "144:7:0", | |
"nodeType": "EventDefinition", | |
"parameters": { | |
"id": 5, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 4, | |
"indexed": false, | |
"mutability": "mutable", | |
"name": "msg", | |
"nameLocation": "160:3:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 6, | |
"src": "152:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "152:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "151:13:0" | |
}, | |
"src": "138:27:0" | |
}, | |
{ | |
"constant": false, | |
"id": 8, | |
"mutability": "mutable", | |
"name": "cnt", | |
"nameLocation": "173:3:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 62, | |
"src": "168:8:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 7, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "168:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 15, | |
"nodeType": "Block", | |
"src": "233:32:0", | |
"statements": [ | |
{ | |
"expression": { | |
"hexValue": "48656c6c6f20576f726c6421", | |
"id": 13, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "246:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_3ea2f1d0abf3fc66cf29eebb70cbd4e7fe762ef8a09bcc06c8edf641230afec0", | |
"typeString": "literal_string \"Hello World!\"" | |
}, | |
"value": "Hello World!" | |
}, | |
"functionReturnParameters": 12, | |
"id": 14, | |
"nodeType": "Return", | |
"src": "239:21:0" | |
} | |
] | |
}, | |
"functionSelector": "13bdfacd", | |
"id": 16, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "print", | |
"nameLocation": "189:5:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 9, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "194:2:0" | |
}, | |
"returnParameters": { | |
"id": 12, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 11, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 16, | |
"src": "218:13:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 10, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "218:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "217:15:0" | |
}, | |
"scope": 62, | |
"src": "180:85:0", | |
"stateMutability": "pure", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 40, | |
"nodeType": "Block", | |
"src": "283:193:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
20 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 20, | |
"mutability": "mutable", | |
"name": "root", | |
"nameLocation": "297:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 40, | |
"src": "289:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 19, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "289:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 24, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"hexValue": "33363839333231", | |
"id": 22, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "314:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_3689321_by_1", | |
"typeString": "int_const 3689321" | |
}, | |
"value": "3689321" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_rational_3689321_by_1", | |
"typeString": "int_const 3689321" | |
} | |
], | |
"id": 21, | |
"name": "blockhash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967291, | |
"src": "304:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$", | |
"typeString": "function (uint256) view returns (bytes32)" | |
} | |
}, | |
"id": 23, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "304:18:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "289:33:0" | |
}, | |
{ | |
"eventCall": { | |
"arguments": [ | |
{ | |
"id": 26, | |
"name": "root", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 20, | |
"src": "341:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 25, | |
"name": "LogThis", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "333:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", | |
"typeString": "function (bytes32)" | |
} | |
}, | |
"id": 27, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "333:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 28, | |
"nodeType": "EmitStatement", | |
"src": "328:18:0" | |
}, | |
{ | |
"assignments": [ | |
30 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 30, | |
"mutability": "mutable", | |
"name": "root2", | |
"nameLocation": "361:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 40, | |
"src": "353:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 29, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "353:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 32, | |
"initialValue": { | |
"hexValue": "307835323833326330323031336630373161313565313262313739626162313537326265663132666563643431616261636234613234336634333732616163323665", | |
"id": 31, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "369:66:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_37321414280204204713649726284619761099737035098666162149145890525155378774638_by_1", | |
"typeString": "int_const 3732...(69 digits omitted)...4638" | |
}, | |
"value": "0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e" | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "353:82:0" | |
}, | |
{ | |
"eventCall": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"id": 36, | |
"name": "root2", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 30, | |
"src": "462:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "454:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_bytes32_$", | |
"typeString": "type(bytes32)" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "454:7:0", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 37, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "454:14:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 33, | |
"name": "LogThis", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "446:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", | |
"typeString": "function (bytes32)" | |
} | |
}, | |
"id": 38, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "446:23:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 39, | |
"nodeType": "EmitStatement", | |
"src": "441:28:0" | |
} | |
] | |
}, | |
"id": 41, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 17, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "279:2:0" | |
}, | |
"returnParameters": { | |
"id": 18, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "283:0:0" | |
}, | |
"scope": 62, | |
"src": "268:208:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 60, | |
"nodeType": "Block", | |
"src": "528:81:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
49 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 49, | |
"mutability": "mutable", | |
"name": "root", | |
"nameLocation": "542:4:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 60, | |
"src": "534:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 48, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "534:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 53, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"id": 51, | |
"name": "bn", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 43, | |
"src": "559:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 50, | |
"name": "blockhash", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967291, | |
"src": "549:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$", | |
"typeString": "function (uint256) view returns (bytes32)" | |
} | |
}, | |
"id": 52, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "549:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "534:28:0" | |
}, | |
{ | |
"eventCall": { | |
"arguments": [ | |
{ | |
"id": 55, | |
"name": "root", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 49, | |
"src": "581:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
], | |
"id": 54, | |
"name": "LogThis", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 6, | |
"src": "573:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", | |
"typeString": "function (bytes32)" | |
} | |
}, | |
"id": 56, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "573:13:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 57, | |
"nodeType": "EmitStatement", | |
"src": "568:18:0" | |
}, | |
{ | |
"expression": { | |
"id": 58, | |
"name": "root", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 49, | |
"src": "600:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"functionReturnParameters": 47, | |
"id": 59, | |
"nodeType": "Return", | |
"src": "593:11:0" | |
} | |
] | |
}, | |
"functionSelector": "afdac68d", | |
"id": 61, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "query", | |
"nameLocation": "488:5:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 44, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 43, | |
"mutability": "mutable", | |
"name": "bn", | |
"nameLocation": "499:2:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 61, | |
"src": "494:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 42, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "494:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "493:9:0" | |
}, | |
"returnParameters": { | |
"id": 47, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 46, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 61, | |
"src": "519:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
}, | |
"typeName": { | |
"id": 45, | |
"name": "bytes32", | |
"nodeType": "ElementaryTypeName", | |
"src": "519:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bytes32", | |
"typeString": "bytes32" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "518:9:0" | |
}, | |
"scope": 62, | |
"src": "479:130:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 63, | |
"src": "66:545:0", | |
"usedErrors": [], | |
"usedEvents": [ | |
6 | |
] | |
} | |
], | |
"src": "32:580: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": { | |
"@_41": { | |
"entryPoint": null, | |
"id": 41, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 188, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 203, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 179, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:439:1", | |
"nodeType": "YulBlock", | |
"src": "0:439:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "52:32:1", | |
"nodeType": "YulBlock", | |
"src": "52:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "62:16:1", | |
"nodeType": "YulAssignment", | |
"src": "62:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "73:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "73:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "62:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "62:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "7:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "34:5:1", | |
"nodeType": "YulTypedName", | |
"src": "34:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "44:7:1", | |
"nodeType": "YulTypedName", | |
"src": "44:7:1", | |
"type": "" | |
} | |
], | |
"src": "7:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "155:53:1", | |
"nodeType": "YulBlock", | |
"src": "155:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "172:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "172:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "195:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "195:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "177:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "177:17:1" | |
}, | |
"nativeSrc": "177:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "177:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "165:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "165:6:1" | |
}, | |
"nativeSrc": "165:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "165:37:1" | |
}, | |
"nativeSrc": "165:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "165:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "90:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "143:5:1", | |
"nodeType": "YulTypedName", | |
"src": "143:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "150:3:1", | |
"nodeType": "YulTypedName", | |
"src": "150:3:1", | |
"type": "" | |
} | |
], | |
"src": "90:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "312:124:1", | |
"nodeType": "YulBlock", | |
"src": "312:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "322:26:1", | |
"nodeType": "YulAssignment", | |
"src": "322:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "334:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "334:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "345:2:1", | |
"nodeType": "YulLiteral", | |
"src": "345:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "330:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "330:3:1" | |
}, | |
"nativeSrc": "330:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "330:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "322:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "322:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "402:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "415:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "415:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "426:1:1", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "411:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:3:1" | |
}, | |
"nativeSrc": "411:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "411:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "358:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "358:43:1" | |
}, | |
"nativeSrc": "358:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "358:71:1" | |
}, | |
"nativeSrc": "358:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "358:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nativeSrc": "214:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "284:9:1", | |
"nodeType": "YulTypedName", | |
"src": "284:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "296:6:1", | |
"nodeType": "YulTypedName", | |
"src": "296:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "307:4:1", | |
"nodeType": "YulTypedName", | |
"src": "307:4:1", | |
"type": "" | |
} | |
], | |
"src": "214:222:1" | |
} | |
] | |
}, | |
"contents": "{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b505f62384b694090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b9140268160405161004791906100cb565b60405180910390a15f7f52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e90507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026815f1b6040516100a491906100cb565b60405180910390a150506100e4565b5f819050919050565b6100c5816100b3565b82525050565b5f6020820190506100de5f8301846100bc565b92915050565b61027c806100f15f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c806313bdfacd14610038578063afdac68d14610056575b5f80fd5b610040610086565b60405161004d9190610193565b60405180910390f35b610070600480360381019061006b91906101ea565b6100c3565b60405161007d919061022d565b60405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f20576f726c64210000000000000000000000000000000000000000815250905090565b5f80824090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026816040516100f8919061022d565b60405180910390a180915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610140578082015181840152602081019050610125565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016582610109565b61016f8185610113565b935061017f818560208601610123565b6101888161014b565b840191505092915050565b5f6020820190508181035f8301526101ab818461015b565b905092915050565b5f80fd5b5f819050919050565b6101c9816101b7565b81146101d3575f80fd5b50565b5f813590506101e4816101c0565b92915050565b5f602082840312156101ff576101fe6101b3565b5b5f61020c848285016101d6565b91505092915050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b9291505056fea2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH0 PUSH3 0x384B69 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0x47 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH0 PUSH32 0x52832C02013F071A15E12B179BAB1572BEF12FECD41ABACB4A243F4372AAC26E SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH0 SHL PUSH1 0x40 MLOAD PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP PUSH2 0xE4 JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC5 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDE PUSH0 DUP4 ADD DUP5 PUSH2 0xBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x27C DUP1 PUSH2 0xF1 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13BDFACD EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xAFDAC68D EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 DUP3 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x140 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x125 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x165 DUP3 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x16F DUP2 DUP6 PUSH2 0x113 JUMP JUMPDEST SWAP4 POP PUSH2 0x17F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123 JUMP JUMPDEST PUSH2 0x188 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1AB DUP2 DUP5 PUSH2 0x15B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C9 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E4 DUP2 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FE PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20C DUP5 DUP3 DUP6 ADD PUSH2 0x1D6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x227 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x240 PUSH0 DUP4 ADD DUP5 PUSH2 0x21E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x1D3149C3CF 0xBC DIV DUP6 0xC1 0x4E SWAP12 CALLCODE PUSH15 0x8DFD7DD45A96958551807F72069C9F 0xD5 CALLDATASIZE 0xFB PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "66:545:0:-:0;;;268:208;;;;;;;;;;289:12;314:7;304:18;289:33;;333:13;341:4;333:13;;;;;;:::i;:::-;;;;;;;;353;369:66;353:82;;446:23;462:5;454:14;;446:23;;;;;;:::i;:::-;;;;;;;;283:193;;66:545;;7:77:1;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;66:545:0:-;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@print_16": { | |
"entryPoint": 134, | |
"id": 16, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@query_61": { | |
"entryPoint": 195, | |
"id": 61, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 490, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
"entryPoint": 542, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 347, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
"entryPoint": 557, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 403, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_length_t_string_memory_ptr": { | |
"entryPoint": 265, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 275, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_bytes32": { | |
"entryPoint": 533, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 439, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"copy_memory_to_memory_with_cleanup": { | |
"entryPoint": 291, | |
"id": null, | |
"parameterSlots": 3, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 435, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"round_up_to_mul_of_32": { | |
"entryPoint": 331, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 448, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:2799:1", | |
"nodeType": "YulBlock", | |
"src": "0:2799:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "66:40:1", | |
"nodeType": "YulBlock", | |
"src": "66:40:1", | |
"statements": [ | |
{ | |
"nativeSrc": "77:22:1", | |
"nodeType": "YulAssignment", | |
"src": "77:22:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "93:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "93:5:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "87:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "87:5:1" | |
}, | |
"nativeSrc": "87:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "87:12:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "length", | |
"nativeSrc": "77:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "77:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "7:99:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "49:5:1", | |
"nodeType": "YulTypedName", | |
"src": "49:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "59:6:1", | |
"nodeType": "YulTypedName", | |
"src": "59:6:1", | |
"type": "" | |
} | |
], | |
"src": "7:99:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "208:73:1", | |
"nodeType": "YulBlock", | |
"src": "208:73:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "225:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "225:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "230:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "230:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "218:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "218:6:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulFunctionCall", | |
"src": "218:19:1" | |
}, | |
"nativeSrc": "218:19:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "218:19:1" | |
}, | |
{ | |
"nativeSrc": "246:29:1", | |
"nodeType": "YulAssignment", | |
"src": "246:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "265:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "265:3:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "270:4:1", | |
"nodeType": "YulLiteral", | |
"src": "270:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "261:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "261:3:1" | |
}, | |
"nativeSrc": "261:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "261:14:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "246:11:1", | |
"nodeType": "YulIdentifier", | |
"src": "246:11:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "112:169:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "180:3:1", | |
"nodeType": "YulTypedName", | |
"src": "180:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "185:6:1", | |
"nodeType": "YulTypedName", | |
"src": "185:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nativeSrc": "196:11:1", | |
"nodeType": "YulTypedName", | |
"src": "196:11:1", | |
"type": "" | |
} | |
], | |
"src": "112:169:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "349:184:1", | |
"nodeType": "YulBlock", | |
"src": "349:184:1", | |
"statements": [ | |
{ | |
"nativeSrc": "359:10:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "359:10:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "368:1:1", | |
"nodeType": "YulLiteral", | |
"src": "368:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "i", | |
"nativeSrc": "363:1:1", | |
"nodeType": "YulTypedName", | |
"src": "363:1:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "428:63:1", | |
"nodeType": "YulBlock", | |
"src": "428:63:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "453:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "453:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "458:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "458:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "449:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "449:3:1" | |
}, | |
"nativeSrc": "449:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "449:11:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "src", | |
"nativeSrc": "472:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "472:3:1" | |
}, | |
{ | |
"name": "i", | |
"nativeSrc": "477:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "477:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "468:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "468:3:1" | |
}, | |
"nativeSrc": "468:11:1", | |
"nodeType": "YulFunctionCall", | |
"src": "468:11:1" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "462:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "462:5:1" | |
}, | |
"nativeSrc": "462:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "462:18:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "442:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "442:39:1" | |
}, | |
"nativeSrc": "442:39:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "442:39:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "389:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "389:1:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "392:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "392:6:1" | |
} | |
], | |
"functionName": { | |
"name": "lt", | |
"nativeSrc": "386:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "386:2:1" | |
}, | |
"nativeSrc": "386:13:1", | |
"nodeType": "YulFunctionCall", | |
"src": "386:13:1" | |
}, | |
"nativeSrc": "378:113:1", | |
"nodeType": "YulForLoop", | |
"post": { | |
"nativeSrc": "400:19:1", | |
"nodeType": "YulBlock", | |
"src": "400:19:1", | |
"statements": [ | |
{ | |
"nativeSrc": "402:15:1", | |
"nodeType": "YulAssignment", | |
"src": "402:15:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "i", | |
"nativeSrc": "411:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "411:1:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "414:2:1", | |
"nodeType": "YulLiteral", | |
"src": "414:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "407:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "407:3:1" | |
}, | |
"nativeSrc": "407:10:1", | |
"nodeType": "YulFunctionCall", | |
"src": "407:10:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "i", | |
"nativeSrc": "402:1:1", | |
"nodeType": "YulIdentifier", | |
"src": "402:1:1" | |
} | |
] | |
} | |
] | |
}, | |
"pre": { | |
"nativeSrc": "382:3:1", | |
"nodeType": "YulBlock", | |
"src": "382:3:1", | |
"statements": [] | |
}, | |
"src": "378:113:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dst", | |
"nativeSrc": "511:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "511:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "516:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "516:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "507:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "507:3:1" | |
}, | |
"nativeSrc": "507:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "507:16:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "525:1:1", | |
"nodeType": "YulLiteral", | |
"src": "525:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "500:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "500:6:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulFunctionCall", | |
"src": "500:27:1" | |
}, | |
"nativeSrc": "500:27:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "500:27:1" | |
} | |
] | |
}, | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "287:246:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "src", | |
"nativeSrc": "331:3:1", | |
"nodeType": "YulTypedName", | |
"src": "331:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "dst", | |
"nativeSrc": "336:3:1", | |
"nodeType": "YulTypedName", | |
"src": "336:3:1", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "341:6:1", | |
"nodeType": "YulTypedName", | |
"src": "341:6:1", | |
"type": "" | |
} | |
], | |
"src": "287:246:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "587:54:1", | |
"nodeType": "YulBlock", | |
"src": "587:54:1", | |
"statements": [ | |
{ | |
"nativeSrc": "597:38:1", | |
"nodeType": "YulAssignment", | |
"src": "597:38:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "615:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "615:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "622:2:1", | |
"nodeType": "YulLiteral", | |
"src": "622:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "611:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "611:3:1" | |
}, | |
"nativeSrc": "611:14:1", | |
"nodeType": "YulFunctionCall", | |
"src": "611:14:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "631:2:1", | |
"nodeType": "YulLiteral", | |
"src": "631:2:1", | |
"type": "", | |
"value": "31" | |
} | |
], | |
"functionName": { | |
"name": "not", | |
"nativeSrc": "627:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "627:3:1" | |
}, | |
"nativeSrc": "627:7:1", | |
"nodeType": "YulFunctionCall", | |
"src": "627:7:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nativeSrc": "607:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "607:3:1" | |
}, | |
"nativeSrc": "607:28:1", | |
"nodeType": "YulFunctionCall", | |
"src": "607:28:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "result", | |
"nativeSrc": "597:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "597:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "539:102:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "570:5:1", | |
"nodeType": "YulTypedName", | |
"src": "570:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "result", | |
"nativeSrc": "580:6:1", | |
"nodeType": "YulTypedName", | |
"src": "580:6:1", | |
"type": "" | |
} | |
], | |
"src": "539:102:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "739:285:1", | |
"nodeType": "YulBlock", | |
"src": "739:285:1", | |
"statements": [ | |
{ | |
"nativeSrc": "749:53:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "749:53:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "796:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "796:5:1" | |
} | |
], | |
"functionName": { | |
"name": "array_length_t_string_memory_ptr", | |
"nativeSrc": "763:32:1", | |
"nodeType": "YulIdentifier", | |
"src": "763:32:1" | |
}, | |
"nativeSrc": "763:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "763:39:1" | |
}, | |
"variables": [ | |
{ | |
"name": "length", | |
"nativeSrc": "753:6:1", | |
"nodeType": "YulTypedName", | |
"src": "753:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "811:78:1", | |
"nodeType": "YulAssignment", | |
"src": "811:78:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "877:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "877:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "882:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "882:6:1" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nativeSrc": "818:58:1", | |
"nodeType": "YulIdentifier", | |
"src": "818:58:1" | |
}, | |
"nativeSrc": "818:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "818:71:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "811:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "811:3:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "937:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "944:4:1", | |
"nodeType": "YulLiteral", | |
"src": "944:4:1", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "933:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "933:3:1" | |
}, | |
"nativeSrc": "933:16:1", | |
"nodeType": "YulFunctionCall", | |
"src": "933:16:1" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "951:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "951:3:1" | |
}, | |
{ | |
"name": "length", | |
"nativeSrc": "956:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "956:6:1" | |
} | |
], | |
"functionName": { | |
"name": "copy_memory_to_memory_with_cleanup", | |
"nativeSrc": "898:34:1", | |
"nodeType": "YulIdentifier", | |
"src": "898:34:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulFunctionCall", | |
"src": "898:65:1" | |
}, | |
"nativeSrc": "898:65:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "898:65:1" | |
}, | |
{ | |
"nativeSrc": "972:46:1", | |
"nodeType": "YulAssignment", | |
"src": "972:46:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "983:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "983:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "length", | |
"nativeSrc": "1010:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1010:6:1" | |
} | |
], | |
"functionName": { | |
"name": "round_up_to_mul_of_32", | |
"nativeSrc": "988:21:1", | |
"nodeType": "YulIdentifier", | |
"src": "988:21:1" | |
}, | |
"nativeSrc": "988:29:1", | |
"nodeType": "YulFunctionCall", | |
"src": "988:29:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "979:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "979:3:1" | |
}, | |
"nativeSrc": "979:39:1", | |
"nodeType": "YulFunctionCall", | |
"src": "979:39:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nativeSrc": "972:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "972:3:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "647:377:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "720:5:1", | |
"nodeType": "YulTypedName", | |
"src": "720:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "727:3:1", | |
"nodeType": "YulTypedName", | |
"src": "727:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nativeSrc": "735:3:1", | |
"nodeType": "YulTypedName", | |
"src": "735:3:1", | |
"type": "" | |
} | |
], | |
"src": "647:377:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1148:195:1", | |
"nodeType": "YulBlock", | |
"src": "1148:195:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1158:26:1", | |
"nodeType": "YulAssignment", | |
"src": "1158:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1170:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1170:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1181:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1181:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1166:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1166:3:1" | |
}, | |
"nativeSrc": "1166:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1166:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1158:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1158:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1205:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1205:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1216:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1216:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "1201:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1201:3:1" | |
}, | |
"nativeSrc": "1201:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1201:17:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1224:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1224:4:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "1230:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "1230:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "1220:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "1220:3:1" | |
}, | |
"nativeSrc": "1220:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1220:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "1194:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1194:6:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1194:47:1" | |
}, | |
"nativeSrc": "1194:47:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1194:47:1" | |
}, | |
{ | |
"nativeSrc": "1250:86:1", | |
"nodeType": "YulAssignment", | |
"src": "1250:86:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "1322:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1322:6:1" | |
}, | |
{ | |
"name": "tail", | |
"nativeSrc": "1331:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1331:4:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", | |
"nativeSrc": "1258:63:1", | |
"nodeType": "YulIdentifier", | |
"src": "1258:63:1" | |
}, | |
"nativeSrc": "1258:78:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1258:78:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1250:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "1250:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", | |
"nativeSrc": "1030:313:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "1120:9:1", | |
"nodeType": "YulTypedName", | |
"src": "1120:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "1132:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1132:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "1143:4:1", | |
"nodeType": "YulTypedName", | |
"src": "1143:4:1", | |
"type": "" | |
} | |
], | |
"src": "1030:313:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1389:35:1", | |
"nodeType": "YulBlock", | |
"src": "1389:35:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1399:19:1", | |
"nodeType": "YulAssignment", | |
"src": "1399:19:1", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1415:2:1", | |
"nodeType": "YulLiteral", | |
"src": "1415:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nativeSrc": "1409:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1409:5:1" | |
}, | |
"nativeSrc": "1409:9:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1409:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1399:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1399:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nativeSrc": "1349:75:1", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nativeSrc": "1382:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1382:6:1", | |
"type": "" | |
} | |
], | |
"src": "1349:75:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1519:28:1", | |
"nodeType": "YulBlock", | |
"src": "1519:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1536:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1536:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1539:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1539:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1529:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1529:6:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1529:12:1" | |
}, | |
"nativeSrc": "1529:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1529:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "1430:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1430:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1642:28:1", | |
"nodeType": "YulBlock", | |
"src": "1642:28:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1659:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1659:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1662:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1662:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1652:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1652:6:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1652:12:1" | |
}, | |
"nativeSrc": "1652:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1652:12:1" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nativeSrc": "1553:117:1", | |
"nodeType": "YulFunctionDefinition", | |
"src": "1553:117:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1721:32:1", | |
"nodeType": "YulBlock", | |
"src": "1721:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1731:16:1", | |
"nodeType": "YulAssignment", | |
"src": "1731:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "1742:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1742:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1731:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "1731:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1676:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1703:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1703:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "1713:7:1", | |
"nodeType": "YulTypedName", | |
"src": "1713:7:1", | |
"type": "" | |
} | |
], | |
"src": "1676:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1802:79:1", | |
"nodeType": "YulBlock", | |
"src": "1802:79:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "1859:16:1", | |
"nodeType": "YulBlock", | |
"src": "1859:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "1868:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1868:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "1871:1:1", | |
"nodeType": "YulLiteral", | |
"src": "1871:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "1861:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1861:6:1" | |
}, | |
"nativeSrc": "1861:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1861:12:1" | |
}, | |
"nativeSrc": "1861:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1861:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1825:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1825:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1850:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1850:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nativeSrc": "1832:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "1832:17:1" | |
}, | |
"nativeSrc": "1832:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1832:24:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nativeSrc": "1822:2:1", | |
"nodeType": "YulIdentifier", | |
"src": "1822:2:1" | |
}, | |
"nativeSrc": "1822:35:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1822:35:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nativeSrc": "1815:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1815:6:1" | |
}, | |
"nativeSrc": "1815:43:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1815:43:1" | |
}, | |
"nativeSrc": "1812:63:1", | |
"nodeType": "YulIf", | |
"src": "1812:63:1" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "1759:122:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1795:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1795:5:1", | |
"type": "" | |
} | |
], | |
"src": "1759:122:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "1939:87:1", | |
"nodeType": "YulBlock", | |
"src": "1939:87:1", | |
"statements": [ | |
{ | |
"nativeSrc": "1949:29:1", | |
"nodeType": "YulAssignment", | |
"src": "1949:29:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "1971:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "1971:6:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "1958:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "1958:12:1" | |
}, | |
"nativeSrc": "1958:20:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1958:20:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1949:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "1949:5:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2014:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2014:5:1" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nativeSrc": "1987:26:1", | |
"nodeType": "YulIdentifier", | |
"src": "1987:26:1" | |
}, | |
"nativeSrc": "1987:33:1", | |
"nodeType": "YulFunctionCall", | |
"src": "1987:33:1" | |
}, | |
"nativeSrc": "1987:33:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "1987:33:1" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "1887:139:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "1917:6:1", | |
"nodeType": "YulTypedName", | |
"src": "1917:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nativeSrc": "1925:3:1", | |
"nodeType": "YulTypedName", | |
"src": "1925:3:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nativeSrc": "1933:5:1", | |
"nodeType": "YulTypedName", | |
"src": "1933:5:1", | |
"type": "" | |
} | |
], | |
"src": "1887:139:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2098:263:1", | |
"nodeType": "YulBlock", | |
"src": "2098:263:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "2144:83:1", | |
"nodeType": "YulBlock", | |
"src": "2144:83:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nativeSrc": "2146:77:1", | |
"nodeType": "YulIdentifier", | |
"src": "2146:77:1" | |
}, | |
"nativeSrc": "2146:79:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2146:79:1" | |
}, | |
"nativeSrc": "2146:79:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2146:79:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2119:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2119:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "2128:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2128:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "2115:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2115:3:1" | |
}, | |
"nativeSrc": "2115:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2115:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2140:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2140:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "2111:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2111:3:1" | |
}, | |
"nativeSrc": "2111:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2111:32:1" | |
}, | |
"nativeSrc": "2108:119:1", | |
"nodeType": "YulIf", | |
"src": "2108:119:1" | |
}, | |
{ | |
"nativeSrc": "2237:117:1", | |
"nodeType": "YulBlock", | |
"src": "2237:117:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2252:15:1", | |
"nodeType": "YulVariableDeclaration", | |
"src": "2252:15:1", | |
"value": { | |
"kind": "number", | |
"nativeSrc": "2266:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2266:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nativeSrc": "2256:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2256:6:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nativeSrc": "2281:63:1", | |
"nodeType": "YulAssignment", | |
"src": "2281:63:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2316:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2316:9:1" | |
}, | |
{ | |
"name": "offset", | |
"nativeSrc": "2327:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2327:6:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2312:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2312:3:1" | |
}, | |
"nativeSrc": "2312:22:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2312:22:1" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2336:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2336:7:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nativeSrc": "2291:20:1", | |
"nodeType": "YulIdentifier", | |
"src": "2291:20:1" | |
}, | |
"nativeSrc": "2291:53:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2291:53:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2281:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2281:6:1" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nativeSrc": "2032:329:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2068:9:1", | |
"nodeType": "YulTypedName", | |
"src": "2068:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "2079:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2079:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2091:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2091:6:1", | |
"type": "" | |
} | |
], | |
"src": "2032:329:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2412:32:1", | |
"nodeType": "YulBlock", | |
"src": "2412:32:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2422:16:1", | |
"nodeType": "YulAssignment", | |
"src": "2422:16:1", | |
"value": { | |
"name": "value", | |
"nativeSrc": "2433:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2433:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "2422:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "2422:7:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "2367:77:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2394:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2394:5:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nativeSrc": "2404:7:1", | |
"nodeType": "YulTypedName", | |
"src": "2404:7:1", | |
"type": "" | |
} | |
], | |
"src": "2367:77:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2515:53:1", | |
"nodeType": "YulBlock", | |
"src": "2515:53:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nativeSrc": "2532:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2532:3:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2555:5:1", | |
"nodeType": "YulIdentifier", | |
"src": "2555:5:1" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_bytes32", | |
"nativeSrc": "2537:17:1", | |
"nodeType": "YulIdentifier", | |
"src": "2537:17:1" | |
}, | |
"nativeSrc": "2537:24:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2537:24:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "2525:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2525:6:1" | |
}, | |
"nativeSrc": "2525:37:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2525:37:1" | |
}, | |
"nativeSrc": "2525:37:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2525:37:1" | |
} | |
] | |
}, | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "2450:118:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nativeSrc": "2503:5:1", | |
"nodeType": "YulTypedName", | |
"src": "2503:5:1", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nativeSrc": "2510:3:1", | |
"nodeType": "YulTypedName", | |
"src": "2510:3:1", | |
"type": "" | |
} | |
], | |
"src": "2450:118:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "2672:124:1", | |
"nodeType": "YulBlock", | |
"src": "2672:124:1", | |
"statements": [ | |
{ | |
"nativeSrc": "2682:26:1", | |
"nodeType": "YulAssignment", | |
"src": "2682:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2694:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2694:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2705:2:1", | |
"nodeType": "YulLiteral", | |
"src": "2705:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2690:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2690:3:1" | |
}, | |
"nativeSrc": "2690:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2690:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "2682:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "2682:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "2762:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "2762:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2775:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "2775:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "2786:1:1", | |
"nodeType": "YulLiteral", | |
"src": "2786:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "2771:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "2771:3:1" | |
}, | |
"nativeSrc": "2771:17:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2771:17:1" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
"nativeSrc": "2718:43:1", | |
"nodeType": "YulIdentifier", | |
"src": "2718:43:1" | |
}, | |
"nativeSrc": "2718:71:1", | |
"nodeType": "YulFunctionCall", | |
"src": "2718:71:1" | |
}, | |
"nativeSrc": "2718:71:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "2718:71:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
"nativeSrc": "2574:222:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "2644:9:1", | |
"nodeType": "YulTypedName", | |
"src": "2644:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "2656:6:1", | |
"nodeType": "YulTypedName", | |
"src": "2656:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "2667:4:1", | |
"nodeType": "YulTypedName", | |
"src": "2667:4:1", | |
"type": "" | |
} | |
], | |
"src": "2574:222:1" | |
} | |
] | |
}, | |
"contents": "{\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_memory_to_memory_with_cleanup(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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_with_cleanup(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_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561000f575f80fd5b5060043610610034575f3560e01c806313bdfacd14610038578063afdac68d14610056575b5f80fd5b610040610086565b60405161004d9190610193565b60405180910390f35b610070600480360381019061006b91906101ea565b6100c3565b60405161007d919061022d565b60405180910390f35b60606040518060400160405280600c81526020017f48656c6c6f20576f726c64210000000000000000000000000000000000000000815250905090565b5f80824090507fb6f00a1cecd74e992c283a38df2e6d308d353faa6c85dbad1fbfc9075b914026816040516100f8919061022d565b60405180910390a180915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610140578082015181840152602081019050610125565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61016582610109565b61016f8185610113565b935061017f818560208601610123565b6101888161014b565b840191505092915050565b5f6020820190508181035f8301526101ab818461015b565b905092915050565b5f80fd5b5f819050919050565b6101c9816101b7565b81146101d3575f80fd5b50565b5f813590506101e4816101c0565b92915050565b5f602082840312156101ff576101fe6101b3565b5b5f61020c848285016101d6565b91505092915050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b9291505056fea2646970667358221220641d3149c3cfbc0485c14e9bf26e8dfd7dd45a96958551807f72069c9fd536fb64736f6c63430008160033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x13BDFACD EQ PUSH2 0x38 JUMPI DUP1 PUSH4 0xAFDAC68D EQ PUSH2 0x56 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x40 PUSH2 0x86 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D SWAP2 SWAP1 PUSH2 0x193 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x70 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6B SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7D SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 DUP3 BLOCKHASH SWAP1 POP PUSH32 0xB6F00A1CECD74E992C283A38DF2E6D308D353FAA6C85DBAD1FBFC9075B914026 DUP2 PUSH1 0x40 MLOAD PUSH2 0xF8 SWAP2 SWAP1 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x140 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x125 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x165 DUP3 PUSH2 0x109 JUMP JUMPDEST PUSH2 0x16F DUP2 DUP6 PUSH2 0x113 JUMP JUMPDEST SWAP4 POP PUSH2 0x17F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x123 JUMP JUMPDEST PUSH2 0x188 DUP2 PUSH2 0x14B JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1AB DUP2 DUP5 PUSH2 0x15B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C9 DUP2 PUSH2 0x1B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1D3 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1E4 DUP2 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FE PUSH2 0x1B3 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x20C DUP5 DUP3 DUP6 ADD PUSH2 0x1D6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x227 DUP2 PUSH2 0x215 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x240 PUSH0 DUP4 ADD DUP5 PUSH2 0x21E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH5 0x1D3149C3CF 0xBC DIV DUP6 0xC1 0x4E SWAP12 CALLCODE PUSH15 0x8DFD7DD45A96958551807F72069C9F 0xD5 CALLDATASIZE 0xFB PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", | |
"sourceMap": "66:545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;479:130;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;180:85;218:13;239:21;;;;;;;;;;;;;;;;;;;180:85;:::o;479:130::-;519:7;534:12;559:2;549:13;534:28;;573:13;581:4;573:13;;;;;;:::i;:::-;;;;;;;;600:4;593:11;;;479:130;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:77;1713:7;1742:5;1731:16;;1676:77;;;:::o;1759:122::-;1832:24;1850:5;1832:24;:::i;:::-;1825:5;1822:35;1812:63;;1871:1;1868;1861:12;1812:63;1759:122;:::o;1887:139::-;1933:5;1971:6;1958:20;1949:29;;1987:33;2014:5;1987:33;:::i;:::-;1887:139;;;;:::o;2032:329::-;2091:6;2140:2;2128:9;2119:7;2115:23;2111:32;2108:119;;;2146:79;;:::i;:::-;2108:119;2266:1;2291:53;2336:7;2327:6;2316:9;2312:22;2291:53;:::i;:::-;2281:63;;2237:117;2032:329;;;;:::o;2367:77::-;2404:7;2433:5;2422:16;;2367:77;;;:::o;2450:118::-;2537:24;2555:5;2537:24;:::i;:::-;2532:3;2525:37;2450:118;;:::o;2574:222::-;2667:4;2705:2;2694:9;2690:18;2682:26;;2718:71;2786:1;2775:9;2771:17;2762:6;2718:71;:::i;:::-;2574:222;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "127200", | |
"executionCost": "infinite", | |
"totalCost": "infinite" | |
}, | |
"external": { | |
"print()": "infinite", | |
"query(uint256)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"print()": "13bdfacd", | |
"query(uint256)": "afdac68d" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "bytes32", | |
"name": "msg", | |
"type": "bytes32" | |
} | |
], | |
"name": "LogThis", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "print", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "bn", | |
"type": "uint256" | |
} | |
], | |
"name": "query", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "", | |
"type": "bytes32" | |
} | |
], | |
"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.22+commit.4fc1097e" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"internalType": "bytes32", | |
"name": "msg", | |
"type": "bytes32" | |
} | |
], | |
"name": "LogThis", | |
"type": "event" | |
}, | |
{ | |
"inputs": [], | |
"name": "print", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "pure", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "bn", | |
"type": "uint256" | |
} | |
], | |
"name": "query", | |
"outputs": [ | |
{ | |
"internalType": "bytes32", | |
"name": "", | |
"type": "bytes32" | |
} | |
], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"events": { | |
"LogThis(bytes32)": { | |
"details": "Prints Hello World string" | |
} | |
}, | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/HelloWorld.sol": "HelloWorld" | |
}, | |
"evmVersion": "shanghai", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"contracts/HelloWorld.sol": { | |
"keccak256": "0x47ca449e67daa3373df89cc960f5dd1f1565315cf0c7b8faa12771e26da84385", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://c3cc87e9a96481eec404b122f09e40eb2cf9c2028196063c55e917ae32dfb359", | |
"dweb:/ipfs/Qme9DeTs2RTPdZUPsgPL6nhQw8mj3KQDEkUp9pst7jSxAu" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity >=0.6.12 <0.9.0; | |
contract HelloWorld { | |
/** | |
* @dev Prints Hello World string | |
*/ | |
event LogThis(bytes32 msg); | |
uint cnt; | |
function print() public pure returns (string memory) { | |
return "Hello World!"; | |
} | |
constructor() { | |
bytes32 root = blockhash(3689321); | |
emit LogThis(root); | |
uint256 root2 = 0x52832c02013f071a15e12b179bab1572bef12fecd41abacb4a243f4372aac26e; | |
emit LogThis(bytes32(root2)); | |
} | |
function query(uint bn) public returns (bytes32) { | |
bytes32 root = blockhash(bn); | |
emit LogThis(root); | |
return root; | |
} | |
} |
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('HelloWorld', []) | |
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('HelloWorld', []) | |
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 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment