{ "id": "44e3a05d40f4d1a3f57ebff3e01ce986", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.13", "solcLongVersion": "0.8.13+commit.abaa5c0e", "input": { "language": "Solidity", "sources": { "contracts/Fallback.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.13;\n\n/*\nFallback function is executed either when\n1) A function that does not exist is called or\n2) Ether is sent directly to a contract but receive() does not exist or msg.data is not empty\n\nfallback does not take any arguments and does not return anything\n\n*/\n\ncontract Fallback {\n event Log(uint gas);\n\n constructor() payable {}\n\n // Fallback function must be declared as external\n fallback() external payable {\n // send / transfer (forwards 2300 gas to this fallback function)\n // call (forwards all of the gas)\n emit Log(gasleft());\n }\n\n // Helper function to check the balance of this contract\n function getBalance() public view returns (uint) {\n return address(this).balance;\n }\n}\n\ncontract SendToFallback {\n function transferToFallback(address payable _to) public payable {\n _to.transfer(msg.value);\n }\n\n function callFallback(address payable _to) public payable {\n (bool sent, ) = _to.call{value: msg.value}(\"\");\n require(sent, \"Failed to send Ether\");\n }\n}" } }, "settings": { "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "": [ "ast" ], "*": [ "abi", "metadata", "devdoc", "userdoc", "storageLayout", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly" ] } } } }, "output": { "contracts": { "contracts/Fallback.sol": { "Fallback": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "Log", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "getBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"contracts/Fallback.sol\":316:792 contract Fallback {... */\n mstore(0x40, 0x80)\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Fallback.sol\":316:792 contract Fallback {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x12065fe0\n eq\n tag_3\n jumpi\n tag_1:\n /* \"contracts/Fallback.sol\":608:622 Log(gasleft()) */\n 0x909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9c\n /* \"contracts/Fallback.sol\":612:621 gasleft() */\n gas\n /* \"contracts/Fallback.sol\":608:622 Log(gasleft()) */\n mload(0x40)\n /* \"#utility.yul\":160:185 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":148:150 */\n 0x20\n /* \"#utility.yul\":133:151 */\n add\n /* \"contracts/Fallback.sol\":608:622 Log(gasleft()) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"contracts/Fallback.sol\":316:792 contract Fallback {... */\n stop\n /* \"contracts/Fallback.sol\":696:790 function getBalance() public view returns (uint) {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_8\n jumpi\n 0x00\n dup1\n revert\n tag_8:\n pop\n /* \"contracts/Fallback.sol\":762:783 address(this).balance */\n selfbalance\n /* \"contracts/Fallback.sol\":696:790 function getBalance() public view returns (uint) {... */\n mload(0x40)\n /* \"#utility.yul\":160:185 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":148:150 */\n 0x20\n /* \"#utility.yul\":133:151 */\n add\n /* \"contracts/Fallback.sol\":696:790 function getBalance() public view returns (uint) {... */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n\n auxdata: 0xa264697066735822122084a201e95ab8e752cd1ea8cc907f7edcf19a986c252956500cdef3510cf4fb6a64736f6c634300080d0033\n}\n", "bytecode": { "functionDebugData": { "@_9": { "entryPoint": null, "id": 9, "parameterSlots": 0, "returnSlots": 0 } }, "generatedSources": [], "linkReferences": {}, "object": "608060405260a6806100126000396000f3fe608060405260043610601c5760003560e01c806312065fe0146051575b7f909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9c5a60405190815260200160405180910390a1005b348015605c57600080fd5b504760405190815260200160405180910390f3fea264697066735822122084a201e95ab8e752cd1ea8cc907f7edcf19a986c252956500cdef3510cf4fb6a64736f6c634300080d0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA6 DUP1 PUSH2 0x12 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH1 0x51 JUMPI JUMPDEST PUSH32 0x909C57D5C6AC08245CF2A6DE3900E2B868513FA59099B92B27D8DB823D92DF9C GAS PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SELFBALANCE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP5 LOG2 ADD 0xE9 GAS 0xB8 0xE7 MSTORE 0xCD 0x1E 0xA8 0xCC SWAP1 PUSH32 0x7EDCF19A986C252956500CDEF3510CF4FB6A64736F6C634300080D0033000000 ", "sourceMap": "316:476:0:-:0;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { "@_18": { "entryPoint": null, "id": 18, "parameterSlots": 0, "returnSlots": 0 }, "@getBalance_30": { "entryPoint": null, "id": 30, "parameterSlots": 0, "returnSlots": 1 }, "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, "returnSlots": 1 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:193:1", "statements": [ { "nodeType": "YulBlock", "src": "6:3:1", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "115:76:1", "statements": [ { "nodeType": "YulAssignment", "src": "125:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "137:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "148:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "133:3:1" }, "nodeType": "YulFunctionCall", "src": "133:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "125:4:1" } ] }, { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "167:9:1" }, { "name": "value0", "nodeType": "YulIdentifier", "src": "178:6:1" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "160:6:1" }, "nodeType": "YulFunctionCall", "src": "160:25:1" }, "nodeType": "YulExpressionStatement", "src": "160:25:1" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "84:9:1", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", "src": "95:6:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "106:4:1", "type": "" } ], "src": "14:177:1" } ] }, "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}", "id": 1, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, "object": "608060405260043610601c5760003560e01c806312065fe0146051575b7f909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9c5a60405190815260200160405180910390a1005b348015605c57600080fd5b504760405190815260200160405180910390f3fea264697066735822122084a201e95ab8e752cd1ea8cc907f7edcf19a986c252956500cdef3510cf4fb6a64736f6c634300080d0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH1 0x1C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH1 0x51 JUMPI JUMPDEST PUSH32 0x909C57D5C6AC08245CF2A6DE3900E2B868513FA59099B92B27D8DB823D92DF9C GAS PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH1 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SELFBALANCE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP5 LOG2 ADD 0xE9 GAS 0xB8 0xE7 MSTORE 0xCD 0x1E 0xA8 0xCC SWAP1 PUSH32 0x7EDCF19A986C252956500CDEF3510CF4FB6A64736F6C634300080D0033000000 ", "sourceMap": "316:476:0:-:0;;;;;;;;;;;;;;;;;;608:14;612:9;608:14;;160:25:1;;;148:2;133:18;608:14:0;;;;;;;316:476;696:94;;;;;;;;;;-1:-1:-1;762:21:0;696:94;;160:25:1;;;148:2;133:18;696:94:0;;;;;;" }, "gasEstimates": { "creation": { "codeDepositCost": "33200", "executionCost": "63", "totalCost": "33263" }, "external": { "": "1130", "getBalance()": "148" } }, "legacyAssembly": { ".code": [ { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 316, "end": 792, "name": "MSTORE", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 316, "end": 792, "name": "DUP1", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 316, "end": 792, "name": "CODECOPY", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 316, "end": 792, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a264697066735822122084a201e95ab8e752cd1ea8cc907f7edcf19a986c252956500cdef3510cf4fb6a64736f6c634300080d0033", ".code": [ { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 316, "end": 792, "name": "MSTORE", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 316, "end": 792, "name": "CALLDATASIZE", "source": 0 }, { "begin": 316, "end": 792, "name": "LT", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 316, "end": 792, "name": "JUMPI", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 316, "end": 792, "name": "CALLDATALOAD", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 316, "end": 792, "name": "SHR", "source": 0 }, { "begin": 316, "end": 792, "name": "DUP1", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH", "source": 0, "value": "12065FE0" }, { "begin": 316, "end": 792, "name": "EQ", "source": 0 }, { "begin": 316, "end": 792, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 316, "end": 792, "name": "JUMPI", "source": 0 }, { "begin": 316, "end": 792, "name": "tag", "source": 0, "value": "1" }, { "begin": 316, "end": 792, "name": "JUMPDEST", "source": 0 }, { "begin": 608, "end": 622, "name": "PUSH", "source": 0, "value": "909C57D5C6AC08245CF2A6DE3900E2B868513FA59099B92B27D8DB823D92DF9C" }, { "begin": 612, "end": 621, "name": "GAS", "source": 0 }, { "begin": 608, "end": 622, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 608, "end": 622, "name": "MLOAD", "source": 0 }, { "begin": 160, "end": 185, "name": "SWAP1", "source": 1 }, { "begin": 160, "end": 185, "name": "DUP2", "source": 1 }, { "begin": 160, "end": 185, "name": "MSTORE", "source": 1 }, { "begin": 148, "end": 150, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 133, "end": 151, "name": "ADD", "source": 1 }, { "begin": 608, "end": 622, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 608, "end": 622, "name": "MLOAD", "source": 0 }, { "begin": 608, "end": 622, "name": "DUP1", "source": 0 }, { "begin": 608, "end": 622, "name": "SWAP2", "source": 0 }, { "begin": 608, "end": 622, "name": "SUB", "source": 0 }, { "begin": 608, "end": 622, "name": "SWAP1", "source": 0 }, { "begin": 608, "end": 622, "name": "LOG1", "source": 0 }, { "begin": 316, "end": 792, "name": "STOP", "source": 0 }, { "begin": 696, "end": 790, "name": "tag", "source": 0, "value": "3" }, { "begin": 696, "end": 790, "name": "JUMPDEST", "source": 0 }, { "begin": 696, "end": 790, "name": "CALLVALUE", "source": 0 }, { "begin": 696, "end": 790, "name": "DUP1", "source": 0 }, { "begin": 696, "end": 790, "name": "ISZERO", "source": 0 }, { "begin": 696, "end": 790, "name": "PUSH [tag]", "source": 0, "value": "8" }, { "begin": 696, "end": 790, "name": "JUMPI", "source": 0 }, { "begin": 696, "end": 790, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 696, "end": 790, "name": "DUP1", "source": 0 }, { "begin": 696, "end": 790, "name": "REVERT", "source": 0 }, { "begin": 696, "end": 790, "name": "tag", "source": 0, "value": "8" }, { "begin": 696, "end": 790, "name": "JUMPDEST", "source": 0 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 762, "end": 783, "name": "SELFBALANCE", "source": 0 }, { "begin": 696, "end": 790, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 696, "end": 790, "name": "MLOAD", "source": 0 }, { "begin": 160, "end": 185, "name": "SWAP1", "source": 1 }, { "begin": 160, "end": 185, "name": "DUP2", "source": 1 }, { "begin": 160, "end": 185, "name": "MSTORE", "source": 1 }, { "begin": 148, "end": 150, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 133, "end": 151, "name": "ADD", "source": 1 }, { "begin": 696, "end": 790, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 696, "end": 790, "name": "MLOAD", "source": 0 }, { "begin": 696, "end": 790, "name": "DUP1", "source": 0 }, { "begin": 696, "end": 790, "name": "SWAP2", "source": 0 }, { "begin": 696, "end": 790, "name": "SUB", "source": 0 }, { "begin": 696, "end": 790, "name": "SWAP1", "source": 0 }, { "begin": 696, "end": 790, "name": "RETURN", "source": 0 } ] } } }, "methodIdentifiers": { "getBalance()": "12065fe0" } }, "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"}],\"name\":\"Log\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Fallback.sol\":\"Fallback\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Fallback.sol\":{\"keccak256\":\"0x80d6876bf9acaaa9bc904fce07ec97ccbae3c3c6149c9838b5aeb56764e09be1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c17fc0d8c99b9e0384621644b6a4ba3a0b4656d75040d5fb15cd6982ebc0280a\",\"dweb:/ipfs/QmSwBLpR3fWQ22htbEXyvjDxLGysAgtANeyPTnDEjpvJhd\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "SendToFallback": { "abi": [ { "inputs": [ { "internalType": "address payable", "name": "_to", "type": "address" } ], "name": "callFallback", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "_to", "type": "address" } ], "name": "transferToFallback", "outputs": [], "stateMutability": "payable", "type": "function" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "evm": { "assembly": " /* \"contracts/Fallback.sol\":794:1104 contract SendToFallback {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Fallback.sol\":794:1104 contract SendToFallback {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x6ba87a53\n eq\n tag_2\n jumpi\n dup1\n 0xcfc6cdaa\n eq\n tag_3\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"contracts/Fallback.sol\":934:1102 function callFallback(address payable _to) public payable {... */\n tag_2:\n tag_4\n tag_5\n calldatasize\n 0x04\n tag_6\n jump\t// in\n tag_5:\n tag_7\n jump\t// in\n tag_4:\n stop\n /* \"contracts/Fallback.sol\":824:928 function transferToFallback(address payable _to) public payable {... */\n tag_3:\n tag_4\n tag_9\n calldatasize\n 0x04\n tag_6\n jump\t// in\n tag_9:\n tag_10\n jump\t// in\n /* \"contracts/Fallback.sol\":934:1102 function callFallback(address payable _to) public payable {... */\n tag_7:\n /* \"contracts/Fallback.sol\":1003:1012 bool sent */\n 0x00\n /* \"contracts/Fallback.sol\":1018:1021 _to */\n dup2\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/Fallback.sol\":1018:1026 _to.call */\n and\n /* \"contracts/Fallback.sol\":1034:1043 msg.value */\n callvalue\n /* \"contracts/Fallback.sol\":1018:1048 _to.call{value: msg.value}(\"\") */\n mload(0x40)\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup6\n dup8\n gas\n call\n swap3\n pop\n pop\n pop\n returndatasize\n dup1\n 0x00\n dup2\n eq\n tag_16\n jumpi\n mload(0x40)\n swap2\n pop\n and(add(returndatasize, 0x3f), not(0x1f))\n dup3\n add\n 0x40\n mstore\n returndatasize\n dup3\n mstore\n returndatasize\n 0x00\n 0x20\n dup5\n add\n returndatacopy\n jump(tag_15)\n tag_16:\n 0x60\n swap2\n pop\n tag_15:\n pop\n /* \"contracts/Fallback.sol\":1002:1048 (bool sent, ) = _to.call{value: msg.value}(\"\") */\n pop\n swap1\n pop\n /* \"contracts/Fallback.sol\":1066:1070 sent */\n dup1\n /* \"contracts/Fallback.sol\":1058:1095 require(sent, \"Failed to send Ether\") */\n tag_17\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":725:727 */\n 0x20\n /* \"contracts/Fallback.sol\":1058:1095 require(sent, \"Failed to send Ether\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":707:728 */\n mstore\n /* \"#utility.yul\":764:766 */\n 0x14\n /* \"#utility.yul\":744:762 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":737:767 */\n mstore\n shl(0x61, 0x2330b4b632b2103a379039b2b7321022ba3432b9)\n /* \"#utility.yul\":783:801 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":776:826 */\n mstore\n /* \"#utility.yul\":843:861 */\n 0x64\n add\n /* \"contracts/Fallback.sol\":1058:1095 require(sent, \"Failed to send Ether\") */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_17:\n /* \"contracts/Fallback.sol\":992:1102 {... */\n pop\n /* \"contracts/Fallback.sol\":934:1102 function callFallback(address payable _to) public payable {... */\n pop\n jump\t// out\n /* \"contracts/Fallback.sol\":824:928 function transferToFallback(address payable _to) public payable {... */\n tag_10:\n /* \"contracts/Fallback.sol\":898:921 _to.transfer(msg.value) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"contracts/Fallback.sol\":898:910 _to.transfer */\n dup3\n and\n swap1\n /* \"contracts/Fallback.sol\":911:920 msg.value */\n callvalue\n /* \"contracts/Fallback.sol\":898:921 _to.transfer(msg.value) */\n dup1\n iszero\n 0x08fc\n mul\n swap2\n 0x00\n dup2\n dup2\n dup2\n /* \"contracts/Fallback.sol\":911:920 msg.value */\n dup6\n /* \"contracts/Fallback.sol\":898:910 _to.transfer */\n dup9\n /* \"contracts/Fallback.sol\":898:921 _to.transfer(msg.value) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_17\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n /* \"#utility.yul\":14:308 */\n tag_6:\n /* \"#utility.yul\":81:87 */\n 0x00\n /* \"#utility.yul\":134:136 */\n 0x20\n /* \"#utility.yul\":122:131 */\n dup3\n /* \"#utility.yul\":113:120 */\n dup5\n /* \"#utility.yul\":109:132 */\n sub\n /* \"#utility.yul\":105:137 */\n slt\n /* \"#utility.yul\":102:154 */\n iszero\n tag_25\n jumpi\n /* \"#utility.yul\":150:151 */\n 0x00\n /* \"#utility.yul\":147:148 */\n dup1\n /* \"#utility.yul\":140:152 */\n revert\n /* \"#utility.yul\":102:154 */\n tag_25:\n /* \"#utility.yul\":176:199 */\n dup2\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":228:259 */\n dup2\n and\n /* \"#utility.yul\":218:260 */\n dup2\n eq\n /* \"#utility.yul\":208:278 */\n tag_26\n jumpi\n /* \"#utility.yul\":274:275 */\n 0x00\n /* \"#utility.yul\":271:272 */\n dup1\n /* \"#utility.yul\":264:276 */\n revert\n /* \"#utility.yul\":208:278 */\n tag_26:\n /* \"#utility.yul\":297:302 */\n swap4\n /* \"#utility.yul\":14:308 */\n swap3\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220af5c7e11678ef66816e51279a58c983b9a787c806c29b254350fa49b147ebf4864736f6c634300080d0033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, "object": "608060405234801561001057600080fd5b50610193806100206000396000f3fe6080604052600436106100295760003560e01c80636ba87a531461002e578063cfc6cdaa14610043575b600080fd5b61004161003c36600461012d565b610056565b005b61004161005136600461012d565b6100f8565b6000816001600160a01b03163460405160006040518083038185875af1925050503d80600081146100a3576040519150601f19603f3d011682016040523d82523d6000602084013e6100a8565b606091505b50509050806100f45760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b604482015260640160405180910390fd5b5050565b6040516001600160a01b038216903480156108fc02916000818181858888f193505050501580156100f4573d6000803e3d6000fd5b60006020828403121561013f57600080fd5b81356001600160a01b038116811461015657600080fd5b939250505056fea2646970667358221220af5c7e11678ef66816e51279a58c983b9a787c806c29b254350fa49b147ebf4864736f6c634300080d0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x193 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6BA87A53 EQ PUSH2 0x2E JUMPI DUP1 PUSH4 0xCFC6CDAA EQ PUSH2 0x43 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41 PUSH2 0x3C CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST PUSH2 0x56 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x41 PUSH2 0x51 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST PUSH2 0xF8 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLVALUE PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xA3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xA8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0xF4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x2330B4B632B2103A379039B2B7321022BA3432B9 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 CALLVALUE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAF 0x5C PUSH31 0x11678EF66816E51279A58C983B9A787C806C29B254350FA49B147EBF486473 PUSH16 0x6C634300080D00330000000000000000 ", "sourceMap": "794:310:0:-:0;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { "@callFallback_65": { "entryPoint": 86, "id": 65, "parameterSlots": 1, "returnSlots": 0 }, "@transferToFallback_44": { "entryPoint": 248, "id": 44, "parameterSlots": 1, "returnSlots": 0 }, "abi_decode_tuple_t_address_payable": { "entryPoint": 301, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 1, "returnSlots": 1 } }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", "src": "0:869:1", "statements": [ { "nodeType": "YulBlock", "src": "6:3:1", "statements": [] }, { "body": { "nodeType": "YulBlock", "src": "92:216:1", "statements": [ { "body": { "nodeType": "YulBlock", "src": "138:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "147:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "150:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "140:6:1" }, "nodeType": "YulFunctionCall", "src": "140:12:1" }, "nodeType": "YulExpressionStatement", "src": "140:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "dataEnd", "nodeType": "YulIdentifier", "src": "113:7:1" }, { "name": "headStart", "nodeType": "YulIdentifier", "src": "122:9:1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "109:3:1" }, "nodeType": "YulFunctionCall", "src": "109:23:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "134:2:1", "type": "", "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", "src": "105:3:1" }, "nodeType": "YulFunctionCall", "src": "105:32:1" }, "nodeType": "YulIf", "src": "102:52:1" }, { "nodeType": "YulVariableDeclaration", "src": "163:36:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "189:9:1" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", "src": "176:12:1" }, "nodeType": "YulFunctionCall", "src": "176:23:1" }, "variables": [ { "name": "value", "nodeType": "YulTypedName", "src": "167:5:1", "type": "" } ] }, { "body": { "nodeType": "YulBlock", "src": "262:16:1", "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "271:1:1", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", "src": "274:1:1", "type": "", "value": "0" } ], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "264:6:1" }, "nodeType": "YulFunctionCall", "src": "264:12:1" }, "nodeType": "YulExpressionStatement", "src": "264:12:1" } ] }, "condition": { "arguments": [ { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "221:5:1" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", "src": "232:5:1" }, { "arguments": [ { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "247:3:1", "type": "", "value": "160" }, { "kind": "number", "nodeType": "YulLiteral", "src": "252:1:1", "type": "", "value": "1" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", "src": "243:3:1" }, "nodeType": "YulFunctionCall", "src": "243:11:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "256:1:1", "type": "", "value": "1" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", "src": "239:3:1" }, "nodeType": "YulFunctionCall", "src": "239:19:1" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", "src": "228:3:1" }, "nodeType": "YulFunctionCall", "src": "228:31:1" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", "src": "218:2:1" }, "nodeType": "YulFunctionCall", "src": "218:42:1" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", "src": "211:6:1" }, "nodeType": "YulFunctionCall", "src": "211:50:1" }, "nodeType": "YulIf", "src": "208:70:1" }, { "nodeType": "YulAssignment", "src": "287:15:1", "value": { "name": "value", "nodeType": "YulIdentifier", "src": "297:5:1" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", "src": "287:6:1" } ] } ] }, "name": "abi_decode_tuple_t_address_payable", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "58:9:1", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", "src": "69:7:1", "type": "" } ], "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", "src": "81:6:1", "type": "" } ], "src": "14:294:1" }, { "body": { "nodeType": "YulBlock", "src": "504:14:1", "statements": [ { "nodeType": "YulAssignment", "src": "506:10:1", "value": { "name": "pos", "nodeType": "YulIdentifier", "src": "513:3:1" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", "src": "506:3:1" } ] } ] }, "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", "src": "488:3:1", "type": "" } ], "returnVariables": [ { "name": "end", "nodeType": "YulTypedName", "src": "496:3:1", "type": "" } ], "src": "313:205:1" }, { "body": { "nodeType": "YulBlock", "src": "697:170:1", "statements": [ { "expression": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "714:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "725:2:1", "type": "", "value": "32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "707:6:1" }, "nodeType": "YulFunctionCall", "src": "707:21:1" }, "nodeType": "YulExpressionStatement", "src": "707:21:1" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "748:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "759:2:1", "type": "", "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "744:3:1" }, "nodeType": "YulFunctionCall", "src": "744:18:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "764:2:1", "type": "", "value": "20" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "737:6:1" }, "nodeType": "YulFunctionCall", "src": "737:30:1" }, "nodeType": "YulExpressionStatement", "src": "737:30:1" }, { "expression": { "arguments": [ { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "787:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "798:2:1", "type": "", "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "783:3:1" }, "nodeType": "YulFunctionCall", "src": "783:18:1" }, { "hexValue": "4661696c656420746f2073656e64204574686572", "kind": "string", "nodeType": "YulLiteral", "src": "803:22:1", "type": "", "value": "Failed to send Ether" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", "src": "776:6:1" }, "nodeType": "YulFunctionCall", "src": "776:50:1" }, "nodeType": "YulExpressionStatement", "src": "776:50:1" }, { "nodeType": "YulAssignment", "src": "835:26:1", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", "src": "847:9:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "858:2:1", "type": "", "value": "96" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "843:3:1" }, "nodeType": "YulFunctionCall", "src": "843:18:1" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", "src": "835:4:1" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", "src": "674:9:1", "type": "" } ], "returnVariables": [ { "name": "tail", "nodeType": "YulTypedName", "src": "688:4:1", "type": "" } ], "src": "523:344:1" } ] }, "contents": "{\n { }\n function abi_decode_tuple_t_address_payable(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function abi_encode_tuple_t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Failed to send Ether\")\n tail := add(headStart, 96)\n }\n}", "id": 1, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, "object": "6080604052600436106100295760003560e01c80636ba87a531461002e578063cfc6cdaa14610043575b600080fd5b61004161003c36600461012d565b610056565b005b61004161005136600461012d565b6100f8565b6000816001600160a01b03163460405160006040518083038185875af1925050503d80600081146100a3576040519150601f19603f3d011682016040523d82523d6000602084013e6100a8565b606091505b50509050806100f45760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b604482015260640160405180910390fd5b5050565b6040516001600160a01b038216903480156108fc02916000818181858888f193505050501580156100f4573d6000803e3d6000fd5b60006020828403121561013f57600080fd5b81356001600160a01b038116811461015657600080fd5b939250505056fea2646970667358221220af5c7e11678ef66816e51279a58c983b9a787c806c29b254350fa49b147ebf4864736f6c634300080d0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6BA87A53 EQ PUSH2 0x2E JUMPI DUP1 PUSH4 0xCFC6CDAA EQ PUSH2 0x43 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x41 PUSH2 0x3C CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST PUSH2 0x56 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x41 PUSH2 0x51 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST PUSH2 0xF8 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLVALUE PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xA3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xA8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0xF4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x2330B4B632B2103A379039B2B7321022BA3432B9 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 CALLVALUE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xF4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAF 0x5C PUSH31 0x11678EF66816E51279A58C983B9A787C806C29B254350FA49B147EBF486473 PUSH16 0x6C634300080D00330000000000000000 ", "sourceMap": "794:310:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;934:168;;;;;;:::i;:::-;;:::i;:::-;;824:104;;;;;;:::i;:::-;;:::i;934:168::-;1003:9;1018:3;-1:-1:-1;;;;;1018:8:0;1034:9;1018:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:46;;;1066:4;1058:37;;;;-1:-1:-1;;;1058:37:0;;725:2:1;1058:37:0;;;707:21:1;764:2;744:18;;;737:30;-1:-1:-1;;;783:18:1;;;776:50;843:18;;1058:37:0;;;;;;;;992:110;934:168;:::o;824:104::-;898:23;;-1:-1:-1;;;;;898:12:0;;;911:9;898:23;;;;;;;;;911:9;898:12;:23;;;;;;;;;;;;;;;;;;;14:294:1;81:6;134:2;122:9;113:7;109:23;105:32;102:52;;;150:1;147;140:12;102:52;176:23;;-1:-1:-1;;;;;228:31:1;;218:42;;208:70;;274:1;271;264:12;208:70;297:5;14:294;-1:-1:-1;;;14:294:1:o" }, "gasEstimates": { "creation": { "codeDepositCost": "80600", "executionCost": "129", "totalCost": "80729" }, "external": { "callFallback(address)": "infinite", "transferToFallback(address)": "infinite" } }, "legacyAssembly": { ".code": [ { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 794, "end": 1104, "name": "MSTORE", "source": 0 }, { "begin": 794, "end": 1104, "name": "CALLVALUE", "source": 0 }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "ISZERO", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 794, "end": 1104, "name": "JUMPI", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "REVERT", "source": 0 }, { "begin": 794, "end": 1104, "name": "tag", "source": 0, "value": "1" }, { "begin": 794, "end": 1104, "name": "JUMPDEST", "source": 0 }, { "begin": 794, "end": 1104, "name": "POP", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 794, "end": 1104, "name": "CODECOPY", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 794, "end": 1104, "name": "RETURN", "source": 0 } ], ".data": { "0": { ".auxdata": "a2646970667358221220af5c7e11678ef66816e51279a58c983b9a787c806c29b254350fa49b147ebf4864736f6c634300080d0033", ".code": [ { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 794, "end": 1104, "name": "MSTORE", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 794, "end": 1104, "name": "CALLDATASIZE", "source": 0 }, { "begin": 794, "end": 1104, "name": "LT", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH [tag]", "source": 0, "value": "1" }, { "begin": 794, "end": 1104, "name": "JUMPI", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 794, "end": 1104, "name": "CALLDATALOAD", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 794, "end": 1104, "name": "SHR", "source": 0 }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "6BA87A53" }, { "begin": 794, "end": 1104, "name": "EQ", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 794, "end": 1104, "name": "JUMPI", "source": 0 }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "CFC6CDAA" }, { "begin": 794, "end": 1104, "name": "EQ", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 794, "end": 1104, "name": "JUMPI", "source": 0 }, { "begin": 794, "end": 1104, "name": "tag", "source": 0, "value": "1" }, { "begin": 794, "end": 1104, "name": "JUMPDEST", "source": 0 }, { "begin": 794, "end": 1104, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 794, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 794, "end": 1104, "name": "REVERT", "source": 0 }, { "begin": 934, "end": 1102, "name": "tag", "source": 0, "value": "2" }, { "begin": 934, "end": 1102, "name": "JUMPDEST", "source": 0 }, { "begin": 934, "end": 1102, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 934, "end": 1102, "name": "PUSH [tag]", "source": 0, "value": "5" }, { "begin": 934, "end": 1102, "name": "CALLDATASIZE", "source": 0 }, { "begin": 934, "end": 1102, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 934, "end": 1102, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 934, "end": 1102, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 934, "end": 1102, "name": "tag", "source": 0, "value": "5" }, { "begin": 934, "end": 1102, "name": "JUMPDEST", "source": 0 }, { "begin": 934, "end": 1102, "name": "PUSH [tag]", "source": 0, "value": "7" }, { "begin": 934, "end": 1102, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 934, "end": 1102, "name": "tag", "source": 0, "value": "4" }, { "begin": 934, "end": 1102, "name": "JUMPDEST", "source": 0 }, { "begin": 934, "end": 1102, "name": "STOP", "source": 0 }, { "begin": 824, "end": 928, "name": "tag", "source": 0, "value": "3" }, { "begin": 824, "end": 928, "name": "JUMPDEST", "source": 0 }, { "begin": 824, "end": 928, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 824, "end": 928, "name": "PUSH [tag]", "source": 0, "value": "9" }, { "begin": 824, "end": 928, "name": "CALLDATASIZE", "source": 0 }, { "begin": 824, "end": 928, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 824, "end": 928, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 824, "end": 928, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 824, "end": 928, "name": "tag", "source": 0, "value": "9" }, { "begin": 824, "end": 928, "name": "JUMPDEST", "source": 0 }, { "begin": 824, "end": 928, "name": "PUSH [tag]", "source": 0, "value": "10" }, { "begin": 824, "end": 928, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 934, "end": 1102, "name": "tag", "source": 0, "value": "7" }, { "begin": 934, "end": 1102, "name": "JUMPDEST", "source": 0 }, { "begin": 1003, "end": 1012, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1018, "end": 1021, "name": "DUP2", "source": 0 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 1018, "end": 1026, "name": "AND", "source": 0 }, { "begin": 1034, "end": 1043, "name": "CALLVALUE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1018, "end": 1048, "name": "MLOAD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1018, "end": 1048, "name": "MLOAD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP1", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP4", "source": 0 }, { "begin": 1018, "end": 1048, "name": "SUB", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP2", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP6", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP8", "source": 0 }, { "begin": 1018, "end": 1048, "name": "GAS", "source": 0 }, { "begin": 1018, "end": 1048, "name": "CALL", "source": 0 }, { "begin": 1018, "end": 1048, "name": "SWAP3", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP1", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1018, "end": 1048, "name": "DUP2", "source": 0 }, { "begin": 1018, "end": 1048, "name": "EQ", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH [tag]", "source": 0, "value": "16" }, { "begin": 1018, "end": 1048, "name": "JUMPI", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1018, "end": 1048, "name": "MLOAD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "SWAP2", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "1F" }, { "begin": 1018, "end": 1048, "name": "NOT", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "3F" }, { "begin": 1018, "end": 1048, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "ADD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "AND", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP3", "source": 0 }, { "begin": 1018, "end": 1048, "name": "ADD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1018, "end": 1048, "name": "MSTORE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "DUP3", "source": 0 }, { "begin": 1018, "end": 1048, "name": "MSTORE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1018, "end": 1048, "name": "DUP5", "source": 0 }, { "begin": 1018, "end": 1048, "name": "ADD", "source": 0 }, { "begin": 1018, "end": 1048, "name": "RETURNDATACOPY", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH [tag]", "source": 0, "value": "15" }, { "begin": 1018, "end": 1048, "name": "JUMP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "tag", "source": 0, "value": "16" }, { "begin": 1018, "end": 1048, "name": "JUMPDEST", "source": 0 }, { "begin": 1018, "end": 1048, "name": "PUSH", "source": 0, "value": "60" }, { "begin": 1018, "end": 1048, "name": "SWAP2", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1018, "end": 1048, "name": "tag", "source": 0, "value": "15" }, { "begin": 1018, "end": 1048, "name": "JUMPDEST", "source": 0 }, { "begin": 1018, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1002, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1002, "end": 1048, "name": "SWAP1", "source": 0 }, { "begin": 1002, "end": 1048, "name": "POP", "source": 0 }, { "begin": 1066, "end": 1070, "name": "DUP1", "source": 0 }, { "begin": 1058, "end": 1095, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 1058, "end": 1095, "name": "JUMPI", "source": 0 }, { "begin": 1058, "end": 1095, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1058, "end": 1095, "name": "MLOAD", "source": 0 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "461BCD" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "E5" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": 1058, "end": 1095, "name": "DUP2", "source": 0 }, { "begin": 1058, "end": 1095, "name": "MSTORE", "source": 0 }, { "begin": 725, "end": 727, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 1058, "end": 1095, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1058, "end": 1095, "name": "DUP3", "source": 0 }, { "begin": 1058, "end": 1095, "name": "ADD", "source": 0 }, { "begin": 707, "end": 728, "name": "MSTORE", "source": 1 }, { "begin": 764, "end": 766, "name": "PUSH", "source": 1, "value": "14" }, { "begin": 744, "end": 762, "name": "PUSH", "source": 1, "value": "24" }, { "begin": 744, "end": 762, "name": "DUP3", "source": 1 }, { "begin": 744, "end": 762, "name": "ADD", "source": 1 }, { "begin": 737, "end": 767, "name": "MSTORE", "source": 1 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "2330B4B632B2103A379039B2B7321022BA3432B9" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "61" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": 783, "end": 801, "name": "PUSH", "source": 1, "value": "44" }, { "begin": 783, "end": 801, "name": "DUP3", "source": 1 }, { "begin": 783, "end": 801, "name": "ADD", "source": 1 }, { "begin": 776, "end": 826, "name": "MSTORE", "source": 1 }, { "begin": 843, "end": 861, "name": "PUSH", "source": 1, "value": "64" }, { "begin": 843, "end": 861, "name": "ADD", "source": 1 }, { "begin": 1058, "end": 1095, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1058, "end": 1095, "name": "MLOAD", "source": 0 }, { "begin": 1058, "end": 1095, "name": "DUP1", "source": 0 }, { "begin": 1058, "end": 1095, "name": "SWAP2", "source": 0 }, { "begin": 1058, "end": 1095, "name": "SUB", "source": 0 }, { "begin": 1058, "end": 1095, "name": "SWAP1", "source": 0 }, { "begin": 1058, "end": 1095, "name": "REVERT", "source": 0 }, { "begin": 1058, "end": 1095, "name": "tag", "source": 0, "value": "17" }, { "begin": 1058, "end": 1095, "name": "JUMPDEST", "source": 0 }, { "begin": 992, "end": 1102, "name": "POP", "source": 0 }, { "begin": 934, "end": 1102, "name": "POP", "source": 0 }, { "begin": 934, "end": 1102, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 824, "end": 928, "name": "tag", "source": 0, "value": "10" }, { "begin": 824, "end": 928, "name": "JUMPDEST", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 898, "end": 921, "name": "MLOAD", "source": 0 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 898, "end": 910, "name": "DUP3", "source": 0 }, { "begin": 898, "end": 910, "name": "AND", "source": 0 }, { "begin": 898, "end": 910, "name": "SWAP1", "source": 0 }, { "begin": 911, "end": 920, "name": "CALLVALUE", "source": 0 }, { "begin": 898, "end": 921, "name": "DUP1", "source": 0 }, { "begin": 898, "end": 921, "name": "ISZERO", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH", "source": 0, "value": "8FC" }, { "begin": 898, "end": 921, "name": "MUL", "source": 0 }, { "begin": 898, "end": 921, "name": "SWAP2", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 898, "end": 921, "name": "DUP2", "source": 0 }, { "begin": 898, "end": 921, "name": "DUP2", "source": 0 }, { "begin": 898, "end": 921, "name": "DUP2", "source": 0 }, { "begin": 911, "end": 920, "name": "DUP6", "source": 0 }, { "begin": 898, "end": 910, "name": "DUP9", "source": 0 }, { "begin": 898, "end": 921, "name": "DUP9", "source": 0 }, { "begin": 898, "end": 921, "name": "CALL", "source": 0 }, { "begin": 898, "end": 921, "name": "SWAP4", "source": 0 }, { "begin": 898, "end": 921, "name": "POP", "source": 0 }, { "begin": 898, "end": 921, "name": "POP", "source": 0 }, { "begin": 898, "end": 921, "name": "POP", "source": 0 }, { "begin": 898, "end": 921, "name": "POP", "source": 0 }, { "begin": 898, "end": 921, "name": "ISZERO", "source": 0 }, { "begin": 898, "end": 921, "name": "DUP1", "source": 0 }, { "begin": 898, "end": 921, "name": "ISZERO", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 898, "end": 921, "name": "JUMPI", "source": 0 }, { "begin": 898, "end": 921, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 898, "end": 921, "name": "DUP1", "source": 0 }, { "begin": 898, "end": 921, "name": "RETURNDATACOPY", "source": 0 }, { "begin": 898, "end": 921, "name": "RETURNDATASIZE", "source": 0 }, { "begin": 898, "end": 921, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 898, "end": 921, "name": "REVERT", "source": 0 }, { "begin": 14, "end": 308, "name": "tag", "source": 1, "value": "6" }, { "begin": 14, "end": 308, "name": "JUMPDEST", "source": 1 }, { "begin": 81, "end": 87, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 134, "end": 136, "name": "PUSH", "source": 1, "value": "20" }, { "begin": 122, "end": 131, "name": "DUP3", "source": 1 }, { "begin": 113, "end": 120, "name": "DUP5", "source": 1 }, { "begin": 109, "end": 132, "name": "SUB", "source": 1 }, { "begin": 105, "end": 137, "name": "SLT", "source": 1 }, { "begin": 102, "end": 154, "name": "ISZERO", "source": 1 }, { "begin": 102, "end": 154, "name": "PUSH [tag]", "source": 1, "value": "25" }, { "begin": 102, "end": 154, "name": "JUMPI", "source": 1 }, { "begin": 150, "end": 151, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 147, "end": 148, "name": "DUP1", "source": 1 }, { "begin": 140, "end": 152, "name": "REVERT", "source": 1 }, { "begin": 102, "end": 154, "name": "tag", "source": 1, "value": "25" }, { "begin": 102, "end": 154, "name": "JUMPDEST", "source": 1 }, { "begin": 176, "end": 199, "name": "DUP2", "source": 1 }, { "begin": 176, "end": 199, "name": "CALLDATALOAD", "source": 1 }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "1" }, { "begin": -1, "end": -1, "name": "PUSH", "source": -1, "value": "A0" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": -1, "end": -1, "name": "SUB", "source": -1 }, { "begin": 228, "end": 259, "name": "DUP2", "source": 1 }, { "begin": 228, "end": 259, "name": "AND", "source": 1 }, { "begin": 218, "end": 260, "name": "DUP2", "source": 1 }, { "begin": 218, "end": 260, "name": "EQ", "source": 1 }, { "begin": 208, "end": 278, "name": "PUSH [tag]", "source": 1, "value": "26" }, { "begin": 208, "end": 278, "name": "JUMPI", "source": 1 }, { "begin": 274, "end": 275, "name": "PUSH", "source": 1, "value": "0" }, { "begin": 271, "end": 272, "name": "DUP1", "source": 1 }, { "begin": 264, "end": 276, "name": "REVERT", "source": 1 }, { "begin": 208, "end": 278, "name": "tag", "source": 1, "value": "26" }, { "begin": 208, "end": 278, "name": "JUMPDEST", "source": 1 }, { "begin": 297, "end": 302, "name": "SWAP4", "source": 1 }, { "begin": 14, "end": 308, "name": "SWAP3", "source": 1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": 14, "end": 308, "name": "JUMP", "source": 1, "value": "[out]" } ] } } }, "methodIdentifiers": { "callFallback(address)": "6ba87a53", "transferToFallback(address)": "cfc6cdaa" } }, "metadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"callFallback\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"transferToFallback\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Fallback.sol\":\"SendToFallback\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Fallback.sol\":{\"keccak256\":\"0x80d6876bf9acaaa9bc904fce07ec97ccbae3c3c6149c9838b5aeb56764e09be1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c17fc0d8c99b9e0384621644b6a4ba3a0b4656d75040d5fb15cd6982ebc0280a\",\"dweb:/ipfs/QmSwBLpR3fWQ22htbEXyvjDxLGysAgtANeyPTnDEjpvJhd\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } } } }, "errors": [ { "component": "general", "errorCode": "3628", "formattedMessage": "Warning: This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n --> contracts/Fallback.sol:13:1:\n |\n13 | contract Fallback {\n | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n --> contracts/Fallback.sol:19:5:\n |\n19 | fallback() external payable {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", "message": "This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.", "secondarySourceLocations": [ { "end": 629, "file": "contracts/Fallback.sol", "message": "The payable fallback function is defined here.", "start": 450 } ], "severity": "warning", "sourceLocation": { "end": 792, "file": "contracts/Fallback.sol", "start": 316 }, "type": "Warning" } ], "sources": { "contracts/Fallback.sol": { "ast": { "absolutePath": "contracts/Fallback.sol", "exportedSymbols": { "Fallback": [ 31 ], "SendToFallback": [ 66 ] }, "id": 67, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "^", "0.8", ".13" ], "nodeType": "PragmaDirective", "src": "32:24:0" }, { "abstract": false, "baseContracts": [], "canonicalName": "Fallback", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 31, "linearizedBaseContracts": [ 31 ], "name": "Fallback", "nameLocation": "325:8:0", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "eventSelector": "909c57d5c6ac08245cf2a6de3900e2b868513fa59099b92b27d8db823d92df9c", "id": 5, "name": "Log", "nameLocation": "346:3:0", "nodeType": "EventDefinition", "parameters": { "id": 4, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3, "indexed": false, "mutability": "mutable", "name": "gas", "nameLocation": "355:3:0", "nodeType": "VariableDeclaration", "scope": 5, "src": "350:8:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2, "name": "uint", "nodeType": "ElementaryTypeName", "src": "350:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "349:10:0" }, "src": "340:20:0" }, { "body": { "id": 8, "nodeType": "Block", "src": "388:2:0", "statements": [] }, "id": 9, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 6, "nodeType": "ParameterList", "parameters": [], "src": "377:2:0" }, "returnParameters": { "id": 7, "nodeType": "ParameterList", "parameters": [], "src": "388:0:0" }, "scope": 31, "src": "366:24:0", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 17, "nodeType": "Block", "src": "478:151:0", "statements": [ { "eventCall": { "arguments": [ { "arguments": [], "expression": { "argumentTypes": [], "id": 13, "name": "gasleft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967289, "src": "612:7:0", "typeDescriptions": { "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, "id": 14, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "612:9:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 12, "name": "Log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "608:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 15, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "608:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 16, "nodeType": "EmitStatement", "src": "603:19:0" } ] }, "id": 18, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 10, "nodeType": "ParameterList", "parameters": [], "src": "458:2:0" }, "returnParameters": { "id": 11, "nodeType": "ParameterList", "parameters": [], "src": "478:0:0" }, "scope": 31, "src": "450:179:0", "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "body": { "id": 29, "nodeType": "Block", "src": "745:45:0", "statements": [ { "expression": { "expression": { "arguments": [ { "id": 25, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967268, "src": "770:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_Fallback_$31", "typeString": "contract Fallback" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Fallback_$31", "typeString": "contract Fallback" } ], "id": 24, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "762:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 23, "name": "address", "nodeType": "ElementaryTypeName", "src": "762:7:0", "typeDescriptions": {} } }, "id": 26, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "762:13:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 27, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balance", "nodeType": "MemberAccess", "src": "762:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 22, "id": 28, "nodeType": "Return", "src": "755:28:0" } ] }, "functionSelector": "12065fe0", "id": 30, "implemented": true, "kind": "function", "modifiers": [], "name": "getBalance", "nameLocation": "705:10:0", "nodeType": "FunctionDefinition", "parameters": { "id": 19, "nodeType": "ParameterList", "parameters": [], "src": "715:2:0" }, "returnParameters": { "id": 22, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 30, "src": "739:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20, "name": "uint", "nodeType": "ElementaryTypeName", "src": "739:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "738:6:0" }, "scope": 31, "src": "696:94:0", "stateMutability": "view", "virtual": false, "visibility": "public" } ], "scope": 67, "src": "316:476:0", "usedErrors": [] }, { "abstract": false, "baseContracts": [], "canonicalName": "SendToFallback", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 66, "linearizedBaseContracts": [ 66 ], "name": "SendToFallback", "nameLocation": "803:14:0", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 43, "nodeType": "Block", "src": "888:40:0", "statements": [ { "expression": { "arguments": [ { "expression": { "id": 39, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "911:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 40, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "src": "911:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 36, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 33, "src": "898:3:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 38, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", "src": "898:12:0", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, "id": 41, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "898:23:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 42, "nodeType": "ExpressionStatement", "src": "898:23:0" } ] }, "functionSelector": "cfc6cdaa", "id": 44, "implemented": true, "kind": "function", "modifiers": [], "name": "transferToFallback", "nameLocation": "833:18:0", "nodeType": "FunctionDefinition", "parameters": { "id": 34, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 33, "mutability": "mutable", "name": "_to", "nameLocation": "868:3:0", "nodeType": "VariableDeclaration", "scope": 44, "src": "852:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, "typeName": { "id": 32, "name": "address", "nodeType": "ElementaryTypeName", "src": "852:15:0", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "visibility": "internal" } ], "src": "851:21:0" }, "returnParameters": { "id": 35, "nodeType": "ParameterList", "parameters": [], "src": "888:0:0" }, "scope": 66, "src": "824:104:0", "stateMutability": "payable", "virtual": false, "visibility": "public" }, { "body": { "id": 64, "nodeType": "Block", "src": "992:110:0", "statements": [ { "assignments": [ 50, null ], "declarations": [ { "constant": false, "id": 50, "mutability": "mutable", "name": "sent", "nameLocation": "1008:4:0", "nodeType": "VariableDeclaration", "scope": 64, "src": "1003:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 49, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1003:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, null ], "id": 58, "initialValue": { "arguments": [ { "hexValue": "", "id": 56, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1045:2:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" }, "value": "" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" } ], "expression": { "id": 51, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46, "src": "1018:3:0", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 52, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "call", "nodeType": "MemberAccess", "src": "1018:8:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, "id": 55, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "names": [ "value" ], "nodeType": "FunctionCallOptions", "options": [ { "expression": { "id": 53, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, "src": "1034:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 54, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "src": "1034:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "src": "1018:26:0", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, "id": 57, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1018:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "1002:46:0" }, { "expression": { "arguments": [ { "id": 60, "name": "sent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 50, "src": "1066:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4661696c656420746f2073656e64204574686572", "id": 61, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1072:22:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb", "typeString": "literal_string \"Failed to send Ether\"" }, "value": "Failed to send Ether" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_445140255c9d889994129d349e64078d6f76b4b37ec896948f7e858f9b8a0dcb", "typeString": "literal_string \"Failed to send Ether\"" } ], "id": 59, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "1058:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 62, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1058:37:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 63, "nodeType": "ExpressionStatement", "src": "1058:37:0" } ] }, "functionSelector": "6ba87a53", "id": 65, "implemented": true, "kind": "function", "modifiers": [], "name": "callFallback", "nameLocation": "943:12:0", "nodeType": "FunctionDefinition", "parameters": { "id": 47, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 46, "mutability": "mutable", "name": "_to", "nameLocation": "972:3:0", "nodeType": "VariableDeclaration", "scope": 65, "src": "956:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, "typeName": { "id": 45, "name": "address", "nodeType": "ElementaryTypeName", "src": "956:15:0", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "visibility": "internal" } ], "src": "955:21:0" }, "returnParameters": { "id": 48, "nodeType": "ParameterList", "parameters": [], "src": "992:0:0" }, "scope": 66, "src": "934:168:0", "stateMutability": "payable", "virtual": false, "visibility": "public" } ], "scope": 67, "src": "794:310:0", "usedErrors": [] } ], "src": "32:1072:0" }, "id": 0 } } } }