Created
September 28, 2025 14:49
-
-
Save SEEDALTAR/a6cce7ead06fc486470218eb8aecfcc5 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.30+commit.73712a01.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
| { | |
| "id": "7782c7b4caa4798ea5c08513e123d070", | |
| "_format": "hh-sol-build-info-1", | |
| "solcVersion": "0.8.30", | |
| "solcLongVersion": "0.8.30+commit.73712a01", | |
| "input": { | |
| "language": "Solidity", | |
| "sources": { | |
| "contract-ad28860759.sol": { | |
| "content": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.4;\n\n\ncontract Test {\n constructor() { b = hex\"12345678901234567890123456789012\"; }\n event Event(uint indexed a, bytes32 b);\n event Event2(uint indexed a, bytes32 b);\n error InsufficientBalance(uint256 available, uint256 required);\n function foo(uint a) public { emit Event(a, b); }\n bytes32 b;\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": { | |
| "contract-ad28860759.sol": { | |
| "Test": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "available", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "required", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "InsufficientBalance", | |
| "type": "error" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event2", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "foo", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "evm": { | |
| "assembly": " /* \"contract-ad28860759.sol\":62:370 contract Test {... */\n mstore(0x40, 0x80)\n /* \"contract-ad28860759.sol\":82:142 constructor() { b = hex\"12345678901234567890123456789012\"; } */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n revert(0x00, 0x00)\ntag_1:\n pop\n /* \"contract-ad28860759.sol\":98:139 b = hex\"12345678901234567890123456789012\" */\n 0x1234567890123456789012345678901200000000000000000000000000000000\n /* \"contract-ad28860759.sol\":98:99 b */\n 0x00\n /* \"contract-ad28860759.sol\":98:139 b = hex\"12345678901234567890123456789012\" */\n dup2\n swap1\n sstore\n pop\n /* \"contract-ad28860759.sol\":62:370 contract Test {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contract-ad28860759.sol\":62:370 contract Test {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n revert(0x00, 0x00)\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x2fbebd38\n eq\n tag_3\n jumpi\n tag_2:\n revert(0x00, 0x00)\n /* \"contract-ad28860759.sol\":304:353 function foo(uint a) public { emit Event(a, b); } */\n tag_3:\n tag_4\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_5\n swap2\n swap1\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n stop\n tag_7:\n /* \"contract-ad28860759.sol\":345:346 a */\n dup1\n /* \"contract-ad28860759.sol\":339:350 Event(a, b) */\n 0xb9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db81399\n /* \"contract-ad28860759.sol\":348:349 b */\n sload(0x00)\n /* \"contract-ad28860759.sol\":339:350 Event(a, b) */\n mload(0x40)\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contract-ad28860759.sol\":304:353 function foo(uint a) public { emit Event(a, b); } */\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_12:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n 0x00\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_14:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_15:\n /* \"#utility.yul\":490:514 */\n tag_25\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_14\n jump\t// in\n tag_25:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_26\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n 0x00\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_26:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_16:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_28\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_15\n jump\t// in\n tag_28:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_6:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_30\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_31\n tag_12\n jump\t// in\n tag_31:\n /* \"#utility.yul\":766:885 */\n tag_30:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_32\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_16\n jump\t// in\n tag_32:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1102 */\n tag_17:\n /* \"#utility.yul\":1062:1069 */\n 0x00\n /* \"#utility.yul\":1091:1096 */\n dup2\n /* \"#utility.yul\":1080:1096 */\n swap1\n pop\n /* \"#utility.yul\":1025:1102 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1108:1226 */\n tag_18:\n /* \"#utility.yul\":1195:1219 */\n tag_35\n /* \"#utility.yul\":1213:1218 */\n dup2\n /* \"#utility.yul\":1195:1219 */\n tag_17\n jump\t// in\n tag_35:\n /* \"#utility.yul\":1190:1193 */\n dup3\n /* \"#utility.yul\":1183:1220 */\n mstore\n /* \"#utility.yul\":1108:1226 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1232:1454 */\n tag_10:\n /* \"#utility.yul\":1325:1329 */\n 0x00\n /* \"#utility.yul\":1363:1365 */\n 0x20\n /* \"#utility.yul\":1352:1361 */\n dup3\n /* \"#utility.yul\":1348:1366 */\n add\n /* \"#utility.yul\":1340:1366 */\n swap1\n pop\n /* \"#utility.yul\":1376:1447 */\n tag_37\n /* \"#utility.yul\":1444:1445 */\n 0x00\n /* \"#utility.yul\":1433:1442 */\n dup4\n /* \"#utility.yul\":1429:1446 */\n add\n /* \"#utility.yul\":1420:1426 */\n dup5\n /* \"#utility.yul\":1376:1447 */\n tag_18\n jump\t// in\n tag_37:\n /* \"#utility.yul\":1232:1454 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033\n}\n", | |
| "bytecode": { | |
| "functionDebugData": { | |
| "@_9": { | |
| "entryPoint": null, | |
| "id": 9, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "6080604052348015600e575f5ffd5b507f12345678901234567890123456789012000000000000000000000000000000005f8190555061014e806100425f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632fbebd381461002d575b5f5ffd5b610047600480360381019061004291906100bc565b610049565b005b807fb9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db813995f5460405161007a91906100ff565b60405180910390a250565b5f5ffd5b5f819050919050565b61009b81610089565b81146100a5575f5ffd5b50565b5f813590506100b681610092565b92915050565b5f602082840312156100d1576100d0610085565b5b5f6100de848285016100a8565b91505092915050565b5f819050919050565b6100f9816100e7565b82525050565b5f6020820190506101125f8301846100f0565b9291505056fea264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH32 0x1234567890123456789012345678901200000000000000000000000000000000 PUSH0 DUP2 SWAP1 SSTORE POP PUSH2 0x14E DUP1 PUSH2 0x42 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x47 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xBC JUMP JUMPDEST PUSH2 0x49 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB9B10FA6330336BEE883557E906AB0D5E98EE503069E9C49689F95022DB81399 PUSH0 SLOAD PUSH1 0x40 MLOAD PUSH2 0x7A SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9B DUP2 PUSH2 0x89 JUMP JUMPDEST DUP2 EQ PUSH2 0xA5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB6 DUP2 PUSH2 0x92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD1 JUMPI PUSH2 0xD0 PUSH2 0x85 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0xE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x112 PUSH0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x943C269A57098FBC92CEDCFA31945F36F7A5CFF083CAD4E8 XOR BLOCKHASH 0xC7 SWAP11 0xAF MUL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ", | |
| "sourceMap": "62:308:0:-:0;;;82:60;;;;;;;;;;98:41;:1;:41;;;;62:308;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@foo_38": { | |
| "entryPoint": 73, | |
| "id": 38, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 168, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 188, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
| "entryPoint": 240, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
| "entryPoint": 255, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bytes32": { | |
| "entryPoint": 231, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 137, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 133, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 146, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nativeSrc": "0:1457:1", | |
| "nodeType": "YulBlock", | |
| "src": "0:1457:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "47:35:1", | |
| "nodeType": "YulBlock", | |
| "src": "47:35:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "57:19:1", | |
| "nodeType": "YulAssignment", | |
| "src": "57:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "73:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "73:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nativeSrc": "67:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "67:5:1" | |
| }, | |
| "nativeSrc": "67:9:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "67:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nativeSrc": "57:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "57:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nativeSrc": "7:75:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nativeSrc": "40:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "40:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "177:28:1", | |
| "nodeType": "YulBlock", | |
| "src": "177:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "194:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "194:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "197:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "197:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "187:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "187:6:1" | |
| }, | |
| "nativeSrc": "187:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "187:12:1" | |
| }, | |
| "nativeSrc": "187:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "187:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nativeSrc": "88:117:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "88:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "300:28:1", | |
| "nodeType": "YulBlock", | |
| "src": "300:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "317:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "317:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "320:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "320:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "310:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "310:6:1" | |
| }, | |
| "nativeSrc": "310:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "310:12:1" | |
| }, | |
| "nativeSrc": "310:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "310:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nativeSrc": "211:117:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "211:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "379:32:1", | |
| "nodeType": "YulBlock", | |
| "src": "379:32:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "389:16:1", | |
| "nodeType": "YulAssignment", | |
| "src": "389:16:1", | |
| "value": { | |
| "name": "value", | |
| "nativeSrc": "400:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "400:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "389:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "389:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nativeSrc": "334:77:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "361:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "361:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "371:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "371:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "334:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "460:79:1", | |
| "nodeType": "YulBlock", | |
| "src": "460:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "517:16:1", | |
| "nodeType": "YulBlock", | |
| "src": "517:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "526:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "526:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "529:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "529:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "519:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "519:6:1" | |
| }, | |
| "nativeSrc": "519:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "519:12:1" | |
| }, | |
| "nativeSrc": "519:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "519:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "483:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "483:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "508:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "508:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nativeSrc": "490:17:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "490:17:1" | |
| }, | |
| "nativeSrc": "490:24:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "490:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nativeSrc": "480:2:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "480:2:1" | |
| }, | |
| "nativeSrc": "480:35:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "480:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nativeSrc": "473:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "473:6:1" | |
| }, | |
| "nativeSrc": "473:43:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "473:43:1" | |
| }, | |
| "nativeSrc": "470:63:1", | |
| "nodeType": "YulIf", | |
| "src": "470:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nativeSrc": "417:122:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "453:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "453:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "417:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "597:87:1", | |
| "nodeType": "YulBlock", | |
| "src": "597:87:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "607:29:1", | |
| "nodeType": "YulAssignment", | |
| "src": "607:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "629:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "629:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nativeSrc": "616:12:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "616:12:1" | |
| }, | |
| "nativeSrc": "616:20:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "616:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "607:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "607:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "672:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "672:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nativeSrc": "645:26:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "645:26:1" | |
| }, | |
| "nativeSrc": "645:33:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "645:33:1" | |
| }, | |
| "nativeSrc": "645:33:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "645:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nativeSrc": "545:139:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "575:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "575:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nativeSrc": "583:3:1", | |
| "nodeType": "YulTypedName", | |
| "src": "583:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "591:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "591:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "545:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "756:263:1", | |
| "nodeType": "YulBlock", | |
| "src": "756:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "802:83:1", | |
| "nodeType": "YulBlock", | |
| "src": "802:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nativeSrc": "804:77:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "804:77:1" | |
| }, | |
| "nativeSrc": "804:79:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "804:79:1" | |
| }, | |
| "nativeSrc": "804:79:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "804:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "777:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "777:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "786:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "786:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nativeSrc": "773:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "773:3:1" | |
| }, | |
| "nativeSrc": "773:23:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "773:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "798:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "798:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nativeSrc": "769:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "769:3:1" | |
| }, | |
| "nativeSrc": "769:32:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "769:32:1" | |
| }, | |
| "nativeSrc": "766:119:1", | |
| "nodeType": "YulIf", | |
| "src": "766:119:1" | |
| }, | |
| { | |
| "nativeSrc": "895:117:1", | |
| "nodeType": "YulBlock", | |
| "src": "895:117:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "910:15:1", | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "910:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nativeSrc": "924:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "924:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "914:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "914:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nativeSrc": "939:63:1", | |
| "nodeType": "YulAssignment", | |
| "src": "939:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "974:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "974:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nativeSrc": "985:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "985:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "970:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "970:3:1" | |
| }, | |
| "nativeSrc": "970:22:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "970:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "994:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "994:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nativeSrc": "949:20:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "949:20:1" | |
| }, | |
| "nativeSrc": "949:53:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "949:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "939:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "939:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nativeSrc": "690:329:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "726:9:1", | |
| "nodeType": "YulTypedName", | |
| "src": "726:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "737:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "737:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "749:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "749:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "690:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1070:32:1", | |
| "nodeType": "YulBlock", | |
| "src": "1070:32:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "1080:16:1", | |
| "nodeType": "YulAssignment", | |
| "src": "1080:16:1", | |
| "value": { | |
| "name": "value", | |
| "nativeSrc": "1091:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1091:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "1080:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1080:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bytes32", | |
| "nativeSrc": "1025:77:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1052:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1052:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "1062:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1062:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1025:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1173:53:1", | |
| "nodeType": "YulBlock", | |
| "src": "1173:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nativeSrc": "1190:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1190:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1213:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1213:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nativeSrc": "1195:17:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1195:17:1" | |
| }, | |
| "nativeSrc": "1195:24:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1195:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nativeSrc": "1183:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1183:6:1" | |
| }, | |
| "nativeSrc": "1183:37:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1183:37:1" | |
| }, | |
| "nativeSrc": "1183:37:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1183:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nativeSrc": "1108:118:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1161:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1161:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nativeSrc": "1168:3:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1168:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1108:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1330:124:1", | |
| "nodeType": "YulBlock", | |
| "src": "1330:124:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "1340:26:1", | |
| "nodeType": "YulAssignment", | |
| "src": "1340:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1352:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1352:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "1363:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "1363:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "1348:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1348:3:1" | |
| }, | |
| "nativeSrc": "1348:18:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1348:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nativeSrc": "1340:4:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1340:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "1420:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1420:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1433:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1433:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "1444:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "1444:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "1429:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:3:1" | |
| }, | |
| "nativeSrc": "1429:17:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nativeSrc": "1376:43:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1376:43:1" | |
| }, | |
| "nativeSrc": "1376:71:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1376:71:1" | |
| }, | |
| "nativeSrc": "1376:71:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1376:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
| "nativeSrc": "1232:222:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1302:9:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1302:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nativeSrc": "1314:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1314:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nativeSrc": "1325:4:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1325:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1232:222:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function 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": "608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632fbebd381461002d575b5f5ffd5b610047600480360381019061004291906100bc565b610049565b005b807fb9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db813995f5460405161007a91906100ff565b60405180910390a250565b5f5ffd5b5f819050919050565b61009b81610089565b81146100a5575f5ffd5b50565b5f813590506100b681610092565b92915050565b5f602082840312156100d1576100d0610085565b5b5f6100de848285016100a8565b91505092915050565b5f819050919050565b6100f9816100e7565b82525050565b5f6020820190506101125f8301846100f0565b9291505056fea264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x47 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xBC JUMP JUMPDEST PUSH2 0x49 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB9B10FA6330336BEE883557E906AB0D5E98EE503069E9C49689F95022DB81399 PUSH0 SLOAD PUSH1 0x40 MLOAD PUSH2 0x7A SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9B DUP2 PUSH2 0x89 JUMP JUMPDEST DUP2 EQ PUSH2 0xA5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB6 DUP2 PUSH2 0x92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD1 JUMPI PUSH2 0xD0 PUSH2 0x85 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0xE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x112 PUSH0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x943C269A57098FBC92CEDCFA31945F36F7A5CFF083CAD4E8 XOR BLOCKHASH 0xC7 SWAP11 0xAF MUL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ", | |
| "sourceMap": "62:308:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;304:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;345:1;339:11;348:1;;339:11;;;;;;:::i;:::-;;;;;;;;304:49;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:77::-;1062:7;1091:5;1080:16;;1025:77;;;:::o;1108:118::-;1195:24;1213:5;1195:24;:::i;:::-;1190:3;1183:37;1108:118;;:::o;1232:222::-;1325:4;1363:2;1352:9;1348:18;1340:26;;1376:71;1444:1;1433:9;1429:17;1420:6;1376:71;:::i;:::-;1232:222;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "66800", | |
| "executionCost": "22228", | |
| "totalCost": "89028" | |
| }, | |
| "external": { | |
| "foo(uint256)": "4044" | |
| } | |
| }, | |
| "legacyAssembly": { | |
| ".code": [ | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 82, | |
| "end": 142, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 139, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "1234567890123456789012345678901200000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 99, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 139, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 139, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 139, | |
| "name": "SSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 98, | |
| "end": 139, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH #[$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH [$]", | |
| "source": 0, | |
| "value": "0000000000000000000000000000000000000000000000000000000000000000" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "CODECOPY", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "RETURN", | |
| "source": 0 | |
| } | |
| ], | |
| ".data": { | |
| "0": { | |
| ".auxdata": "a264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033", | |
| ".code": [ | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "80" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "MSTORE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "CALLVALUE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "ISZERO", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "1" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "LT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "CALLDATALOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "E0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "SHR", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "2FBEBD38" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "EQ", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "JUMPI", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "2" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 62, | |
| "end": 370, | |
| "name": "REVERT", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "3" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "CALLDATASIZE", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "DUP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "ADD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "5" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "4" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "STOP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "7" | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 345, | |
| "end": 346, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "B9B10FA6330336BEE883557E906AB0D5E98EE503069E9C49689F95022DB81399" | |
| }, | |
| { | |
| "begin": 348, | |
| "end": 349, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 348, | |
| "end": 349, | |
| "name": "SLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "PUSH [tag]", | |
| "source": 0, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "tag", | |
| "source": 0, | |
| "value": "9" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "JUMPDEST", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "PUSH", | |
| "source": 0, | |
| "value": "40" | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "MLOAD", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "DUP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "SWAP2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "SUB", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "SWAP1", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 339, | |
| "end": 350, | |
| "name": "LOG2", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "name": "POP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 304, | |
| "end": 353, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 0 | |
| }, | |
| { | |
| "begin": 88, | |
| "end": 205, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 88, | |
| "end": 205, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 197, | |
| "end": 198, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 194, | |
| "end": 195, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 187, | |
| "end": 199, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 371, | |
| "end": 378, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 400, | |
| "end": 405, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 389, | |
| "end": 405, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 389, | |
| "end": 405, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 334, | |
| "end": 411, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 417, | |
| "end": 539, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 417, | |
| "end": 539, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 490, | |
| "end": 514, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 508, | |
| "end": 513, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 490, | |
| "end": 514, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "14" | |
| }, | |
| { | |
| "begin": 490, | |
| "end": 514, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 490, | |
| "end": 514, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "25" | |
| }, | |
| { | |
| "begin": 490, | |
| "end": 514, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 483, | |
| "end": 488, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 480, | |
| "end": 515, | |
| "name": "EQ", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 470, | |
| "end": 533, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 470, | |
| "end": 533, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 529, | |
| "end": 530, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 526, | |
| "end": 527, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 519, | |
| "end": 531, | |
| "name": "REVERT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 470, | |
| "end": 533, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "26" | |
| }, | |
| { | |
| "begin": 470, | |
| "end": 533, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 417, | |
| "end": 539, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 417, | |
| "end": 539, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 591, | |
| "end": 596, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 629, | |
| "end": 635, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 616, | |
| "end": 636, | |
| "name": "CALLDATALOAD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 607, | |
| "end": 636, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 607, | |
| "end": 636, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 645, | |
| "end": 678, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 672, | |
| "end": 677, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 645, | |
| "end": 678, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "15" | |
| }, | |
| { | |
| "begin": 645, | |
| "end": 678, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 645, | |
| "end": 678, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "28" | |
| }, | |
| { | |
| "begin": 645, | |
| "end": 678, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 545, | |
| "end": 684, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "6" | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 749, | |
| "end": 755, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 798, | |
| "end": 800, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 786, | |
| "end": 795, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 777, | |
| "end": 784, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 773, | |
| "end": 796, | |
| "name": "SUB", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 769, | |
| "end": 801, | |
| "name": "SLT", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 885, | |
| "name": "ISZERO", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 885, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 885, | |
| "name": "JUMPI", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 804, | |
| "end": 883, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 804, | |
| "end": 883, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "12" | |
| }, | |
| { | |
| "begin": 804, | |
| "end": 883, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 804, | |
| "end": 883, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "31" | |
| }, | |
| { | |
| "begin": 804, | |
| "end": 883, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 885, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "30" | |
| }, | |
| { | |
| "begin": 766, | |
| "end": 885, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 924, | |
| "end": 925, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 949, | |
| "end": 1002, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 994, | |
| "end": 1001, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 985, | |
| "end": 991, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 974, | |
| "end": 983, | |
| "name": "DUP6", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 970, | |
| "end": 992, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 949, | |
| "end": 1002, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "16" | |
| }, | |
| { | |
| "begin": 949, | |
| "end": 1002, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 949, | |
| "end": 1002, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "32" | |
| }, | |
| { | |
| "begin": 949, | |
| "end": 1002, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 939, | |
| "end": 1002, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 939, | |
| "end": 1002, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 895, | |
| "end": 1012, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 690, | |
| "end": 1019, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1062, | |
| "end": 1069, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1091, | |
| "end": 1096, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1080, | |
| "end": 1096, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1080, | |
| "end": 1096, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1025, | |
| "end": 1102, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1108, | |
| "end": 1226, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 1108, | |
| "end": 1226, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1195, | |
| "end": 1219, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 1213, | |
| "end": 1218, | |
| "name": "DUP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1195, | |
| "end": 1219, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "17" | |
| }, | |
| { | |
| "begin": 1195, | |
| "end": 1219, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1195, | |
| "end": 1219, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "35" | |
| }, | |
| { | |
| "begin": 1195, | |
| "end": 1219, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1190, | |
| "end": 1193, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1183, | |
| "end": 1220, | |
| "name": "MSTORE", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1108, | |
| "end": 1226, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1108, | |
| "end": 1226, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1108, | |
| "end": 1226, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "10" | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1325, | |
| "end": 1329, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1363, | |
| "end": 1365, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "20" | |
| }, | |
| { | |
| "begin": 1352, | |
| "end": 1361, | |
| "name": "DUP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1348, | |
| "end": 1366, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1340, | |
| "end": 1366, | |
| "name": "SWAP1", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1340, | |
| "end": 1366, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1376, | |
| "end": 1447, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1444, | |
| "end": 1445, | |
| "name": "PUSH", | |
| "source": 1, | |
| "value": "0" | |
| }, | |
| { | |
| "begin": 1433, | |
| "end": 1442, | |
| "name": "DUP4", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1429, | |
| "end": 1446, | |
| "name": "ADD", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1420, | |
| "end": 1426, | |
| "name": "DUP5", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1376, | |
| "end": 1447, | |
| "name": "PUSH [tag]", | |
| "source": 1, | |
| "value": "18" | |
| }, | |
| { | |
| "begin": 1376, | |
| "end": 1447, | |
| "jumpType": "[in]", | |
| "name": "JUMP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1376, | |
| "end": 1447, | |
| "name": "tag", | |
| "source": 1, | |
| "value": "37" | |
| }, | |
| { | |
| "begin": 1376, | |
| "end": 1447, | |
| "name": "JUMPDEST", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "SWAP3", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "SWAP2", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "name": "POP", | |
| "source": 1 | |
| }, | |
| { | |
| "begin": 1232, | |
| "end": 1454, | |
| "jumpType": "[out]", | |
| "name": "JUMP", | |
| "source": 1 | |
| } | |
| ] | |
| } | |
| }, | |
| "sourceList": [ | |
| "contract-ad28860759.sol", | |
| "#utility.yul" | |
| ] | |
| }, | |
| "methodIdentifiers": { | |
| "foo(uint256)": "2fbebd38" | |
| } | |
| }, | |
| "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"available\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"Event\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"Event2\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"}],\"name\":\"foo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contract-ad28860759.sol\":\"Test\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contract-ad28860759.sol\":{\"keccak256\":\"0x3b269ae7e2f85d053a11c430a6dd5c07b1e9c9015b157d193cbcd729c8b64bf5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://741eb46ffc900269f530b837926326a16cc49e193be3a2092d6380bfd65792f2\",\"dweb:/ipfs/QmWLdMbSPXpezAwBkMm4VLyfbC4xG11orMZMppNggXEsQE\"]}},\"version\":1}", | |
| "storageLayout": { | |
| "storage": [ | |
| { | |
| "astId": 40, | |
| "contract": "contract-ad28860759.sol:Test", | |
| "label": "b", | |
| "offset": 0, | |
| "slot": "0", | |
| "type": "t_bytes32" | |
| } | |
| ], | |
| "types": { | |
| "t_bytes32": { | |
| "encoding": "inplace", | |
| "label": "bytes32", | |
| "numberOfBytes": "32" | |
| } | |
| } | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| } | |
| } | |
| }, | |
| "sources": { | |
| "contract-ad28860759.sol": { | |
| "ast": { | |
| "absolutePath": "contract-ad28860759.sol", | |
| "exportedSymbols": { | |
| "Test": [ | |
| 41 | |
| ] | |
| }, | |
| "id": 42, | |
| "license": "GPL-3.0", | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.8", | |
| ".4" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "36:23:0" | |
| }, | |
| { | |
| "abstract": false, | |
| "baseContracts": [], | |
| "canonicalName": "Test", | |
| "contractDependencies": [], | |
| "contractKind": "contract", | |
| "fullyImplemented": true, | |
| "id": 41, | |
| "linearizedBaseContracts": [ | |
| 41 | |
| ], | |
| "name": "Test", | |
| "nameLocation": "71:4:0", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "body": { | |
| "id": 8, | |
| "nodeType": "Block", | |
| "src": "96:46:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "id": 6, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "id": 4, | |
| "name": "b", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 40, | |
| "src": "98:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "hexValue": "12345678901234567890123456789012", | |
| "id": 5, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "hexString", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "102:37:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_b8cf7deaa7b606e07e5a6cb22b911da515b783b11d508521c2a53bfe264933c9", | |
| "typeString": "literal_string hex\"12345678901234567890123456789012\"" | |
| } | |
| }, | |
| "src": "98:41:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| }, | |
| "id": 7, | |
| "nodeType": "ExpressionStatement", | |
| "src": "98:41:0" | |
| } | |
| ] | |
| }, | |
| "id": 9, | |
| "implemented": true, | |
| "kind": "constructor", | |
| "modifiers": [], | |
| "name": "", | |
| "nameLocation": "-1:-1:-1", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 2, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "93:2:0" | |
| }, | |
| "returnParameters": { | |
| "id": 3, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "96:0:0" | |
| }, | |
| "scope": 41, | |
| "src": "82:60:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| }, | |
| { | |
| "anonymous": false, | |
| "eventSelector": "b9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db81399", | |
| "id": 15, | |
| "name": "Event", | |
| "nameLocation": "153:5:0", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 14, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 11, | |
| "indexed": true, | |
| "mutability": "mutable", | |
| "name": "a", | |
| "nameLocation": "172:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 15, | |
| "src": "159:14:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 10, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "159:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 13, | |
| "indexed": false, | |
| "mutability": "mutable", | |
| "name": "b", | |
| "nameLocation": "183:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 15, | |
| "src": "175:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| }, | |
| "typeName": { | |
| "id": 12, | |
| "name": "bytes32", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "175:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "158:27:0" | |
| }, | |
| "src": "147:39:0" | |
| }, | |
| { | |
| "anonymous": false, | |
| "eventSelector": "672d1aedf347b9d9982314a48e91caa3aad54cb8964e7694eb445a88f9723d0b", | |
| "id": 21, | |
| "name": "Event2", | |
| "nameLocation": "197:6:0", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 20, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 17, | |
| "indexed": true, | |
| "mutability": "mutable", | |
| "name": "a", | |
| "nameLocation": "217:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 21, | |
| "src": "204:14:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 16, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "204:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 19, | |
| "indexed": false, | |
| "mutability": "mutable", | |
| "name": "b", | |
| "nameLocation": "228:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 21, | |
| "src": "220:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| }, | |
| "typeName": { | |
| "id": 18, | |
| "name": "bytes32", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "220:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "203:27:0" | |
| }, | |
| "src": "191:40:0" | |
| }, | |
| { | |
| "errorSelector": "cf479181", | |
| "id": 27, | |
| "name": "InsufficientBalance", | |
| "nameLocation": "242:19:0", | |
| "nodeType": "ErrorDefinition", | |
| "parameters": { | |
| "id": 26, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 23, | |
| "mutability": "mutable", | |
| "name": "available", | |
| "nameLocation": "270:9:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 27, | |
| "src": "262:17:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 22, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "262:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 25, | |
| "mutability": "mutable", | |
| "name": "required", | |
| "nameLocation": "289:8:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 27, | |
| "src": "281:16:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 24, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "281:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "261:37:0" | |
| }, | |
| "src": "236:63:0" | |
| }, | |
| { | |
| "body": { | |
| "id": 37, | |
| "nodeType": "Block", | |
| "src": "332:21:0", | |
| "statements": [ | |
| { | |
| "eventCall": { | |
| "arguments": [ | |
| { | |
| "id": 33, | |
| "name": "a", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 29, | |
| "src": "345:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| { | |
| "id": 34, | |
| "name": "b", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 40, | |
| "src": "348:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| ], | |
| "id": 32, | |
| "name": "Event", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 15, | |
| "src": "339:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$returns$__$", | |
| "typeString": "function (uint256,bytes32)" | |
| } | |
| }, | |
| "id": 35, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "nameLocations": [], | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "339:11:0", | |
| "tryCall": false, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 36, | |
| "nodeType": "EmitStatement", | |
| "src": "334:16:0" | |
| } | |
| ] | |
| }, | |
| "functionSelector": "2fbebd38", | |
| "id": 38, | |
| "implemented": true, | |
| "kind": "function", | |
| "modifiers": [], | |
| "name": "foo", | |
| "nameLocation": "313:3:0", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 30, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 29, | |
| "mutability": "mutable", | |
| "name": "a", | |
| "nameLocation": "322:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 38, | |
| "src": "317:6:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 28, | |
| "name": "uint", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "317:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "316:8:0" | |
| }, | |
| "returnParameters": { | |
| "id": 31, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "332:0:0" | |
| }, | |
| "scope": 41, | |
| "src": "304:49:0", | |
| "stateMutability": "nonpayable", | |
| "virtual": false, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 40, | |
| "mutability": "mutable", | |
| "name": "b", | |
| "nameLocation": "366:1:0", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 41, | |
| "src": "358:9:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| }, | |
| "typeName": { | |
| "id": 39, | |
| "name": "bytes32", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "358:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bytes32", | |
| "typeString": "bytes32" | |
| } | |
| }, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "scope": 42, | |
| "src": "62:308:0", | |
| "usedErrors": [ | |
| 27 | |
| ], | |
| "usedEvents": [ | |
| 15, | |
| 21 | |
| ] | |
| } | |
| ], | |
| "src": "36:334: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": { | |
| "@_9": { | |
| "entryPoint": null, | |
| "id": 9, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [], | |
| "linkReferences": {}, | |
| "object": "6080604052348015600e575f5ffd5b507f12345678901234567890123456789012000000000000000000000000000000005f8190555061014e806100425f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632fbebd381461002d575b5f5ffd5b610047600480360381019061004291906100bc565b610049565b005b807fb9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db813995f5460405161007a91906100ff565b60405180910390a250565b5f5ffd5b5f819050919050565b61009b81610089565b81146100a5575f5ffd5b50565b5f813590506100b681610092565b92915050565b5f602082840312156100d1576100d0610085565b5b5f6100de848285016100a8565b91505092915050565b5f819050919050565b6100f9816100e7565b82525050565b5f6020820190506101125f8301846100f0565b9291505056fea264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH32 0x1234567890123456789012345678901200000000000000000000000000000000 PUSH0 DUP2 SWAP1 SSTORE POP PUSH2 0x14E DUP1 PUSH2 0x42 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x47 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xBC JUMP JUMPDEST PUSH2 0x49 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB9B10FA6330336BEE883557E906AB0D5E98EE503069E9C49689F95022DB81399 PUSH0 SLOAD PUSH1 0x40 MLOAD PUSH2 0x7A SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9B DUP2 PUSH2 0x89 JUMP JUMPDEST DUP2 EQ PUSH2 0xA5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB6 DUP2 PUSH2 0x92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD1 JUMPI PUSH2 0xD0 PUSH2 0x85 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0xE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x112 PUSH0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x943C269A57098FBC92CEDCFA31945F36F7A5CFF083CAD4E8 XOR BLOCKHASH 0xC7 SWAP11 0xAF MUL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ", | |
| "sourceMap": "62:308:0:-:0;;;82:60;;;;;;;;;;98:41;:1;:41;;;;62:308;;;;;;" | |
| }, | |
| "deployedBytecode": { | |
| "functionDebugData": { | |
| "@foo_38": { | |
| "entryPoint": 73, | |
| "id": 38, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| }, | |
| "abi_decode_t_uint256": { | |
| "entryPoint": 168, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_decode_tuple_t_uint256": { | |
| "entryPoint": 188, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "abi_encode_t_bytes32_to_t_bytes32_fromStack": { | |
| "entryPoint": 240, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 0 | |
| }, | |
| "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { | |
| "entryPoint": 255, | |
| "id": null, | |
| "parameterSlots": 2, | |
| "returnSlots": 1 | |
| }, | |
| "allocate_unbounded": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_bytes32": { | |
| "entryPoint": 231, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "cleanup_t_uint256": { | |
| "entryPoint": 137, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 1 | |
| }, | |
| "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
| "entryPoint": null, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
| "entryPoint": 133, | |
| "id": null, | |
| "parameterSlots": 0, | |
| "returnSlots": 0 | |
| }, | |
| "validator_revert_t_uint256": { | |
| "entryPoint": 146, | |
| "id": null, | |
| "parameterSlots": 1, | |
| "returnSlots": 0 | |
| } | |
| }, | |
| "generatedSources": [ | |
| { | |
| "ast": { | |
| "nativeSrc": "0:1457:1", | |
| "nodeType": "YulBlock", | |
| "src": "0:1457:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "47:35:1", | |
| "nodeType": "YulBlock", | |
| "src": "47:35:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "57:19:1", | |
| "nodeType": "YulAssignment", | |
| "src": "57:19:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "73:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "73:2:1", | |
| "type": "", | |
| "value": "64" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mload", | |
| "nativeSrc": "67:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "67:5:1" | |
| }, | |
| "nativeSrc": "67:9:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "67:9:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "memPtr", | |
| "nativeSrc": "57:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "57:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "allocate_unbounded", | |
| "nativeSrc": "7:75:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "returnVariables": [ | |
| { | |
| "name": "memPtr", | |
| "nativeSrc": "40:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "40:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "7:75:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "177:28:1", | |
| "nodeType": "YulBlock", | |
| "src": "177:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "194:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "194:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "197:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "197:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "187:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "187:6:1" | |
| }, | |
| "nativeSrc": "187:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "187:12:1" | |
| }, | |
| "nativeSrc": "187:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "187:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nativeSrc": "88:117:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "88:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "300:28:1", | |
| "nodeType": "YulBlock", | |
| "src": "300:28:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "317:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "317:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "320:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "320:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "310:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "310:6:1" | |
| }, | |
| "nativeSrc": "310:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "310:12:1" | |
| }, | |
| "nativeSrc": "310:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "310:12:1" | |
| } | |
| ] | |
| }, | |
| "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
| "nativeSrc": "211:117:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "src": "211:117:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "379:32:1", | |
| "nodeType": "YulBlock", | |
| "src": "379:32:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "389:16:1", | |
| "nodeType": "YulAssignment", | |
| "src": "389:16:1", | |
| "value": { | |
| "name": "value", | |
| "nativeSrc": "400:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "400:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "389:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "389:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_uint256", | |
| "nativeSrc": "334:77:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "361:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "361:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "371:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "371:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "334:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "460:79:1", | |
| "nodeType": "YulBlock", | |
| "src": "460:79:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "517:16:1", | |
| "nodeType": "YulBlock", | |
| "src": "517:16:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "kind": "number", | |
| "nativeSrc": "526:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "526:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "529:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "529:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "revert", | |
| "nativeSrc": "519:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "519:6:1" | |
| }, | |
| "nativeSrc": "519:12:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "519:12:1" | |
| }, | |
| "nativeSrc": "519:12:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "519:12:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "483:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "483:5:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "508:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "508:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_uint256", | |
| "nativeSrc": "490:17:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "490:17:1" | |
| }, | |
| "nativeSrc": "490:24:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "490:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "eq", | |
| "nativeSrc": "480:2:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "480:2:1" | |
| }, | |
| "nativeSrc": "480:35:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "480:35:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "iszero", | |
| "nativeSrc": "473:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "473:6:1" | |
| }, | |
| "nativeSrc": "473:43:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "473:43:1" | |
| }, | |
| "nativeSrc": "470:63:1", | |
| "nodeType": "YulIf", | |
| "src": "470:63:1" | |
| } | |
| ] | |
| }, | |
| "name": "validator_revert_t_uint256", | |
| "nativeSrc": "417:122:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "453:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "453:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "417:122:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "597:87:1", | |
| "nodeType": "YulBlock", | |
| "src": "597:87:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "607:29:1", | |
| "nodeType": "YulAssignment", | |
| "src": "607:29:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "629:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "629:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "calldataload", | |
| "nativeSrc": "616:12:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "616:12:1" | |
| }, | |
| "nativeSrc": "616:20:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "616:20:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "607:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "607:5:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "672:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "672:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "validator_revert_t_uint256", | |
| "nativeSrc": "645:26:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "645:26:1" | |
| }, | |
| "nativeSrc": "645:33:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "645:33:1" | |
| }, | |
| "nativeSrc": "645:33:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "645:33:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_t_uint256", | |
| "nativeSrc": "545:139:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "575:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "575:6:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "end", | |
| "nativeSrc": "583:3:1", | |
| "nodeType": "YulTypedName", | |
| "src": "583:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "591:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "591:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "545:139:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "756:263:1", | |
| "nodeType": "YulBlock", | |
| "src": "756:263:1", | |
| "statements": [ | |
| { | |
| "body": { | |
| "nativeSrc": "802:83:1", | |
| "nodeType": "YulBlock", | |
| "src": "802:83:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [], | |
| "functionName": { | |
| "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
| "nativeSrc": "804:77:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "804:77:1" | |
| }, | |
| "nativeSrc": "804:79:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "804:79:1" | |
| }, | |
| "nativeSrc": "804:79:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "804:79:1" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "777:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "777:7:1" | |
| }, | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "786:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "786:9:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "sub", | |
| "nativeSrc": "773:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "773:3:1" | |
| }, | |
| "nativeSrc": "773:23:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "773:23:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "798:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "798:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "slt", | |
| "nativeSrc": "769:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "769:3:1" | |
| }, | |
| "nativeSrc": "769:32:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "769:32:1" | |
| }, | |
| "nativeSrc": "766:119:1", | |
| "nodeType": "YulIf", | |
| "src": "766:119:1" | |
| }, | |
| { | |
| "nativeSrc": "895:117:1", | |
| "nodeType": "YulBlock", | |
| "src": "895:117:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "910:15:1", | |
| "nodeType": "YulVariableDeclaration", | |
| "src": "910:15:1", | |
| "value": { | |
| "kind": "number", | |
| "nativeSrc": "924:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "924:1:1", | |
| "type": "", | |
| "value": "0" | |
| }, | |
| "variables": [ | |
| { | |
| "name": "offset", | |
| "nativeSrc": "914:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "914:6:1", | |
| "type": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "nativeSrc": "939:63:1", | |
| "nodeType": "YulAssignment", | |
| "src": "939:63:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "974:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "974:9:1" | |
| }, | |
| { | |
| "name": "offset", | |
| "nativeSrc": "985:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "985:6:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "970:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "970:3:1" | |
| }, | |
| "nativeSrc": "970:22:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "970:22:1" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "994:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "994:7:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_decode_t_uint256", | |
| "nativeSrc": "949:20:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "949:20:1" | |
| }, | |
| "nativeSrc": "949:53:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "949:53:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "939:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "939:6:1" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "abi_decode_tuple_t_uint256", | |
| "nativeSrc": "690:329:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "726:9:1", | |
| "nodeType": "YulTypedName", | |
| "src": "726:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "dataEnd", | |
| "nativeSrc": "737:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "737:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "749:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "749:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "690:329:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1070:32:1", | |
| "nodeType": "YulBlock", | |
| "src": "1070:32:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "1080:16:1", | |
| "nodeType": "YulAssignment", | |
| "src": "1080:16:1", | |
| "value": { | |
| "name": "value", | |
| "nativeSrc": "1091:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1091:5:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "1080:7:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1080:7:1" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "name": "cleanup_t_bytes32", | |
| "nativeSrc": "1025:77:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1052:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1052:5:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "cleaned", | |
| "nativeSrc": "1062:7:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1062:7:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1025:77:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1173:53:1", | |
| "nodeType": "YulBlock", | |
| "src": "1173:53:1", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "pos", | |
| "nativeSrc": "1190:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1190:3:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1213:5:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1213:5:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "cleanup_t_bytes32", | |
| "nativeSrc": "1195:17:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1195:17:1" | |
| }, | |
| "nativeSrc": "1195:24:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1195:24:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "mstore", | |
| "nativeSrc": "1183:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1183:6:1" | |
| }, | |
| "nativeSrc": "1183:37:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1183:37:1" | |
| }, | |
| "nativeSrc": "1183:37:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1183:37:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nativeSrc": "1108:118:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "value", | |
| "nativeSrc": "1161:5:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1161:5:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "pos", | |
| "nativeSrc": "1168:3:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1168:3:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1108:118:1" | |
| }, | |
| { | |
| "body": { | |
| "nativeSrc": "1330:124:1", | |
| "nodeType": "YulBlock", | |
| "src": "1330:124:1", | |
| "statements": [ | |
| { | |
| "nativeSrc": "1340:26:1", | |
| "nodeType": "YulAssignment", | |
| "src": "1340:26:1", | |
| "value": { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1352:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1352:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "1363:2:1", | |
| "nodeType": "YulLiteral", | |
| "src": "1363:2:1", | |
| "type": "", | |
| "value": "32" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "1348:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1348:3:1" | |
| }, | |
| "nativeSrc": "1348:18:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1348:18:1" | |
| }, | |
| "variableNames": [ | |
| { | |
| "name": "tail", | |
| "nativeSrc": "1340:4:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1340:4:1" | |
| } | |
| ] | |
| }, | |
| { | |
| "expression": { | |
| "arguments": [ | |
| { | |
| "name": "value0", | |
| "nativeSrc": "1420:6:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1420:6:1" | |
| }, | |
| { | |
| "arguments": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1433:9:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1433:9:1" | |
| }, | |
| { | |
| "kind": "number", | |
| "nativeSrc": "1444:1:1", | |
| "nodeType": "YulLiteral", | |
| "src": "1444:1:1", | |
| "type": "", | |
| "value": "0" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "add", | |
| "nativeSrc": "1429:3:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1429:3:1" | |
| }, | |
| "nativeSrc": "1429:17:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1429:17:1" | |
| } | |
| ], | |
| "functionName": { | |
| "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", | |
| "nativeSrc": "1376:43:1", | |
| "nodeType": "YulIdentifier", | |
| "src": "1376:43:1" | |
| }, | |
| "nativeSrc": "1376:71:1", | |
| "nodeType": "YulFunctionCall", | |
| "src": "1376:71:1" | |
| }, | |
| "nativeSrc": "1376:71:1", | |
| "nodeType": "YulExpressionStatement", | |
| "src": "1376:71:1" | |
| } | |
| ] | |
| }, | |
| "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", | |
| "nativeSrc": "1232:222:1", | |
| "nodeType": "YulFunctionDefinition", | |
| "parameters": [ | |
| { | |
| "name": "headStart", | |
| "nativeSrc": "1302:9:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1302:9:1", | |
| "type": "" | |
| }, | |
| { | |
| "name": "value0", | |
| "nativeSrc": "1314:6:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1314:6:1", | |
| "type": "" | |
| } | |
| ], | |
| "returnVariables": [ | |
| { | |
| "name": "tail", | |
| "nativeSrc": "1325:4:1", | |
| "nodeType": "YulTypedName", | |
| "src": "1325:4:1", | |
| "type": "" | |
| } | |
| ], | |
| "src": "1232:222:1" | |
| } | |
| ] | |
| }, | |
| "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function 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": "608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632fbebd381461002d575b5f5ffd5b610047600480360381019061004291906100bc565b610049565b005b807fb9b10fa6330336bee883557e906ab0d5e98ee503069e9c49689f95022db813995f5460405161007a91906100ff565b60405180910390a250565b5f5ffd5b5f819050919050565b61009b81610089565b81146100a5575f5ffd5b50565b5f813590506100b681610092565b92915050565b5f602082840312156100d1576100d0610085565b5b5f6100de848285016100a8565b91505092915050565b5f819050919050565b6100f9816100e7565b82525050565b5f6020820190506101125f8301846100f0565b9291505056fea264697066735822122077943c269a57098fbc92cedcfa31945f36f7a5cff083cad4e81840c79aaf028964736f6c634300081e0033", | |
| "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2FBEBD38 EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH2 0x47 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x42 SWAP2 SWAP1 PUSH2 0xBC JUMP JUMPDEST PUSH2 0x49 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB9B10FA6330336BEE883557E906AB0D5E98EE503069E9C49689F95022DB81399 PUSH0 SLOAD PUSH1 0x40 MLOAD PUSH2 0x7A SWAP2 SWAP1 PUSH2 0xFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH0 PUSH0 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9B DUP2 PUSH2 0x89 JUMP JUMPDEST DUP2 EQ PUSH2 0xA5 JUMPI PUSH0 PUSH0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB6 DUP2 PUSH2 0x92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD1 JUMPI PUSH2 0xD0 PUSH2 0x85 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xDE DUP5 DUP3 DUP6 ADD PUSH2 0xA8 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF9 DUP2 PUSH2 0xE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x112 PUSH0 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH24 0x943C269A57098FBC92CEDCFA31945F36F7A5CFF083CAD4E8 XOR BLOCKHASH 0xC7 SWAP11 0xAF MUL DUP10 PUSH5 0x736F6C6343 STOP ADDMOD 0x1E STOP CALLER ", | |
| "sourceMap": "62:308:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;304:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;345:1;339:11;348:1;;339:11;;;;;;:::i;:::-;;;;;;;;304:49;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:77::-;1062:7;1091:5;1080:16;;1025:77;;;:::o;1108:118::-;1195:24;1213:5;1195:24;:::i;:::-;1190:3;1183:37;1108:118;;:::o;1232:222::-;1325:4;1363:2;1352:9;1348:18;1340:26;;1376:71;1444:1;1433:9;1429:17;1420:6;1376:71;:::i;:::-;1232:222;;;;:::o" | |
| }, | |
| "gasEstimates": { | |
| "creation": { | |
| "codeDepositCost": "66800", | |
| "executionCost": "22228", | |
| "totalCost": "89028" | |
| }, | |
| "external": { | |
| "foo(uint256)": "4044" | |
| } | |
| }, | |
| "methodIdentifiers": { | |
| "foo(uint256)": "2fbebd38" | |
| } | |
| }, | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "available", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "required", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "InsufficientBalance", | |
| "type": "error" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event2", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "foo", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "compiler": { | |
| "version": "0.8.30+commit.73712a01" | |
| }, | |
| "language": "Solidity", | |
| "output": { | |
| "abi": [ | |
| { | |
| "inputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "constructor" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "available", | |
| "type": "uint256" | |
| }, | |
| { | |
| "internalType": "uint256", | |
| "name": "required", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "InsufficientBalance", | |
| "type": "error" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| }, | |
| { | |
| "indexed": false, | |
| "internalType": "bytes32", | |
| "name": "b", | |
| "type": "bytes32" | |
| } | |
| ], | |
| "name": "Event2", | |
| "type": "event" | |
| }, | |
| { | |
| "inputs": [ | |
| { | |
| "internalType": "uint256", | |
| "name": "a", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "foo", | |
| "outputs": [], | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| } | |
| ], | |
| "devdoc": { | |
| "kind": "dev", | |
| "methods": {}, | |
| "version": 1 | |
| }, | |
| "userdoc": { | |
| "kind": "user", | |
| "methods": {}, | |
| "version": 1 | |
| } | |
| }, | |
| "settings": { | |
| "compilationTarget": { | |
| "contract-ad28860759.sol": "Test" | |
| }, | |
| "evmVersion": "prague", | |
| "libraries": {}, | |
| "metadata": { | |
| "bytecodeHash": "ipfs" | |
| }, | |
| "optimizer": { | |
| "enabled": false, | |
| "runs": 200 | |
| }, | |
| "remappings": [] | |
| }, | |
| "sources": { | |
| "contract-ad28860759.sol": { | |
| "keccak256": "0x3b269ae7e2f85d053a11c430a6dd5c07b1e9c9015b157d193cbcd729c8b64bf5", | |
| "license": "GPL-3.0", | |
| "urls": [ | |
| "bzz-raw://741eb46ffc900269f530b837926326a16cc49e193be3a2092d6380bfd65792f2", | |
| "dweb:/ipfs/QmWLdMbSPXpezAwBkMm4VLyfbC4xG11orMZMppNggXEsQE" | |
| ] | |
| } | |
| }, | |
| "version": 1 | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity ^0.8.4; | |
| contract Test { | |
| constructor() { b = hex"12345678901234567890123456789012"; } | |
| event Event(uint indexed a, bytes32 b); | |
| event Event2(uint indexed a, bytes32 b); | |
| error InsufficientBalance(uint256 available, uint256 required); | |
| function foo(uint a) public { emit Event(a, b); } | |
| bytes32 b; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment