Created
September 26, 2022 14:16
-
-
Save furkancelik/00b84cf68a1f50a8f98d883ea766e6b5 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.17+commit.8df45f5f.js&optimize=true&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
REMIX DEFAULT WORKSPACE | |
Remix default workspace is present when: | |
i. Remix loads for the very first time | |
ii. A new workspace is created with 'Default' template | |
iii. There are no files existing in the File Explorer | |
This workspace contains 3 directories: | |
1. 'contracts': Holds three contracts with increasing levels of complexity. | |
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below. | |
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract. | |
SCRIPTS | |
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries. | |
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly | |
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts` | |
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract. | |
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled. | |
Output from script will appear in remix terminal. | |
Please note, require/import is supported in a limited manner for Remix supported modules. | |
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin. | |
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "0bb547a15fd16763f068d992bc37fcba", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector {\n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // sözleşme\n }\n \n receive() payable external {\n balance += msg.value; // keep track of balance (in WEI)\n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Only owner can withdraw\");\n require(amount <= balance, \"Insufficient funds\");\n \n destAddr.transfer(amount); // send funds to given address\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:628 contract FeeCollector {... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":144:207 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":168:173 owner */\n 0x00\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":176:186 msg.sender */\n caller\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:628 contract FeeCollector {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:628 contract FeeCollector {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":265:274 msg.value */\n callvalue\n /* \"FeeCollector.sol\":254:261 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":254:274 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:628 contract FeeCollector {... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":330:626 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":330:626 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":426:431 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":412:422 msg.sender */\n caller\n /* \"FeeCollector.sol\":412:431 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":404:459 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":404:459 require(msg.sender == owner, \"Only owner can withdraw\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n mstore\n /* \"#utility.yul\":1274:1276 */\n 0x17\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1277 */\n mstore\n /* \"#utility.yul\":1313:1338 */\n 0x4f6e6c79206f776e65722063616e207769746864726177000000000000000000\n /* \"#utility.yul\":1293:1311 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1286:1339 */\n mstore\n /* \"#utility.yul\":1356:1374 */\n 0x64\n add\n /* \"FeeCollector.sol\":404:459 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":487:494 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":477:483 amount */\n dup3\n /* \"FeeCollector.sol\":477:494 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":469:517 require(amount <= balance, \"Insufficient funds\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1587:1589 */\n 0x20\n /* \"FeeCollector.sol\":469:517 require(amount <= balance, \"Insufficient funds\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1569:1590 */\n mstore\n /* \"#utility.yul\":1626:1628 */\n 0x12\n /* \"#utility.yul\":1606:1624 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1599:1629 */\n mstore\n shl(0x70, 0x496e73756666696369656e742066756e6473)\n /* \"#utility.yul\":1645:1663 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1638:1686 */\n mstore\n /* \"#utility.yul\":1703:1721 */\n 0x64\n add\n /* \"FeeCollector.sol\":469:517 require(amount <= balance, \"Insufficient funds\") */\n tag_27\n /* \"#utility.yul\":1385:1727 */\n jump\n /* \"FeeCollector.sol\":469:517 require(amount <= balance, \"Insufficient funds\") */\n tag_29:\n /* \"FeeCollector.sol\":536:561 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":536:553 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":536:561 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":554:560 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":536:561 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":554:560 amount */\n dup6\n /* \"FeeCollector.sol\":536:553 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":536:561 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":613:619 amount */\n dup2\n /* \"FeeCollector.sol\":602:609 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":602:619 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":330:626 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1732:1860 */\n tag_35:\n /* \"#utility.yul\":1799:1808 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1820:1831 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1817:1854 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1834:1852 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa264697066735822122080c3addd9831b1b6006bf0aa81ae1bacbd0a29112193a8c83b2c738475ca896264736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561028a806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea264697066735822122080c3addd9831b1b6006bf0aa81ae1bacbd0a29112193a8c83b2c738475ca896264736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x28A DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 0xC3 0xAD 0xDD SWAP9 BALANCE 0xB1 0xB6 STOP PUSH12 0xF0AA81AE1BACBD0A29112193 0xA8 0xC8 EXTCODESIZE 0x2C PUSH20 0x8475CA896264736F6C6343000811003300000000 ", | |
"sourceMap": "57:571:0:-:0;;;144:63;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:571;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 517, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 492, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1862:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:173:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:25:1", | |
"type": "", | |
"value": "Only owner can withdraw" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:53:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:53:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1348:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1360:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1371:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1356:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1356:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1348:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:347:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1559:168:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1576:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1587:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1569:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1569:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1569:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1610:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1621:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1606:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1626:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1599:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1649:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1660:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1645:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:18:1" | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1665:20:1", | |
"type": "", | |
"value": "Insufficient funds" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1638:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1638:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1638:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1695:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1707:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1718:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1703:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1703:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1695:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1536:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1550:4:1", | |
"type": "" | |
} | |
], | |
"src": "1385:342:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1781:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1791:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1803:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1806:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1799:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1791:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1834:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1834:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1834:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1823:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1829:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1820:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1820:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1817:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1763:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1766:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1772:4:1", | |
"type": "" | |
} | |
], | |
"src": "1732:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Only owner can withdraw\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Insufficient funds\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea264697066735822122080c3addd9831b1b6006bf0aa81ae1bacbd0a29112193a8c83b2c738475ca896264736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 0xC3 0xAD 0xDD SWAP9 BALANCE 0xB1 0xB6 STOP PUSH12 0xF0AA81AE1BACBD0A29112193 0xA8 0xC8 EXTCODESIZE 0x2C PUSH20 0x8475CA896264736F6C6343000811003300000000 ", | |
"sourceMap": "57:571:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;265:9;254:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:571;;;;330:296;;;;;;;;;;-1:-1:-1;330:296:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;330:296:0;426:5;;-1:-1:-1;;;;;426:5:0;412:10;:19;404:55;;;;-1:-1:-1;;;404:55:0;;1235:2:1;404:55:0;;;1217:21:1;1274:2;1254:18;;;1247:30;1313:25;1293:18;;;1286:53;1356:18;;404:55:0;;;;;;;;;487:7;;477:6;:17;;469:48;;;;-1:-1:-1;;;469:48:0;;1587:2:1;469:48:0;;;1569:21:1;1626:2;1606:18;;;1599:30;-1:-1:-1;;;1645:18:1;;;1638:48;1703:18;;469:48:0;1385:342:1;469:48:0;536:25;;-1:-1:-1;;;;;536:17:0;;;:25;;;;;554:6;;536:25;;;;554:6;536:17;:25;;;;;;;;;;;;;;;;;;;;;613:6;602:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;330:296:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1732:128::-;1799:9;;;1820:11;;;1817:37;;;1834:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "130000", | |
"executionCost": "24412", | |
"totalCost": "154412" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 207, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 173, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 176, | |
"end": 186, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122080c3addd9831b1b6006bf0aa81ae1bacbd0a29112193a8c83b2c738475ca896264736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 265, | |
"end": 274, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 261, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 254, | |
"end": 261, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 254, | |
"end": 274, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 628, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"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": 85, | |
"end": 105, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 985, | |
"end": 987, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 970, | |
"end": 988, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 851, | |
"end": 1028, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 426, | |
"end": 431, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 431, | |
"name": "SLOAD", | |
"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": 426, | |
"end": 431, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 412, | |
"end": 422, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 412, | |
"end": 431, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"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": 404, | |
"end": 459, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1237, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1274, | |
"end": 1276, | |
"name": "PUSH", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1247, | |
"end": 1277, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1313, | |
"end": 1338, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4F6E6C79206F776E65722063616E207769746864726177000000000000000000" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1286, | |
"end": 1339, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "tag", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "tag", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 404, | |
"end": 459, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 487, | |
"end": 494, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 487, | |
"end": 494, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 477, | |
"end": 483, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 477, | |
"end": 494, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 477, | |
"end": 494, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"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": 469, | |
"end": 517, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1587, | |
"end": 1589, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1569, | |
"end": 1590, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1626, | |
"end": 1628, | |
"name": "PUSH", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1599, | |
"end": 1629, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "496E73756666696369656E742066756E6473" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "70" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "SHL", | |
"source": -1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1638, | |
"end": 1686, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 1385, | |
"end": 1727, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "tag", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 469, | |
"end": 517, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"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": 536, | |
"end": 553, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 553, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 553, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8FC" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 554, | |
"end": 560, | |
"name": "DUP5", | |
"source": 0 | |
}, | |
{ | |
"begin": 554, | |
"end": 560, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 554, | |
"end": 560, | |
"name": "DUP6", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 553, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "CALL", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "SWAP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "RETURNDATACOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "tag", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 536, | |
"end": 561, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 613, | |
"end": 619, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 609, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 602, | |
"end": 609, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "35" | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "tag", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 602, | |
"end": 619, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"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": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 330, | |
"end": 626, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 75, | |
"end": 85, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B71" | |
}, | |
{ | |
"begin": 70, | |
"end": 73, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 86, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 63, | |
"end": 64, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 56, | |
"end": 87, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 106, | |
"end": 110, | |
"name": "PUSH", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 103, | |
"end": 104, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 96, | |
"end": 111, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 130, | |
"end": 134, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 127, | |
"end": 128, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 120, | |
"end": 135, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 352, | |
"end": 358, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 360, | |
"end": 366, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 413, | |
"end": 415, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 401, | |
"end": 410, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 399, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 388, | |
"end": 411, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 384, | |
"end": 416, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 429, | |
"end": 430, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 419, | |
"end": 431, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 525, | |
"end": 527, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 529, | |
"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": 558, | |
"end": 589, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 558, | |
"end": 589, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 604, | |
"end": 605, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 601, | |
"end": 602, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 594, | |
"end": 606, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 627, | |
"end": 632, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"FeeCollector.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"destAddr\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"FeeCollector.sol\":\"FeeCollector\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"FeeCollector.sol\":{\"keccak256\":\"0x9873546f9a3d8579ce8922c9f7a0f0a1876161103b42ff09a83e013ccb657492\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5468eb9bf592a3ce54bddd226ac2546b78ef72f753fc8efd45df430f92055c1\",\"dweb:/ipfs/QmbFvm9PURpRYfRyEqSUgqoa8RVyyPejVkFGBVszPAkEbK\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 5, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "balance", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": { | |
"FeeCollector": [ | |
57 | |
] | |
}, | |
"id": 58, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FeeCollector", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 57, | |
"linearizedBaseContracts": [ | |
57 | |
], | |
"name": "FeeCollector", | |
"nameLocation": "66:12:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "8da5cb5b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "100:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "85:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "85:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b69ef8a8", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "balance", | |
"nameLocation": "126:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "111:22:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "111:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 13, | |
"nodeType": "Block", | |
"src": "158:49:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 11, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "168:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 9, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "176:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "180:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "176:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "168:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 12, | |
"nodeType": "ExpressionStatement", | |
"src": "168:18:0" | |
} | |
] | |
}, | |
"id": 14, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "155:2:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "158:0:0" | |
}, | |
"scope": 57, | |
"src": "144:63:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 22, | |
"nodeType": "Block", | |
"src": "244:71:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "254:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "265:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "269:5:0", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "265:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "254:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "254:20:0" | |
} | |
] | |
}, | |
"id": 23, | |
"implemented": true, | |
"kind": "receive", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "224:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "244:0:0" | |
}, | |
"scope": 57, | |
"src": "217:98:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 55, | |
"nodeType": "Block", | |
"src": "394:232:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 34, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 31, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "412:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "416:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "412:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 33, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "426:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "412:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "433:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
}, | |
"value": "Only owner can withdraw" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
} | |
], | |
"id": 30, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "404:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 36, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "404:55:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 37, | |
"nodeType": "ExpressionStatement", | |
"src": "404:55:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 39, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "477:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"id": 40, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "487:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "477:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "496:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
}, | |
"value": "Insufficient funds" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
} | |
], | |
"id": 38, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "469:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "469:48:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 44, | |
"nodeType": "ExpressionStatement", | |
"src": "469:48:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 48, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "554:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 45, | |
"name": "destAddr", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 27, | |
"src": "536:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "545:8:0", | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "536:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "536:25:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 50, | |
"nodeType": "ExpressionStatement", | |
"src": "536:25:0" | |
}, | |
{ | |
"expression": { | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 51, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "602:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"id": 52, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "613:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "602:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 54, | |
"nodeType": "ExpressionStatement", | |
"src": "602:17:0" | |
} | |
] | |
}, | |
"functionSelector": "00f714ce", | |
"id": 56, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "withdraw", | |
"nameLocation": "339:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 28, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "353:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "348:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "348:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "destAddr", | |
"nameLocation": "377:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "361:24:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "361:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "347:39:0" | |
}, | |
"returnParameters": { | |
"id": 29, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "394:0:0" | |
}, | |
"scope": 57, | |
"src": "330:296:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 58, | |
"src": "57:571:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "0:628:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "4e5748c4294c65b9c52f8c67c6255e3a", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector {\n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // sözleşmeyi dağıtan adres bilgileri\n }\n \n receive() payable external {\n balance += msg.value; \n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Sadece sozlesme sahibi cekebilir\");\n require(amount <= balance, \"Yetersiz bakiye!\");\n destAddr.transfer(amount);\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:590 contract FeeCollector {... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":144:235 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":168:173 owner */\n 0x00\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":176:186 msg.sender */\n caller\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:590 contract FeeCollector {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:590 contract FeeCollector {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":293:302 msg.value */\n callvalue\n /* \"FeeCollector.sol\":282:289 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":282:302 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:590 contract FeeCollector {... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":325:588 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":325:588 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":421:426 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":407:417 msg.sender */\n caller\n /* \"FeeCollector.sol\":407:426 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":399:463 require(msg.sender == owner, \"Sadece sozlesme sahibi cekebilir\") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":399:463 require(msg.sender == owner, \"Sadece sozlesme sahibi cekebilir\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n dup2\n swap1\n mstore\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1277 */\n mstore\n /* \"#utility.yul\":1313:1347 */\n 0x53616465636520736f7a6c65736d65207361686962692063656b6562696c6972\n /* \"#utility.yul\":1293:1311 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1286:1348 */\n mstore\n /* \"#utility.yul\":1365:1383 */\n 0x64\n add\n /* \"FeeCollector.sol\":399:463 require(msg.sender == owner, \"Sadece sozlesme sahibi cekebilir\") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":491:498 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":481:487 amount */\n dup3\n /* \"FeeCollector.sol\":481:498 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":473:519 require(amount <= balance, \"Yetersiz bakiye!\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1596:1598 */\n 0x20\n /* \"FeeCollector.sol\":473:519 require(amount <= balance, \"Yetersiz bakiye!\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1578:1599 */\n mstore\n /* \"#utility.yul\":1635:1637 */\n 0x10\n /* \"#utility.yul\":1615:1633 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1608:1638 */\n mstore\n shl(0x80, 0x596574657273697a2062616b69796521)\n /* \"#utility.yul\":1654:1672 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1647:1693 */\n mstore\n /* \"#utility.yul\":1710:1728 */\n 0x64\n add\n /* \"FeeCollector.sol\":473:519 require(amount <= balance, \"Yetersiz bakiye!\") */\n tag_27\n /* \"#utility.yul\":1394:1734 */\n jump\n /* \"FeeCollector.sol\":473:519 require(amount <= balance, \"Yetersiz bakiye!\") */\n tag_29:\n /* \"FeeCollector.sol\":529:554 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":529:546 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":529:554 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":547:553 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":529:554 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":547:553 amount */\n dup6\n /* \"FeeCollector.sol\":529:546 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":529:554 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":575:581 amount */\n dup2\n /* \"FeeCollector.sol\":564:571 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":564:581 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":325:588 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1739:1867 */\n tag_35:\n /* \"#utility.yul\":1806:1815 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1827:1838 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1824:1861 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1841:1859 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610288806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ea565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610203565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820181905260248201527f53616465636520736f7a6c65736d65207361686962692063656b6562696c697260448201526064015b60405180910390fd5b6001548211156101825760405162461bcd60e51b815260206004820152601060248201526f596574657273697a2062616b6979652160801b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101b8573d6000803e3d6000fd5b5081600160008282546101cb919061023f565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101fd576101fd6101d4565b92915050565b6000806040838503121561021657600080fd5b8235915060208301356001600160a01b038116811461023457600080fd5b809150509250929050565b818103818111156101fd576101fd6101d456fea2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x288 DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x203 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53616465636520736F7A6C65736D65207361686962692063656B6562696C6972 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x596574657273697A2062616B69796521 PUSH1 0x80 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x23F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH24 0x55CA28C7F9759B10143874033AC6BB6C3C442EBFC9215F37 0xD 0xCA DUP4 BYTE PUSH17 0x9764736F6C634300081100330000000000 ", | |
"sourceMap": "57:533:0:-:0;;;144:91;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:533;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 490, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 575, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 468, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1869:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:182:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "53616465636520736f7a6c65736d65207361686962692063656b6562696c6972", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:34:1", | |
"type": "", | |
"value": "Sadece sozlesme sahibi cekebilir" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:62:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:62:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1357:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1369:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1380:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1365:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1365:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1357:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:356:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1568:166:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1585:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1596:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1578:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1578:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1578:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1619:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1630:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1615:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1615:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1635:2:1", | |
"type": "", | |
"value": "16" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1608:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1608:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1608:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1658:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1669:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1654:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1654:18:1" | |
}, | |
{ | |
"hexValue": "596574657273697a2062616b69796521", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1674:18:1", | |
"type": "", | |
"value": "Yetersiz bakiye!" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1647:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1647:46:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1647:46:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1702:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1714:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1725:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1710:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1710:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1702:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1545:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1559:4:1", | |
"type": "" | |
} | |
], | |
"src": "1394:340:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1788:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1798:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1810:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1813:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1806:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1806:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1798:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1839:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1841:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1841:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1841:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1830:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1836:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1827:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1827:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1824:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1770:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1773:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1779:4:1", | |
"type": "" | |
} | |
], | |
"src": "1739:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Sadece sozlesme sahibi cekebilir\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Yetersiz bakiye!\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ea565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610203565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820181905260248201527f53616465636520736f7a6c65736d65207361686962692063656b6562696c697260448201526064015b60405180910390fd5b6001548211156101825760405162461bcd60e51b815260206004820152601060248201526f596574657273697a2062616b6979652160801b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101b8573d6000803e3d6000fd5b5081600160008282546101cb919061023f565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101fd576101fd6101d4565b92915050565b6000806040838503121561021657600080fd5b8235915060208301356001600160a01b038116811461023457600080fd5b809150509250929050565b818103818111156101fd576101fd6101d456fea2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x203 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53616465636520736F7A6C65736D65207361686962692063656B6562696C6972 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x596574657273697A2062616B69796521 PUSH1 0x80 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x23F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH24 0x55CA28C7F9759B10143874033AC6BB6C3C442EBFC9215F37 0xD 0xCA DUP4 BYTE PUSH17 0x9764736F6C634300081100330000000000 ", | |
"sourceMap": "57:533:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:9;282:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:533;;;;325:263;;;;;;;;;;-1:-1:-1;325:263:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;325:263:0;421:5;;-1:-1:-1;;;;;421:5:0;407:10;:19;399:64;;;;-1:-1:-1;;;399:64:0;;1235:2:1;399:64:0;;;1217:21:1;;;1254:18;;;1247:30;1313:34;1293:18;;;1286:62;1365:18;;399:64:0;;;;;;;;;491:7;;481:6;:17;;473:46;;;;-1:-1:-1;;;473:46:0;;1596:2:1;473:46:0;;;1578:21:1;1635:2;1615:18;;;1608:30;-1:-1:-1;;;1654:18:1;;;1647:46;1710:18;;473:46:0;1394:340:1;473:46:0;529:25;;-1:-1:-1;;;;;529:17:0;;;:25;;;;;547:6;;529:25;;;;547:6;529:17;:25;;;;;;;;;;;;;;;;;;;;;575:6;564:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;325:263:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1739:128::-;1806:9;;;1827:11;;;1824:37;;;1841:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "129600", | |
"executionCost": "24412", | |
"totalCost": "154012" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 173, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 176, | |
"end": 186, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 293, | |
"end": 302, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 590, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"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": 85, | |
"end": 105, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 985, | |
"end": 987, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 970, | |
"end": 988, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 851, | |
"end": 1028, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 421, | |
"end": 426, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 421, | |
"end": 426, | |
"name": "SLOAD", | |
"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": 421, | |
"end": 426, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 407, | |
"end": 417, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 407, | |
"end": 426, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"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": 399, | |
"end": 463, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1237, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1247, | |
"end": 1277, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1313, | |
"end": 1347, | |
"name": "PUSH", | |
"source": 1, | |
"value": "53616465636520736F7A6C65736D65207361686962692063656B6562696C6972" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1286, | |
"end": 1348, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1365, | |
"end": 1383, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1365, | |
"end": 1383, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "tag", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "tag", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 399, | |
"end": 463, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 491, | |
"end": 498, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 491, | |
"end": 498, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 481, | |
"end": 487, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 481, | |
"end": 498, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 481, | |
"end": 498, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"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": 473, | |
"end": 519, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1596, | |
"end": 1598, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1578, | |
"end": 1599, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1635, | |
"end": 1637, | |
"name": "PUSH", | |
"source": 1, | |
"value": "10" | |
}, | |
{ | |
"begin": 1615, | |
"end": 1633, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1615, | |
"end": 1633, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1615, | |
"end": 1633, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1608, | |
"end": 1638, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "596574657273697A2062616B69796521" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "80" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "SHL", | |
"source": -1 | |
}, | |
{ | |
"begin": 1654, | |
"end": 1672, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1654, | |
"end": 1672, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1654, | |
"end": 1672, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1647, | |
"end": 1693, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1710, | |
"end": 1728, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1710, | |
"end": 1728, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 1394, | |
"end": 1734, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "tag", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 473, | |
"end": 519, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"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": 529, | |
"end": 546, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 546, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 546, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8FC" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 547, | |
"end": 553, | |
"name": "DUP5", | |
"source": 0 | |
}, | |
{ | |
"begin": 547, | |
"end": 553, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 547, | |
"end": 553, | |
"name": "DUP6", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 546, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "CALL", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "SWAP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "RETURNDATACOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "tag", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 529, | |
"end": 554, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 575, | |
"end": 581, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 571, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 564, | |
"end": 571, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "35" | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "tag", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"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": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 325, | |
"end": 588, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 75, | |
"end": 85, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B71" | |
}, | |
{ | |
"begin": 70, | |
"end": 73, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 86, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 63, | |
"end": 64, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 56, | |
"end": 87, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 106, | |
"end": 110, | |
"name": "PUSH", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 103, | |
"end": 104, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 96, | |
"end": 111, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 130, | |
"end": 134, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 127, | |
"end": 128, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 120, | |
"end": 135, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 352, | |
"end": 358, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 360, | |
"end": 366, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 413, | |
"end": 415, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 401, | |
"end": 410, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 399, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 388, | |
"end": 411, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 384, | |
"end": 416, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 429, | |
"end": 430, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 419, | |
"end": 431, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 525, | |
"end": 527, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 529, | |
"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": 558, | |
"end": 589, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 558, | |
"end": 589, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 604, | |
"end": 605, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 601, | |
"end": 602, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 594, | |
"end": 606, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 627, | |
"end": 632, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1867, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 1739, | |
"end": 1867, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1806, | |
"end": 1815, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1806, | |
"end": 1815, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1806, | |
"end": 1815, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1827, | |
"end": 1838, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1827, | |
"end": 1838, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1827, | |
"end": 1838, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1824, | |
"end": 1861, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1824, | |
"end": 1861, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1824, | |
"end": 1861, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1841, | |
"end": 1859, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1841, | |
"end": 1859, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 1841, | |
"end": 1859, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"FeeCollector.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"destAddr\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"FeeCollector.sol\":\"FeeCollector\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"FeeCollector.sol\":{\"keccak256\":\"0xa306c1666bb709f53166253f4ed8bdf621f89c5aea86718e6e6c03de170e3ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bc401a29efe593dd3f7e81c1b451d61d767f938505f1b4543e5cca8a321fecc\",\"dweb:/ipfs/Qme6oW1CSmLuUFJ389Y8ZJqBJYnfSh3BrLbc7bDP5i3XCF\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 5, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "balance", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": { | |
"FeeCollector": [ | |
57 | |
] | |
}, | |
"id": 58, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FeeCollector", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 57, | |
"linearizedBaseContracts": [ | |
57 | |
], | |
"name": "FeeCollector", | |
"nameLocation": "66:12:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "8da5cb5b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "100:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "85:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "85:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b69ef8a8", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "balance", | |
"nameLocation": "126:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "111:22:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "111:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 13, | |
"nodeType": "Block", | |
"src": "158:77:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 11, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "168:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 9, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "176:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "180:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "176:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "168:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 12, | |
"nodeType": "ExpressionStatement", | |
"src": "168:18:0" | |
} | |
] | |
}, | |
"id": 14, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "155:2:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "158:0:0" | |
}, | |
"scope": 57, | |
"src": "144:91:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 22, | |
"nodeType": "Block", | |
"src": "272:38:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "282:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "293:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "297:5:0", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "293:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "282:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "282:20:0" | |
} | |
] | |
}, | |
"id": 23, | |
"implemented": true, | |
"kind": "receive", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "252:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "272:0:0" | |
}, | |
"scope": 57, | |
"src": "245:65:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 55, | |
"nodeType": "Block", | |
"src": "389:199:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 34, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 31, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "407:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "411:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "407:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 33, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "421:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "407:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "53616465636520736f7a6c65736d65207361686962692063656b6562696c6972", | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "428:34:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95", | |
"typeString": "literal_string \"Sadece sozlesme sahibi cekebilir\"" | |
}, | |
"value": "Sadece sozlesme sahibi cekebilir" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95", | |
"typeString": "literal_string \"Sadece sozlesme sahibi cekebilir\"" | |
} | |
], | |
"id": 30, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "399:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 36, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "399:64:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 37, | |
"nodeType": "ExpressionStatement", | |
"src": "399:64:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 39, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "481:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"id": 40, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "491:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "481:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "596574657273697a2062616b69796521", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "500:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f", | |
"typeString": "literal_string \"Yetersiz bakiye!\"" | |
}, | |
"value": "Yetersiz bakiye!" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f", | |
"typeString": "literal_string \"Yetersiz bakiye!\"" | |
} | |
], | |
"id": 38, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "473:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "473:46:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 44, | |
"nodeType": "ExpressionStatement", | |
"src": "473:46:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 48, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "547:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 45, | |
"name": "destAddr", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 27, | |
"src": "529:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "538:8:0", | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "529:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "529:25:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 50, | |
"nodeType": "ExpressionStatement", | |
"src": "529:25:0" | |
}, | |
{ | |
"expression": { | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 51, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "564:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"id": 52, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "575:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "564:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 54, | |
"nodeType": "ExpressionStatement", | |
"src": "564:17:0" | |
} | |
] | |
}, | |
"functionSelector": "00f714ce", | |
"id": 56, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "withdraw", | |
"nameLocation": "334:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 28, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "348:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "343:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "343:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "destAddr", | |
"nameLocation": "372:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "356:24:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "356:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "342:39:0" | |
}, | |
"returnParameters": { | |
"id": 29, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "389:0:0" | |
}, | |
"scope": 57, | |
"src": "325:263:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 58, | |
"src": "57:533:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "0:590:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "5d333ddb47117f6d6121fde4ea7214cf", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector {\n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // sözleşmeyi dağıtan adres bilgileri\n }\n \n receive() payable external {\n balance += msg.value; \n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Only owner can withdraw\");\n require(amount <= balance, \"Insufficient funds\");\n \n destAddr.transfer(amount); // send funds to given address\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:623 contract FeeCollector {... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":144:235 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":168:173 owner */\n 0x00\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":176:186 msg.sender */\n caller\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:623 contract FeeCollector {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:623 contract FeeCollector {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":293:302 msg.value */\n callvalue\n /* \"FeeCollector.sol\":282:289 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":282:302 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:623 contract FeeCollector {... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":325:621 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":325:621 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":421:426 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":407:417 msg.sender */\n caller\n /* \"FeeCollector.sol\":407:426 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":399:454 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":399:454 require(msg.sender == owner, \"Only owner can withdraw\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n mstore\n /* \"#utility.yul\":1274:1276 */\n 0x17\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1277 */\n mstore\n /* \"#utility.yul\":1313:1338 */\n 0x4f6e6c79206f776e65722063616e207769746864726177000000000000000000\n /* \"#utility.yul\":1293:1311 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1286:1339 */\n mstore\n /* \"#utility.yul\":1356:1374 */\n 0x64\n add\n /* \"FeeCollector.sol\":399:454 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":482:489 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":472:478 amount */\n dup3\n /* \"FeeCollector.sol\":472:489 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":464:512 require(amount <= balance, \"Insufficient funds\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1587:1589 */\n 0x20\n /* \"FeeCollector.sol\":464:512 require(amount <= balance, \"Insufficient funds\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1569:1590 */\n mstore\n /* \"#utility.yul\":1626:1628 */\n 0x12\n /* \"#utility.yul\":1606:1624 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1599:1629 */\n mstore\n shl(0x70, 0x496e73756666696369656e742066756e6473)\n /* \"#utility.yul\":1645:1663 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1638:1686 */\n mstore\n /* \"#utility.yul\":1703:1721 */\n 0x64\n add\n /* \"FeeCollector.sol\":464:512 require(amount <= balance, \"Insufficient funds\") */\n tag_27\n /* \"#utility.yul\":1385:1727 */\n jump\n /* \"FeeCollector.sol\":464:512 require(amount <= balance, \"Insufficient funds\") */\n tag_29:\n /* \"FeeCollector.sol\":531:556 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":531:548 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":531:556 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":549:555 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":531:556 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":549:555 amount */\n dup6\n /* \"FeeCollector.sol\":531:548 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":531:556 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":608:614 amount */\n dup2\n /* \"FeeCollector.sol\":597:604 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":597:614 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":325:621 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1732:1860 */\n tag_35:\n /* \"#utility.yul\":1799:1808 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1820:1831 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1817:1854 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1834:1852 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa2646970667358221220c807becfae4f800094692106fa771af0985b1a77bccf4f5bac109779da0c284664736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561028a806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea2646970667358221220c807becfae4f800094692106fa771af0985b1a77bccf4f5bac109779da0c284664736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x28A DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SMOD 0xBE 0xCF 0xAE 0x4F DUP1 STOP SWAP5 PUSH10 0x2106FA771AF0985B1A77 0xBC 0xCF 0x4F JUMPDEST 0xAC LT SWAP8 PUSH26 0xDA0C284664736F6C634300081100330000000000000000000000 ", | |
"sourceMap": "57:566:0:-:0;;;144:91;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:566;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 517, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 492, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1862:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:173:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:25:1", | |
"type": "", | |
"value": "Only owner can withdraw" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:53:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:53:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1348:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1360:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1371:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1356:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1356:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1348:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:347:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1559:168:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1576:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1587:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1569:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1569:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1569:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1610:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1621:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1606:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1626:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1599:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1649:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1660:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1645:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:18:1" | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1665:20:1", | |
"type": "", | |
"value": "Insufficient funds" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1638:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1638:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1638:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1695:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1707:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1718:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1703:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1703:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1695:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1536:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1550:4:1", | |
"type": "" | |
} | |
], | |
"src": "1385:342:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1781:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1791:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1803:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1806:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1799:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1791:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1834:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1834:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1834:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1823:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1829:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1820:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1820:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1817:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1763:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1766:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1772:4:1", | |
"type": "" | |
} | |
], | |
"src": "1732:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Only owner can withdraw\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Insufficient funds\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea2646970667358221220c807becfae4f800094692106fa771af0985b1a77bccf4f5bac109779da0c284664736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC8 SMOD 0xBE 0xCF 0xAE 0x4F DUP1 STOP SWAP5 PUSH10 0x2106FA771AF0985B1A77 0xBC 0xCF 0x4F JUMPDEST 0xAC LT SWAP8 PUSH26 0xDA0C284664736F6C634300081100330000000000000000000000 ", | |
"sourceMap": "57:566:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:9;282:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:566;;;;325:296;;;;;;;;;;-1:-1:-1;325:296:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;325:296:0;421:5;;-1:-1:-1;;;;;421:5:0;407:10;:19;399:55;;;;-1:-1:-1;;;399:55:0;;1235:2:1;399:55:0;;;1217:21:1;1274:2;1254:18;;;1247:30;1313:25;1293:18;;;1286:53;1356:18;;399:55:0;;;;;;;;;482:7;;472:6;:17;;464:48;;;;-1:-1:-1;;;464:48:0;;1587:2:1;464:48:0;;;1569:21:1;1626:2;1606:18;;;1599:30;-1:-1:-1;;;1645:18:1;;;1638:48;1703:18;;464:48:0;1385:342:1;464:48:0;531:25;;-1:-1:-1;;;;;531:17:0;;;:25;;;;;549:6;;531:25;;;;549:6;531:17;:25;;;;;;;;;;;;;;;;;;;;;608:6;597:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;325:296:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1732:128::-;1799:9;;;1820:11;;;1817:37;;;1834:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "130000", | |
"executionCost": "24412", | |
"totalCost": "154412" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 173, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 176, | |
"end": 186, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220c807becfae4f800094692106fa771af0985b1a77bccf4f5bac109779da0c284664736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 293, | |
"end": 302, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 623, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"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": 85, | |
"end": 105, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 985, | |
"end": 987, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 970, | |
"end": 988, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 851, | |
"end": 1028, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 421, | |
"end": 426, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 421, | |
"end": 426, | |
"name": "SLOAD", | |
"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": 421, | |
"end": 426, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 407, | |
"end": 417, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 407, | |
"end": 426, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"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": 399, | |
"end": 454, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1237, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1274, | |
"end": 1276, | |
"name": "PUSH", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1247, | |
"end": 1277, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1313, | |
"end": 1338, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4F6E6C79206F776E65722063616E207769746864726177000000000000000000" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1286, | |
"end": 1339, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "tag", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "tag", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 399, | |
"end": 454, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 482, | |
"end": 489, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 482, | |
"end": 489, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 472, | |
"end": 478, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 472, | |
"end": 489, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 472, | |
"end": 489, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"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": 464, | |
"end": 512, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1587, | |
"end": 1589, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1569, | |
"end": 1590, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1626, | |
"end": 1628, | |
"name": "PUSH", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1599, | |
"end": 1629, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "496E73756666696369656E742066756E6473" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "70" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "SHL", | |
"source": -1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1638, | |
"end": 1686, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 1385, | |
"end": 1727, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "tag", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 464, | |
"end": 512, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"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": 531, | |
"end": 548, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 548, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 548, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8FC" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 549, | |
"end": 555, | |
"name": "DUP5", | |
"source": 0 | |
}, | |
{ | |
"begin": 549, | |
"end": 555, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 549, | |
"end": 555, | |
"name": "DUP6", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 548, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "CALL", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "SWAP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "RETURNDATACOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "tag", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 531, | |
"end": 556, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 608, | |
"end": 614, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 604, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 597, | |
"end": 604, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "35" | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "tag", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 597, | |
"end": 614, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"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": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 325, | |
"end": 621, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 75, | |
"end": 85, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B71" | |
}, | |
{ | |
"begin": 70, | |
"end": 73, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 86, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 63, | |
"end": 64, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 56, | |
"end": 87, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 106, | |
"end": 110, | |
"name": "PUSH", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 103, | |
"end": 104, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 96, | |
"end": 111, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 130, | |
"end": 134, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 127, | |
"end": 128, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 120, | |
"end": 135, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 352, | |
"end": 358, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 360, | |
"end": 366, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 413, | |
"end": 415, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 401, | |
"end": 410, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 399, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 388, | |
"end": 411, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 384, | |
"end": 416, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 429, | |
"end": 430, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 419, | |
"end": 431, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 525, | |
"end": 527, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 529, | |
"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": 558, | |
"end": 589, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 558, | |
"end": 589, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 604, | |
"end": 605, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 601, | |
"end": 602, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 594, | |
"end": 606, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 627, | |
"end": 632, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"FeeCollector.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"destAddr\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"FeeCollector.sol\":\"FeeCollector\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"FeeCollector.sol\":{\"keccak256\":\"0x956a524a5316cc35b087075ba8ea4b890bf1396f5247e8b0b969bd7c9dba5642\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4aa86e32f543e7606baea979b8ca63dc98f80460d65add03538dc1ba1e524f40\",\"dweb:/ipfs/QmPRVrbf1rpwGXsfYZxJNsfK6xpzi7QJvkEw9E2pt1ge5i\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 5, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "balance", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": { | |
"FeeCollector": [ | |
57 | |
] | |
}, | |
"id": 58, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FeeCollector", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 57, | |
"linearizedBaseContracts": [ | |
57 | |
], | |
"name": "FeeCollector", | |
"nameLocation": "66:12:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "8da5cb5b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "100:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "85:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "85:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b69ef8a8", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "balance", | |
"nameLocation": "126:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "111:22:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "111:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 13, | |
"nodeType": "Block", | |
"src": "158:77:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 11, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "168:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 9, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "176:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "180:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "176:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "168:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 12, | |
"nodeType": "ExpressionStatement", | |
"src": "168:18:0" | |
} | |
] | |
}, | |
"id": 14, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "155:2:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "158:0:0" | |
}, | |
"scope": 57, | |
"src": "144:91:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 22, | |
"nodeType": "Block", | |
"src": "272:38:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "282:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "293:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "297:5:0", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "293:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "282:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "282:20:0" | |
} | |
] | |
}, | |
"id": 23, | |
"implemented": true, | |
"kind": "receive", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "252:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "272:0:0" | |
}, | |
"scope": 57, | |
"src": "245:65:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 55, | |
"nodeType": "Block", | |
"src": "389:232:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 34, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 31, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "407:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "411:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "407:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 33, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "421:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "407:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "428:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
}, | |
"value": "Only owner can withdraw" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
} | |
], | |
"id": 30, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "399:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 36, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "399:55:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 37, | |
"nodeType": "ExpressionStatement", | |
"src": "399:55:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 39, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "472:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"id": 40, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "482:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "472:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "491:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
}, | |
"value": "Insufficient funds" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
} | |
], | |
"id": 38, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "464:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "464:48:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 44, | |
"nodeType": "ExpressionStatement", | |
"src": "464:48:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 48, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "549:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 45, | |
"name": "destAddr", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 27, | |
"src": "531:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "540:8:0", | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "531:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "531:25:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 50, | |
"nodeType": "ExpressionStatement", | |
"src": "531:25:0" | |
}, | |
{ | |
"expression": { | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 51, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "597:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"id": 52, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "608:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "597:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 54, | |
"nodeType": "ExpressionStatement", | |
"src": "597:17:0" | |
} | |
] | |
}, | |
"functionSelector": "00f714ce", | |
"id": 56, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "withdraw", | |
"nameLocation": "334:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 28, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "348:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "343:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "343:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "destAddr", | |
"nameLocation": "372:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "356:24:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "356:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "342:39:0" | |
}, | |
"returnParameters": { | |
"id": 29, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "389:0:0" | |
}, | |
"scope": 57, | |
"src": "325:296:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 58, | |
"src": "57:566:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "0:623:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "7f73612fac84ec5ac212d7ff49a8f425", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector { // \n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // store information who deployed contract\n }\n \n receive() payable external {\n balance += msg.value; // keep track of balance (in WEI)\n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Only owner can withdraw\");\n require(amount <= balance, \"Insufficient funds\");\n \n destAddr.transfer(amount); // send funds to given address\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:661 contract FeeCollector { // ... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":148:240 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":172:177 owner */\n 0x00\n /* \"FeeCollector.sol\":172:190 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":180:190 msg.sender */\n caller\n /* \"FeeCollector.sol\":172:190 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:661 contract FeeCollector { // ... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:661 contract FeeCollector { // ... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":298:307 msg.value */\n callvalue\n /* \"FeeCollector.sol\":287:294 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":287:307 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:661 contract FeeCollector { // ... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":363:659 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":89:109 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":89:109 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":115:137 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":115:137 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":363:659 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":459:464 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":445:455 msg.sender */\n caller\n /* \"FeeCollector.sol\":445:464 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":437:492 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":437:492 require(msg.sender == owner, \"Only owner can withdraw\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n mstore\n /* \"#utility.yul\":1274:1276 */\n 0x17\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1277 */\n mstore\n /* \"#utility.yul\":1313:1338 */\n 0x4f6e6c79206f776e65722063616e207769746864726177000000000000000000\n /* \"#utility.yul\":1293:1311 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1286:1339 */\n mstore\n /* \"#utility.yul\":1356:1374 */\n 0x64\n add\n /* \"FeeCollector.sol\":437:492 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":520:527 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":510:516 amount */\n dup3\n /* \"FeeCollector.sol\":510:527 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":502:550 require(amount <= balance, \"Insufficient funds\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1587:1589 */\n 0x20\n /* \"FeeCollector.sol\":502:550 require(amount <= balance, \"Insufficient funds\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1569:1590 */\n mstore\n /* \"#utility.yul\":1626:1628 */\n 0x12\n /* \"#utility.yul\":1606:1624 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1599:1629 */\n mstore\n shl(0x70, 0x496e73756666696369656e742066756e6473)\n /* \"#utility.yul\":1645:1663 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1638:1686 */\n mstore\n /* \"#utility.yul\":1703:1721 */\n 0x64\n add\n /* \"FeeCollector.sol\":502:550 require(amount <= balance, \"Insufficient funds\") */\n tag_27\n /* \"#utility.yul\":1385:1727 */\n jump\n /* \"FeeCollector.sol\":502:550 require(amount <= balance, \"Insufficient funds\") */\n tag_29:\n /* \"FeeCollector.sol\":569:594 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":569:586 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":569:594 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":587:593 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":569:594 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":587:593 amount */\n dup6\n /* \"FeeCollector.sol\":569:586 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":569:594 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":646:652 amount */\n dup2\n /* \"FeeCollector.sol\":635:642 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":635:652 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":363:659 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1732:1860 */\n tag_35:\n /* \"#utility.yul\":1799:1808 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1820:1831 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1817:1854 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1834:1852 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa26469706673582212203192a61570a3469005f8cf0ec37f732683a7fb2c9e3ff0463fa8ff7435b96a1a64736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561028a806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea26469706673582212203192a61570a3469005f8cf0ec37f732683a7fb2c9e3ff0463fa8ff7435b96a1a64736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x28A DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BALANCE SWAP3 0xA6 ISZERO PUSH17 0xA3469005F8CF0EC37F732683A7FB2C9E3F CREATE CHAINID EXTCODEHASH 0xA8 SELFDESTRUCT PUSH21 0x35B96A1A64736F6C63430008110033000000000000 ", | |
"sourceMap": "57:604:0:-:0;;;148:92;;;;;;;;;-1:-1:-1;172:5:0;:18;;-1:-1:-1;;;;;;172:18:0;180:10;172:18;;;57:604;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 517, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 492, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1862:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:173:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:25:1", | |
"type": "", | |
"value": "Only owner can withdraw" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:53:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:53:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1348:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1360:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1371:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1356:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1356:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1348:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:347:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1559:168:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1576:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1587:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1569:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1569:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1569:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1610:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1621:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1606:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1626:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1599:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1649:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1660:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1645:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:18:1" | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1665:20:1", | |
"type": "", | |
"value": "Insufficient funds" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1638:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1638:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1638:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1695:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1707:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1718:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1703:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1703:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1695:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1536:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1550:4:1", | |
"type": "" | |
} | |
], | |
"src": "1385:342:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1781:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1791:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1803:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1806:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1799:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1791:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1834:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1834:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1834:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1823:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1829:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1820:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1820:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1817:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1763:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1766:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1772:4:1", | |
"type": "" | |
} | |
], | |
"src": "1732:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Only owner can withdraw\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Insufficient funds\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea26469706673582212203192a61570a3469005f8cf0ec37f732683a7fb2c9e3ff0463fa8ff7435b96a1a64736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BALANCE SWAP3 0xA6 ISZERO PUSH17 0xA3469005F8CF0EC37F732683A7FB2C9E3F CREATE CHAINID EXTCODEHASH 0xA8 SELFDESTRUCT PUSH21 0x35B96A1A64736F6C63430008110033000000000000 ", | |
"sourceMap": "57:604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;298:9;287:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:604;;;;363:296;;;;;;;;;;-1:-1:-1;363:296:0;;;;;:::i;:::-;;:::i;:::-;;89:20;;;;;;;;;;-1:-1:-1;89:20:0;;;;-1:-1:-1;;;;;89:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;89:20:0;;;;;;;;115:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;115:22:0;851:177:1;363:296:0;459:5;;-1:-1:-1;;;;;459:5:0;445:10;:19;437:55;;;;-1:-1:-1;;;437:55:0;;1235:2:1;437:55:0;;;1217:21:1;1274:2;1254:18;;;1247:30;1313:25;1293:18;;;1286:53;1356:18;;437:55:0;;;;;;;;;520:7;;510:6;:17;;502:48;;;;-1:-1:-1;;;502:48:0;;1587:2:1;502:48:0;;;1569:21:1;1626:2;1606:18;;;1599:30;-1:-1:-1;;;1645:18:1;;;1638:48;1703:18;;502:48:0;1385:342:1;502:48:0;569:25;;-1:-1:-1;;;;;569:17:0;;;:25;;;;;587:6;;569:25;;;;587:6;569:17;:25;;;;;;;;;;;;;;;;;;;;;646:6;635:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;363:296:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1732:128::-;1799:9;;;1820:11;;;1817:37;;;1834:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "130000", | |
"executionCost": "24412", | |
"totalCost": "154412" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 148, | |
"end": 240, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 172, | |
"end": 177, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 180, | |
"end": 190, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 172, | |
"end": 190, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212203192a61570a3469005f8cf0ec37f732683a7fb2c9e3ff0463fa8ff7435b96a1a64736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 298, | |
"end": 307, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 294, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 287, | |
"end": 294, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 287, | |
"end": 307, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 661, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "SWAP1", | |
"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": 89, | |
"end": 109, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 89, | |
"end": 109, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "tag", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 985, | |
"end": 987, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 970, | |
"end": 988, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 115, | |
"end": 137, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 851, | |
"end": 1028, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 459, | |
"end": 464, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 459, | |
"end": 464, | |
"name": "SLOAD", | |
"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": 459, | |
"end": 464, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 445, | |
"end": 455, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 445, | |
"end": 464, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"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": 437, | |
"end": 492, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1237, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1274, | |
"end": 1276, | |
"name": "PUSH", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1247, | |
"end": 1277, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1313, | |
"end": 1338, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4F6E6C79206F776E65722063616E207769746864726177000000000000000000" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1286, | |
"end": 1339, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "tag", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "tag", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 437, | |
"end": 492, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 520, | |
"end": 527, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 520, | |
"end": 527, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 510, | |
"end": 516, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 510, | |
"end": 527, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 510, | |
"end": 527, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"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": 502, | |
"end": 550, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1587, | |
"end": 1589, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1569, | |
"end": 1590, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1626, | |
"end": 1628, | |
"name": "PUSH", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1599, | |
"end": 1629, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "496E73756666696369656E742066756E6473" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "70" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "SHL", | |
"source": -1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1638, | |
"end": 1686, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 1385, | |
"end": 1727, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "tag", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 502, | |
"end": 550, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"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": 569, | |
"end": 586, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 586, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 586, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8FC" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 587, | |
"end": 593, | |
"name": "DUP5", | |
"source": 0 | |
}, | |
{ | |
"begin": 587, | |
"end": 593, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 587, | |
"end": 593, | |
"name": "DUP6", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 586, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "CALL", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "SWAP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "RETURNDATACOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "tag", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 569, | |
"end": 594, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 646, | |
"end": 652, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 642, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 635, | |
"end": 642, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "35" | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "tag", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 635, | |
"end": 652, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"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": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 363, | |
"end": 659, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 75, | |
"end": 85, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B71" | |
}, | |
{ | |
"begin": 70, | |
"end": 73, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 86, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 63, | |
"end": 64, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 56, | |
"end": 87, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 106, | |
"end": 110, | |
"name": "PUSH", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 103, | |
"end": 104, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 96, | |
"end": 111, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 130, | |
"end": 134, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 127, | |
"end": 128, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 120, | |
"end": 135, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 352, | |
"end": 358, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 360, | |
"end": 366, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 413, | |
"end": 415, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 401, | |
"end": 410, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 399, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 388, | |
"end": 411, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 384, | |
"end": 416, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 429, | |
"end": 430, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 419, | |
"end": 431, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 525, | |
"end": 527, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 529, | |
"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": 558, | |
"end": 589, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 558, | |
"end": 589, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 604, | |
"end": 605, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 601, | |
"end": 602, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 594, | |
"end": 606, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 627, | |
"end": 632, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"FeeCollector.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"destAddr\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"FeeCollector.sol\":\"FeeCollector\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"FeeCollector.sol\":{\"keccak256\":\"0xddf09d9b6f78be0e9303989a851f1785515a1f16c720629710fc04aea0431075\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17f9d0446a190b28b6d9f09ef09ed03b34c4ddbc3fbc2eaf8e12a606b9f2834f\",\"dweb:/ipfs/QmUPY65TefHDkzsJSysifKdNpiEZRxRgYXKXDhf44CUexb\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 5, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "balance", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": { | |
"FeeCollector": [ | |
57 | |
] | |
}, | |
"id": 58, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FeeCollector", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 57, | |
"linearizedBaseContracts": [ | |
57 | |
], | |
"name": "FeeCollector", | |
"nameLocation": "66:12:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "8da5cb5b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "104:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "89:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "89:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b69ef8a8", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "balance", | |
"nameLocation": "130:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "115:22:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "115:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 13, | |
"nodeType": "Block", | |
"src": "162:78:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 11, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "172:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 9, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "180:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "184:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "180:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "172:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 12, | |
"nodeType": "ExpressionStatement", | |
"src": "172:18:0" | |
} | |
] | |
}, | |
"id": 14, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "159:2:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "162:0:0" | |
}, | |
"scope": 57, | |
"src": "148:92:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 22, | |
"nodeType": "Block", | |
"src": "277:71:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "287:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "298:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "302:5:0", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "298:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "287:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "287:20:0" | |
} | |
] | |
}, | |
"id": 23, | |
"implemented": true, | |
"kind": "receive", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "257:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "277:0:0" | |
}, | |
"scope": 57, | |
"src": "250:98:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 55, | |
"nodeType": "Block", | |
"src": "427:232:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 34, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 31, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "445:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "449:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "445:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 33, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "459:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "445:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "466:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
}, | |
"value": "Only owner can withdraw" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
} | |
], | |
"id": 30, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "437:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 36, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "437:55:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 37, | |
"nodeType": "ExpressionStatement", | |
"src": "437:55:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 39, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "510:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"id": 40, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "520:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "510:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "529:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
}, | |
"value": "Insufficient funds" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
} | |
], | |
"id": 38, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "502:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "502:48:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 44, | |
"nodeType": "ExpressionStatement", | |
"src": "502:48:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 48, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "587:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 45, | |
"name": "destAddr", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 27, | |
"src": "569:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "578:8:0", | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "569:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "569:25:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 50, | |
"nodeType": "ExpressionStatement", | |
"src": "569:25:0" | |
}, | |
{ | |
"expression": { | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 51, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "635:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"id": 52, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "646:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "635:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 54, | |
"nodeType": "ExpressionStatement", | |
"src": "635:17:0" | |
} | |
] | |
}, | |
"functionSelector": "00f714ce", | |
"id": 56, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "withdraw", | |
"nameLocation": "372:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 28, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "386:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "381:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "381:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "destAddr", | |
"nameLocation": "410:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "394:24:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "394:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "380:39:0" | |
}, | |
"returnParameters": { | |
"id": 29, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "427:0:0" | |
}, | |
"scope": 57, | |
"src": "363:296:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 58, | |
"src": "57:604:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "0:661:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "bc45838f916a1c7242c4fc98d58cccdf", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.5.17", | |
"solcLongVersion": "0.5.17+commit.d19bba13", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "" | |
} | |
}, | |
"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": { | |
"errors": [ | |
{ | |
"component": "general", | |
"formattedMessage": "FeeCollector.sol:1:1: Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.5.17;\"\n\n^\n", | |
"message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.5.17;\"", | |
"severity": "warning", | |
"sourceLocation": { | |
"end": 0, | |
"file": "FeeCollector.sol", | |
"start": 0 | |
}, | |
"type": "Warning" | |
} | |
], | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": {}, | |
"id": 1, | |
"nodeType": "SourceUnit", | |
"nodes": [], | |
"src": "0:0:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "d27442dac2dd1208d95f17ffc692074d", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector {\n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // sözleşmeyi dağıtan adres bilgileri\n }\n \n receive() payable external {\n balance += msg.value; // keep track of balance (in WEI)\n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Only owner can withdraw\");\n require(amount <= balance, \"Insufficient funds\");\n \n destAddr.transfer(amount); // send funds to given address\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:656 contract FeeCollector {... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":144:235 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":168:173 owner */\n 0x00\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":176:186 msg.sender */\n caller\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:656 contract FeeCollector {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:656 contract FeeCollector {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":293:302 msg.value */\n callvalue\n /* \"FeeCollector.sol\":282:289 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":282:302 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:656 contract FeeCollector {... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":358:654 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":358:654 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":454:459 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":440:450 msg.sender */\n caller\n /* \"FeeCollector.sol\":440:459 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":432:487 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":432:487 require(msg.sender == owner, \"Only owner can withdraw\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n mstore\n /* \"#utility.yul\":1274:1276 */\n 0x17\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1277 */\n mstore\n /* \"#utility.yul\":1313:1338 */\n 0x4f6e6c79206f776e65722063616e207769746864726177000000000000000000\n /* \"#utility.yul\":1293:1311 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1286:1339 */\n mstore\n /* \"#utility.yul\":1356:1374 */\n 0x64\n add\n /* \"FeeCollector.sol\":432:487 require(msg.sender == owner, \"Only owner can withdraw\") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":515:522 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":505:511 amount */\n dup3\n /* \"FeeCollector.sol\":505:522 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":497:545 require(amount <= balance, \"Insufficient funds\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1587:1589 */\n 0x20\n /* \"FeeCollector.sol\":497:545 require(amount <= balance, \"Insufficient funds\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1569:1590 */\n mstore\n /* \"#utility.yul\":1626:1628 */\n 0x12\n /* \"#utility.yul\":1606:1624 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1599:1629 */\n mstore\n shl(0x70, 0x496e73756666696369656e742066756e6473)\n /* \"#utility.yul\":1645:1663 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1638:1686 */\n mstore\n /* \"#utility.yul\":1703:1721 */\n 0x64\n add\n /* \"FeeCollector.sol\":497:545 require(amount <= balance, \"Insufficient funds\") */\n tag_27\n /* \"#utility.yul\":1385:1727 */\n jump\n /* \"FeeCollector.sol\":497:545 require(amount <= balance, \"Insufficient funds\") */\n tag_29:\n /* \"FeeCollector.sol\":564:589 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":564:581 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":564:589 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":582:588 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":564:589 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":582:588 amount */\n dup6\n /* \"FeeCollector.sol\":564:581 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":564:589 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":641:647 amount */\n dup2\n /* \"FeeCollector.sol\":630:637 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":630:647 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":358:654 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1732:1860 */\n tag_35:\n /* \"#utility.yul\":1799:1808 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1820:1831 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1817:1854 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1834:1852 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa264697066735822122000068237e24cfc9fc8931d7b4f6608219c7dc03beabf23498c00ba7f173ed34b64736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561028a806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea264697066735822122000068237e24cfc9fc8931d7b4f6608219c7dc03beabf23498c00ba7f173ed34b64736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x28A DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP MOD DUP3 CALLDATACOPY 0xE2 0x4C 0xFC SWAP16 0xC8 SWAP4 SAR PUSH28 0x4F6608219C7DC03BEABF23498C00BA7F173ED34B64736F6C63430008 GT STOP CALLER ", | |
"sourceMap": "57:599:0:-:0;;;144:91;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:599;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 517, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 492, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 577, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1862:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:173:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "23" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:25:1", | |
"type": "", | |
"value": "Only owner can withdraw" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:53:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:53:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1348:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1360:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1371:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1356:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1356:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1348:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:347:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1559:168:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1576:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1587:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1569:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1569:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1569:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1610:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1621:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1606:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1606:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1626:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1599:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1599:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1599:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1649:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1660:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1645:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1645:18:1" | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1665:20:1", | |
"type": "", | |
"value": "Insufficient funds" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1638:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1638:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1638:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1695:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1707:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1718:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1703:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1703:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1695:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1536:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1550:4:1", | |
"type": "" | |
} | |
], | |
"src": "1385:342:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1781:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1791:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1803:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1806:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1799:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1799:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1791:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1832:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1834:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1834:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1834:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1823:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1829:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1820:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1820:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1817:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1763:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1766:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1772:4:1", | |
"type": "" | |
} | |
], | |
"src": "1732:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Only owner can withdraw\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Insufficient funds\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ec565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610205565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79206f776e65722063616e20776974686472617700000000000000000060448201526064015b60405180910390fd5b6001548211156101845760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101ba573d6000803e3d6000fd5b5081600160008282546101cd9190610241565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6101d6565b92915050565b6000806040838503121561021857600080fd5b8235915060208301356001600160a01b038116811461023657600080fd5b809150509250929050565b818103818111156101ff576101ff6101d656fea264697066735822122000068237e24cfc9fc8931d7b4f6608219c7dc03beabf23498c00ba7f173ed34b64736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EC JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x205 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C79206F776E65722063616E207769746864726177000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x184 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1BA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CD SWAP2 SWAP1 PUSH2 0x241 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FF JUMPI PUSH2 0x1FF PUSH2 0x1D6 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STOP MOD DUP3 CALLDATACOPY 0xE2 0x4C 0xFC SWAP16 0xC8 SWAP4 SAR PUSH28 0x4F6608219C7DC03BEABF23498C00BA7F173ED34B64736F6C63430008 GT STOP CALLER ", | |
"sourceMap": "57:599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:9;282:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:599;;;;358:296;;;;;;;;;;-1:-1:-1;358:296:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;358:296:0;454:5;;-1:-1:-1;;;;;454:5:0;440:10;:19;432:55;;;;-1:-1:-1;;;432:55:0;;1235:2:1;432:55:0;;;1217:21:1;1274:2;1254:18;;;1247:30;1313:25;1293:18;;;1286:53;1356:18;;432:55:0;;;;;;;;;515:7;;505:6;:17;;497:48;;;;-1:-1:-1;;;497:48:0;;1587:2:1;497:48:0;;;1569:21:1;1626:2;1606:18;;;1599:30;-1:-1:-1;;;1645:18:1;;;1638:48;1703:18;;497:48:0;1385:342:1;497:48:0;564:25;;-1:-1:-1;;;;;564:17:0;;;:25;;;;;582:6;;564:25;;;;582:6;564:17;:25;;;;;;;;;;;;;;;;;;;;;641:6;630:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;358:296:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1732:128::-;1799:9;;;1820:11;;;1817:37;;;1834:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "130000", | |
"executionCost": "24412", | |
"totalCost": "154412" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 173, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 176, | |
"end": 186, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122000068237e24cfc9fc8931d7b4f6608219c7dc03beabf23498c00ba7f173ed34b64736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 293, | |
"end": 302, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 656, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"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": 85, | |
"end": 105, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "RETURN", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "20" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "tag", | |
"source": 0, | |
"value": "21" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 997, | |
"end": 1022, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 985, | |
"end": 987, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 970, | |
"end": 988, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 111, | |
"end": 133, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 851, | |
"end": 1028, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "tag", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 454, | |
"end": 459, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 454, | |
"end": 459, | |
"name": "SLOAD", | |
"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": 454, | |
"end": 459, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 440, | |
"end": 450, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 440, | |
"end": 459, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"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": 432, | |
"end": 487, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1235, | |
"end": 1237, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1238, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1274, | |
"end": 1276, | |
"name": "PUSH", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1254, | |
"end": 1272, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1247, | |
"end": 1277, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1313, | |
"end": 1338, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4F6E6C79206F776E65722063616E207769746864726177000000000000000000" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1293, | |
"end": 1311, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1286, | |
"end": 1339, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1356, | |
"end": 1374, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "tag", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "SUB", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "tag", | |
"source": 0, | |
"value": "26" | |
}, | |
{ | |
"begin": 432, | |
"end": 487, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 515, | |
"end": 522, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 515, | |
"end": 522, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 505, | |
"end": 511, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 505, | |
"end": 522, | |
"name": "GT", | |
"source": 0 | |
}, | |
{ | |
"begin": 505, | |
"end": 522, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"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": 497, | |
"end": 545, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 1587, | |
"end": 1589, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "ADD", | |
"source": 0 | |
}, | |
{ | |
"begin": 1569, | |
"end": 1590, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1626, | |
"end": 1628, | |
"name": "PUSH", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1606, | |
"end": 1624, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1599, | |
"end": 1629, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "496E73756666696369656E742066756E6473" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "PUSH", | |
"source": -1, | |
"value": "70" | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "SHL", | |
"source": -1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "PUSH", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1645, | |
"end": 1663, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1638, | |
"end": 1686, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "PUSH", | |
"source": 1, | |
"value": "64" | |
}, | |
{ | |
"begin": 1703, | |
"end": 1721, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "27" | |
}, | |
{ | |
"begin": 1385, | |
"end": 1727, | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "tag", | |
"source": 0, | |
"value": "29" | |
}, | |
{ | |
"begin": 497, | |
"end": 545, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"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": 564, | |
"end": 581, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8FC" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "MUL", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 582, | |
"end": 588, | |
"name": "DUP5", | |
"source": 0 | |
}, | |
{ | |
"begin": 582, | |
"end": 588, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 582, | |
"end": 588, | |
"name": "DUP6", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 581, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP9", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "CALL", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "SWAP4", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "RETURNDATACOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "RETURNDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "tag", | |
"source": 0, | |
"value": "33" | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 564, | |
"end": 589, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 641, | |
"end": 647, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 637, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 630, | |
"end": 637, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "35" | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "tag", | |
"source": 0, | |
"value": "34" | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 630, | |
"end": 647, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"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": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 358, | |
"end": 654, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "tag", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 14, | |
"end": 141, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 75, | |
"end": 85, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B71" | |
}, | |
{ | |
"begin": 70, | |
"end": 73, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 66, | |
"end": 86, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 63, | |
"end": 64, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 56, | |
"end": 87, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 106, | |
"end": 110, | |
"name": "PUSH", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 103, | |
"end": 104, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 96, | |
"end": 111, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 130, | |
"end": 134, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 127, | |
"end": 128, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 120, | |
"end": 135, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "tag", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 211, | |
"end": 220, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 232, | |
"end": 242, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 229, | |
"end": 265, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "tag", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 245, | |
"end": 263, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 146, | |
"end": 271, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 352, | |
"end": 358, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 360, | |
"end": 366, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 413, | |
"end": 415, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 401, | |
"end": 410, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 392, | |
"end": 399, | |
"name": "DUP6", | |
"source": 1 | |
}, | |
{ | |
"begin": 388, | |
"end": 411, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 384, | |
"end": 416, | |
"name": "SLT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 429, | |
"end": 430, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 426, | |
"end": 427, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 419, | |
"end": 431, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "tag", | |
"source": 1, | |
"value": "43" | |
}, | |
{ | |
"begin": 381, | |
"end": 433, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 452, | |
"end": 475, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 525, | |
"end": 527, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 510, | |
"end": 528, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 497, | |
"end": 529, | |
"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": 558, | |
"end": 589, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 558, | |
"end": 589, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 548, | |
"end": 590, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 604, | |
"end": 605, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 601, | |
"end": 602, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 594, | |
"end": 606, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "tag", | |
"source": 1, | |
"value": "44" | |
}, | |
{ | |
"begin": 538, | |
"end": 608, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 627, | |
"end": 632, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 617, | |
"end": 632, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 276, | |
"end": 638, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "tag", | |
"source": 1, | |
"value": "35" | |
}, | |
{ | |
"begin": 1732, | |
"end": 1860, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1799, | |
"end": 1808, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1820, | |
"end": 1831, | |
"name": "GT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1817, | |
"end": 1854, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "41" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "36" | |
}, | |
{ | |
"begin": 1834, | |
"end": 1852, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"FeeCollector.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"destAddr\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"FeeCollector.sol\":\"FeeCollector\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"FeeCollector.sol\":{\"keccak256\":\"0xa14c82482d0217d25b23ff8c85d84d3da606a6bd9aaa159b191dd8e915957bac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://14b9eb99449cd3c83608bdb2bd73aed668f6a882cbf3642b905aed41efbac140\",\"dweb:/ipfs/QmWJAPseovn91vv4L51nJkseyK7qVKatyfyu1k15E2sUWy\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 3, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "owner", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_address" | |
}, | |
{ | |
"astId": 5, | |
"contract": "FeeCollector.sol:FeeCollector", | |
"label": "balance", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_uint256" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"ast": { | |
"absolutePath": "FeeCollector.sol", | |
"exportedSymbols": { | |
"FeeCollector": [ | |
57 | |
] | |
}, | |
"id": 58, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FeeCollector", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 57, | |
"linearizedBaseContracts": [ | |
57 | |
], | |
"name": "FeeCollector", | |
"nameLocation": "66:12:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"functionSelector": "8da5cb5b", | |
"id": 3, | |
"mutability": "mutable", | |
"name": "owner", | |
"nameLocation": "100:5:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "85:20:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 2, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "85:7:0", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "b69ef8a8", | |
"id": 5, | |
"mutability": "mutable", | |
"name": "balance", | |
"nameLocation": "126:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 57, | |
"src": "111:22:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 4, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "111:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 13, | |
"nodeType": "Block", | |
"src": "158:77:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 11, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 8, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "168:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 9, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "176:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 10, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "180:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "176:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "168:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 12, | |
"nodeType": "ExpressionStatement", | |
"src": "168:18:0" | |
} | |
] | |
}, | |
"id": 14, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 6, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "155:2:0" | |
}, | |
"returnParameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "158:0:0" | |
}, | |
"scope": 57, | |
"src": "144:91:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 22, | |
"nodeType": "Block", | |
"src": "272:71:0", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 20, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 17, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "282:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"expression": { | |
"id": 18, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "293:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 19, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "297:5:0", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "293:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "282:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 21, | |
"nodeType": "ExpressionStatement", | |
"src": "282:20:0" | |
} | |
] | |
}, | |
"id": 23, | |
"implemented": true, | |
"kind": "receive", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "252:2:0" | |
}, | |
"returnParameters": { | |
"id": 16, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "272:0:0" | |
}, | |
"scope": 57, | |
"src": "245:98:0", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"body": { | |
"id": 55, | |
"nodeType": "Block", | |
"src": "422:232:0", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"id": 34, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"expression": { | |
"id": 31, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "440:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 32, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "444:6:0", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "440:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "==", | |
"rightExpression": { | |
"id": 33, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 3, | |
"src": "454:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"src": "440:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "4f6e6c79206f776e65722063616e207769746864726177", | |
"id": 35, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "461:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
}, | |
"value": "Only owner can withdraw" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_5e9f184f94ce24cc63fc5ec28c25b2861cda6fa2c12f36c889d1b47ea3eab6ac", | |
"typeString": "literal_string \"Only owner can withdraw\"" | |
} | |
], | |
"id": 30, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "432:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 36, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "432:55:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 37, | |
"nodeType": "ExpressionStatement", | |
"src": "432:55:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 41, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 39, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "505:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"id": 40, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "515:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "505:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"id": 42, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "524:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
}, | |
"value": "Insufficient funds" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d", | |
"typeString": "literal_string \"Insufficient funds\"" | |
} | |
], | |
"id": 38, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "497:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 43, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "497:48:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 44, | |
"nodeType": "ExpressionStatement", | |
"src": "497:48:0" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"id": 48, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "582:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"expression": { | |
"id": 45, | |
"name": "destAddr", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 27, | |
"src": "564:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"id": 47, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "573:8:0", | |
"memberName": "transfer", | |
"nodeType": "MemberAccess", | |
"src": "564:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 49, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "564:25:0", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 50, | |
"nodeType": "ExpressionStatement", | |
"src": "564:25:0" | |
}, | |
{ | |
"expression": { | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 51, | |
"name": "balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 5, | |
"src": "630:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"id": 52, | |
"name": "amount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 25, | |
"src": "641:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "630:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 54, | |
"nodeType": "ExpressionStatement", | |
"src": "630:17:0" | |
} | |
] | |
}, | |
"functionSelector": "00f714ce", | |
"id": 56, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "withdraw", | |
"nameLocation": "367:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 28, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "amount", | |
"nameLocation": "381:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "376:11:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "376:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "destAddr", | |
"nameLocation": "405:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 56, | |
"src": "389:24:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "389:15:0", | |
"stateMutability": "payable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address_payable", | |
"typeString": "address payable" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "375:39:0" | |
}, | |
"returnParameters": { | |
"id": 29, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "422:0:0" | |
}, | |
"scope": 57, | |
"src": "358:296:0", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 58, | |
"src": "57:599:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "0:656: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": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610288806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ea565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610203565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820181905260248201527f53616465636520736f7a6c65736d65207361686962692063656b6562696c697260448201526064015b60405180910390fd5b6001548211156101825760405162461bcd60e51b815260206004820152601060248201526f596574657273697a2062616b6979652160801b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101b8573d6000803e3d6000fd5b5081600160008282546101cb919061023f565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101fd576101fd6101d4565b92915050565b6000806040838503121561021657600080fd5b8235915060208301356001600160a01b038116811461023457600080fd5b809150509250929050565b818103818111156101fd576101fd6101d456fea2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x288 DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x203 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53616465636520736F7A6C65736D65207361686962692063656B6562696C6972 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x596574657273697A2062616B69796521 PUSH1 0x80 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x23F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH24 0x55CA28C7F9759B10143874033AC6BB6C3C442EBFC9215F37 0xD 0xCA DUP4 BYTE PUSH17 0x9764736F6C634300081100330000000000 ", | |
"sourceMap": "57:533:0:-:0;;;144:91;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:533;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 490, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 575, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 468, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1869:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:182:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1297:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1308:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1293:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1293:18:1" | |
}, | |
{ | |
"hexValue": "53616465636520736f7a6c65736d65207361686962692063656b6562696c6972", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1313:34:1", | |
"type": "", | |
"value": "Sadece sozlesme sahibi cekebilir" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1286:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1286:62:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1286:62:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1357:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1369:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1380:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1365:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1365:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1357:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:356:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1568:166:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1585:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1596:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1578:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1578:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1578:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1619:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1630:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1615:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1615:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1635:2:1", | |
"type": "", | |
"value": "16" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1608:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1608:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1608:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1658:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1669:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1654:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1654:18:1" | |
}, | |
{ | |
"hexValue": "596574657273697a2062616b69796521", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1674:18:1", | |
"type": "", | |
"value": "Yetersiz bakiye!" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1647:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1647:46:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1647:46:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1702:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1714:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1725:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1710:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1710:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1702:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1545:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1559:4:1", | |
"type": "" | |
} | |
], | |
"src": "1394:340:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1788:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1798:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1810:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1813:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1806:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1806:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1798:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1839:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1841:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1841:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1841:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1830:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1836:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1827:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1827:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1824:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1770:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1773:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1779:4:1", | |
"type": "" | |
} | |
], | |
"src": "1739:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_6239485ffa69551f0b871ffa5edcee9439c7cb3f5b0df1ae40f27e8da3842c95__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Sadece sozlesme sahibi cekebilir\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_bbbe5ad5a5cbf315ca3fbd0129598ad54bbafcf5cfd6d014e0322247f039e86f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Yetersiz bakiye!\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101ea565b925050819055005b600080fd5b34801561006757600080fd5b5061007b610076366004610203565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b0316331461013d5760405162461bcd60e51b815260206004820181905260248201527f53616465636520736f7a6c65736d65207361686962692063656b6562696c697260448201526064015b60405180910390fd5b6001548211156101825760405162461bcd60e51b815260206004820152601060248201526f596574657273697a2062616b6979652160801b6044820152606401610134565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101b8573d6000803e3d6000fd5b5081600160008282546101cb919061023f565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101fd576101fd6101d4565b92915050565b6000806040838503121561021657600080fd5b8235915060208301356001600160a01b038116811461023457600080fd5b809150509250929050565b818103818111156101fd576101fd6101d456fea2646970667358221220d17755ca28c7f9759b10143874033ac6bb6c3c442ebfc9215f370dca831a709764736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1EA JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x203 JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53616465636520736F7A6C65736D65207361686962692063656B6562696C6972 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x182 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x596574657273697A2062616B69796521 PUSH1 0x80 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x23F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x216 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1FD JUMPI PUSH2 0x1FD PUSH2 0x1D4 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 PUSH24 0x55CA28C7F9759B10143874033AC6BB6C3C442EBFC9215F37 0xD 0xCA DUP4 BYTE PUSH17 0x9764736F6C634300081100330000000000 ", | |
"sourceMap": "57:533:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:9;282:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:533;;;;325:263;;;;;;;;;;-1:-1:-1;325:263:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;325:263:0;421:5;;-1:-1:-1;;;;;421:5:0;407:10;:19;399:64;;;;-1:-1:-1;;;399:64:0;;1235:2:1;399:64:0;;;1217:21:1;;;1254:18;;;1247:30;1313:34;1293:18;;;1286:62;1365:18;;399:64:0;;;;;;;;;491:7;;481:6;:17;;473:46;;;;-1:-1:-1;;;473:46:0;;1596:2:1;473:46:0;;;1578:21:1;1635:2;1615:18;;;1608:30;-1:-1:-1;;;1654:18:1;;;1647:46;1710:18;;473:46:0;1394:340:1;473:46:0;529:25;;-1:-1:-1;;;;;529:17:0;;;:25;;;;;547:6;;529:25;;;;547:6;529:17;:25;;;;;;;;;;;;;;;;;;;;;575:6;564:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;325:263:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1739:128::-;1806:9;;;1827:11;;;1824:37;;;1841:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "129600", | |
"executionCost": "24412", | |
"totalCost": "154012" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"balance()": "b69ef8a8", | |
"owner()": "8da5cb5b", | |
"withdraw(uint256,address)": "00f714ce" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
] | |
} |
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.17+commit.8df45f5f" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"FeeCollector.sol": "FeeCollector" | |
}, | |
"evmVersion": "london", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": true, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"FeeCollector.sol": { | |
"keccak256": "0xa306c1666bb709f53166253f4ed8bdf621f89c5aea86718e6e6c03de170e3ebf", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://6bc401a29efe593dd3f7e81c1b451d61d767f938505f1b4543e5cca8a321fecc", | |
"dweb:/ipfs/Qme6oW1CSmLuUFJ389Y8ZJqBJYnfSh3BrLbc7bDP5i3XCF" | |
] | |
} | |
}, | |
"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
pragma solidity ^0.8.7; | |
// SPDX-License-Identifier: MIT | |
contract FeeCollector { | |
address public owner; | |
uint256 public balance; | |
constructor() { | |
owner = msg.sender; // sözleşmeyi dağıtan adres bilgileri | |
} | |
receive() payable external { | |
balance += msg.value; | |
} | |
function withdraw(uint amount, address payable destAddr) public { | |
require(msg.sender == owner, "Sadece sozlesme sahibi cekebilir"); | |
require(amount <= balance, "Yetersiz bakiye!"); | |
destAddr.transfer(amount); | |
balance -= amount; | |
} | |
} |
This file has been truncated, but you can view the full file.
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": "d87f0491e64b091105a27c68506551e2", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.17", | |
"solcLongVersion": "0.8.17+commit.8df45f5f", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"FeeCollector.sol": { | |
"content": "pragma solidity ^0.8.7;\n// SPDX-License-Identifier: MIT\n\ncontract FeeCollector {\n address public owner;\n uint256 public balance;\n \n constructor() {\n owner = msg.sender; // sözleşmeyi dağıtan adres bilgileri\n }\n \n receive() payable external {\n balance += msg.value; \n }\n \n \n function withdraw(uint amount, address payable destAddr) public {\n require(msg.sender == owner, \"Sadece \");\n require(amount <= balance, \"Insufficient funds\");\n \n destAddr.transfer(amount); // send funds to given address\n balance -= amount;\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": { | |
"FeeCollector.sol": { | |
"FeeCollector": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "balance", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "owner", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "amount", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "address payable", | |
"name": "destAddr", | |
"type": "address" | |
} | |
], | |
"name": "withdraw", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
}, | |
{ | |
"stateMutability": "payable", | |
"type": "receive" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"FeeCollector.sol\":57:607 contract FeeCollector {... */\n mstore(0x40, 0x80)\n /* \"FeeCollector.sol\":144:235 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"FeeCollector.sol\":168:173 owner */\n 0x00\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n dup1\n sload\n not(sub(shl(0xa0, 0x01), 0x01))\n and\n /* \"FeeCollector.sol\":176:186 msg.sender */\n caller\n /* \"FeeCollector.sol\":168:186 owner = msg.sender */\n or\n swap1\n sstore\n /* \"FeeCollector.sol\":57:607 contract FeeCollector {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"FeeCollector.sol\":57:607 contract FeeCollector {... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xf714ce\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xb69ef8a8\n eq\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n jumpi(tag_2, calldatasize)\n /* \"FeeCollector.sol\":293:302 msg.value */\n callvalue\n /* \"FeeCollector.sol\":282:289 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":282:302 balance += msg.value */\n dup3\n dup3\n sload\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n stop\n /* \"FeeCollector.sol\":57:607 contract FeeCollector {... */\n tag_2:\n 0x00\n dup1\n revert\n /* \"FeeCollector.sol\":325:605 function withdraw(uint amount, address payable destAddr) public {... */\n tag_3:\n callvalue\n dup1\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n pop\n tag_11\n tag_12\n calldatasize\n 0x04\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n stop\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n sload(0x00)\n tag_16\n swap1\n sub(shl(0xa0, 0x01), 0x01)\n and\n dup2\n jump\n tag_16:\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":807:839 */\n swap1\n swap2\n and\n /* \"#utility.yul\":789:840 */\n dup2\n mstore\n /* \"#utility.yul\":777:779 */\n 0x20\n /* \"#utility.yul\":762:780 */\n add\n /* \"FeeCollector.sol\":85:105 address public owner */\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_5:\n callvalue\n dup1\n iszero\n tag_20\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n pop\n tag_21\n sload(0x01)\n dup2\n jump\n tag_21:\n mload(0x40)\n /* \"#utility.yul\":997:1022 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":985:987 */\n 0x20\n /* \"#utility.yul\":970:988 */\n add\n /* \"FeeCollector.sol\":111:133 uint256 public balance */\n tag_18\n /* \"#utility.yul\":851:1028 */\n jump\n /* \"FeeCollector.sol\":325:605 function withdraw(uint amount, address payable destAddr) public {... */\n tag_14:\n /* \"FeeCollector.sol\":421:426 owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x00))\n /* \"FeeCollector.sol\":407:417 msg.sender */\n caller\n /* \"FeeCollector.sol\":407:426 msg.sender == owner */\n eq\n /* \"FeeCollector.sol\":399:438 require(msg.sender == owner, \"Sadece \") */\n tag_26\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1235:1237 */\n 0x20\n /* \"FeeCollector.sol\":399:438 require(msg.sender == owner, \"Sadece \") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1217:1238 */\n mstore\n /* \"#utility.yul\":1274:1275 */\n 0x07\n /* \"#utility.yul\":1254:1272 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1247:1276 */\n mstore\n shl(0xcd, 0x029b0b232b1b29)\n /* \"#utility.yul\":1292:1310 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1285:1322 */\n mstore\n /* \"#utility.yul\":1339:1357 */\n 0x64\n add\n /* \"FeeCollector.sol\":399:438 require(msg.sender == owner, \"Sadece \") */\n tag_27:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_26:\n /* \"FeeCollector.sol\":466:473 balance */\n sload(0x01)\n /* \"FeeCollector.sol\":456:462 amount */\n dup3\n /* \"FeeCollector.sol\":456:473 amount <= balance */\n gt\n iszero\n /* \"FeeCollector.sol\":448:496 require(amount <= balance, \"Insufficient funds\") */\n tag_29\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":1570:1572 */\n 0x20\n /* \"FeeCollector.sol\":448:496 require(amount <= balance, \"Insufficient funds\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":1552:1573 */\n mstore\n /* \"#utility.yul\":1609:1611 */\n 0x12\n /* \"#utility.yul\":1589:1607 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":1582:1612 */\n mstore\n shl(0x70, 0x496e73756666696369656e742066756e6473)\n /* \"#utility.yul\":1628:1646 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":1621:1669 */\n mstore\n /* \"#utility.yul\":1686:1704 */\n 0x64\n add\n /* \"FeeCollector.sol\":448:496 require(amount <= balance, \"Insufficient funds\") */\n tag_27\n /* \"#utility.yul\":1368:1710 */\n jump\n /* \"FeeCollector.sol\":448:496 require(amount <= balance, \"Insufficient funds\") */\n tag_29:\n /* \"FeeCollector.sol\":515:540 destAddr.transfer(amount) */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"FeeCollector.sol\":515:532 destAddr.transfer */\n dup3\n and\n swap1\n /* \"FeeCollector.sol\":515:540 destAddr.transfer(amount) */\n dup4\n iszero\n 0x08fc\n mul\n swap1\n /* \"FeeCollector.sol\":533:539 amount */\n dup5\n swap1\n /* \"FeeCollector.sol\":515:540 destAddr.transfer(amount) */\n 0x00\n dup2\n dup2\n dup2\n /* \"FeeCollector.sol\":533:539 amount */\n dup6\n /* \"FeeCollector.sol\":515:532 destAddr.transfer */\n dup9\n /* \"FeeCollector.sol\":515:540 destAddr.transfer(amount) */\n dup9\n call\n swap4\n pop\n pop\n pop\n pop\n iszero\n dup1\n iszero\n tag_33\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_33:\n pop\n /* \"FeeCollector.sol\":592:598 amount */\n dup2\n /* \"FeeCollector.sol\":581:588 balance */\n 0x01\n 0x00\n /* \"FeeCollector.sol\":581:598 balance -= amount */\n dup3\n dup3\n sload\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n swap1\n swap2\n sstore\n pop\n pop\n pop\n pop\n /* \"FeeCollector.sol\":325:605 function withdraw(uint amount, address payable destAddr) public {... */\n jump\t// out\n /* \"#utility.yul\":14:141 */\n tag_36:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x11\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:271 */\n tag_9:\n /* \"#utility.yul\":211:220 */\n dup1\n dup3\n add\n /* \"#utility.yul\":232:242 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":229:265 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":245:263 */\n tag_41\n tag_36\n jump\t// in\n tag_41:\n /* \"#utility.yul\":146:271 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":276:638 */\n tag_13:\n /* \"#utility.yul\":352:358 */\n 0x00\n /* \"#utility.yul\":360:366 */\n dup1\n /* \"#utility.yul\":413:415 */\n 0x40\n /* \"#utility.yul\":401:410 */\n dup4\n /* \"#utility.yul\":392:399 */\n dup6\n /* \"#utility.yul\":388:411 */\n sub\n /* \"#utility.yul\":384:416 */\n slt\n /* \"#utility.yul\":381:433 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":429:430 */\n 0x00\n /* \"#utility.yul\":426:427 */\n dup1\n /* \"#utility.yul\":419:431 */\n revert\n /* \"#utility.yul\":381:433 */\n tag_43:\n /* \"#utility.yul\":452:475 */\n dup3\n calldataload\n swap2\n pop\n /* \"#utility.yul\":525:527 */\n 0x20\n /* \"#utility.yul\":510:528 */\n dup4\n add\n /* \"#utility.yul\":497:529 */\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":558:589 */\n dup2\n and\n /* \"#utility.yul\":548:590 */\n dup2\n eq\n /* \"#utility.yul\":538:608 */\n tag_44\n jumpi\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":601:602 */\n dup1\n /* \"#utility.yul\":594:606 */\n revert\n /* \"#utility.yul\":538:608 */\n tag_44:\n /* \"#utility.yul\":627:632 */\n dup1\n /* \"#utility.yul\":617:632 */\n swap2\n pop\n pop\n /* \"#utility.yul\":276:638 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1715:1843 */\n tag_35:\n /* \"#utility.yul\":1782:1791 */\n dup2\n dup2\n sub\n /* \"#utility.yul\":1803:1814 */\n dup2\n dup2\n gt\n /* \"#utility.yul\":1800:1837 */\n iszero\n tag_41\n jumpi\n /* \"#utility.yul\":1817:1835 */\n tag_41\n tag_36\n jump\t// in\n\n auxdata: 0xa2646970667358221220bf70dd0d83a9c86a649547bce4dc93f2555d20b780ad11808223f2600980bb6664736f6c63430008110033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_14": { | |
"entryPoint": null, | |
"id": 14, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610274806100326000396000f3fe6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101d6565b925050819055005b600080fd5b34801561006757600080fd5b5061007b6100763660046101ef565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b031633146101275760405162461bcd60e51b8152602060048201526007602482015266029b0b232b1b2960cd1b60448201526064015b60405180910390fd5b60015482111561016e5760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b604482015260640161011e565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101a4573d6000803e3d6000fd5b5081600160008282546101b7919061022b565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101e9576101e96101c0565b92915050565b6000806040838503121561020257600080fd5b8235915060208301356001600160a01b038116811461022057600080fd5b809150509250929050565b818103818111156101e9576101e96101c056fea2646970667358221220bf70dd0d83a9c86a649547bce4dc93f2555d20b780ad11808223f2600980bb6664736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE PUSH2 0x274 DUP1 PUSH2 0x32 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x1EF JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x29B0B232B1B29 PUSH1 0xCD SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x16E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x11E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1A4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1E9 JUMPI PUSH2 0x1E9 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x202 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1E9 JUMPI PUSH2 0x1E9 PUSH2 0x1C0 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBF PUSH17 0xDD0D83A9C86A649547BCE4DC93F2555D20 0xB7 DUP1 0xAD GT DUP1 DUP3 0x23 CALLCODE PUSH1 0x9 DUP1 0xBB PUSH7 0x64736F6C634300 ADDMOD GT STOP CALLER ", | |
"sourceMap": "57:550:0:-:0;;;144:91;;;;;;;;;-1:-1:-1;168:5:0;:18;;-1:-1:-1;;;;;;168:18:0;176:10;168:18;;;57:550;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@_23": { | |
"entryPoint": null, | |
"id": 23, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@balance_5": { | |
"entryPoint": null, | |
"id": 5, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@owner_3": { | |
"entryPoint": null, | |
"id": 3, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@withdraw_56": { | |
"entryPoint": 222, | |
"id": 56, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256t_address_payable": { | |
"entryPoint": 495, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 2 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_32b82e662b3c10720301c00155de4eee28dc52f8fea8f95cd96d124d988d92c7__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_add_t_uint256": { | |
"entryPoint": 470, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_sub_t_uint256": { | |
"entryPoint": 555, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 448, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:1845:1", | |
"statements": [ | |
{ | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "46:95:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "63:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "70:3:1", | |
"type": "", | |
"value": "224" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "75:10:1", | |
"type": "", | |
"value": "0x4e487b71" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "66:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "66:20:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "56:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "56:31:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "56:31:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "103:1:1", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "106:4:1", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "96:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "96:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "96:15:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "127:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "130:4:1", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "120:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "120:15:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "120:15:1" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "14:127:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "194:77:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "204:16:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "215:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "218:1:1" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "211:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "211:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "204:3:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "243:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "245:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "245:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "245:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "235:1:1" | |
}, | |
{ | |
"name": "sum", | |
"nodeType": "YulIdentifier", | |
"src": "238:3:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "232:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "232:10:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "229:36:1" | |
} | |
] | |
}, | |
"name": "checked_add_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "177:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "180:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "sum", | |
"nodeType": "YulTypedName", | |
"src": "186:3:1", | |
"type": "" | |
} | |
], | |
"src": "146:125:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "371:267:1", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "417:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "426:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "429:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "419:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "419:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "419:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "392:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "401:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "388:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "388:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "413:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "384:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "384:32:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "381:52:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "442:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "465:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "452:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "452:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "442:6:1" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "484:45:1", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "514:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "525:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "510:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "510:18:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "497:12:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "497:32:1" | |
}, | |
"variables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "488:5:1", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "592:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "601:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "604:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "594:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "594:12:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "594:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "551:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "562:5:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "577:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "582:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "573:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "573:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "586:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "569:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "569:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "558:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "558:31:1" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "548:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "548:42:1" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "541:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "541:50:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "538:70:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "617:15:1", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "627:5:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "617:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256t_address_payable", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "329:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "340:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "352:6:1", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "360:6:1", | |
"type": "" | |
} | |
], | |
"src": "276:362:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "744:102:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "754:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "766:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "777:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "762:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "762:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "754:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "796:9:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "811:6:1" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "827:3:1", | |
"type": "", | |
"value": "160" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "832:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "shl", | |
"nodeType": "YulIdentifier", | |
"src": "823:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "823:11:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "836:1:1", | |
"type": "", | |
"value": "1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "819:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "819:19:1" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "807:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "807:32:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "789:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "789:51:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "789:51:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "713:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "724:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "735:4:1", | |
"type": "" | |
} | |
], | |
"src": "643:203:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "952:76:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "962:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "974:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "985:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "970:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "970:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "962:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1004:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1015:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "997:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "997:25:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "997:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "921:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "932:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "943:4:1", | |
"type": "" | |
} | |
], | |
"src": "851:177:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1207:156:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1224:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1235:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1217:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1217:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1258:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1269:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1254:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1254:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1274:1:1", | |
"type": "", | |
"value": "7" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1247:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1247:29:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1247:29:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1296:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1307:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1292:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1292:18:1" | |
}, | |
{ | |
"hexValue": "53616465636520", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1312:9:1", | |
"type": "", | |
"value": "Sadece " | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1285:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1285:37:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1285:37:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1331:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1343:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1354:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1339:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1339:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1331:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_32b82e662b3c10720301c00155de4eee28dc52f8fea8f95cd96d124d988d92c7__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1184:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1198:4:1", | |
"type": "" | |
} | |
], | |
"src": "1033:330:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1542:168:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1559:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1570:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1552:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1552:21:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1552:21:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1593:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1604:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1589:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1589:18:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1609:2:1", | |
"type": "", | |
"value": "18" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1582:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1582:30:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1582:30:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1632:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1643:2:1", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1628:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1628:18:1" | |
}, | |
{ | |
"hexValue": "496e73756666696369656e742066756e6473", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "1648:20:1", | |
"type": "", | |
"value": "Insufficient funds" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1621:6:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1621:48:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1621:48:1" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1678:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1690:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1701:2:1", | |
"type": "", | |
"value": "96" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1686:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1686:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1678:4:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1519:9:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1533:4:1", | |
"type": "" | |
} | |
], | |
"src": "1368:342:1" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1764:79:1", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1774:17:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1786:1:1" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "1789:1:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1782:3:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1782:9:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1774:4:1" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1815:22:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "1817:16:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1817:18:1" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1817:18:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulIdentifier", | |
"src": "1806:4:1" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "1812:1:1" | |
} | |
], | |
"functionName": { | |
"name": "gt", | |
"nodeType": "YulIdentifier", | |
"src": "1803:2:1" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1803:11:1" | |
}, | |
"nodeType": "YulIf", | |
"src": "1800:37:1" | |
} | |
] | |
}, | |
"name": "checked_sub_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "1746:1:1", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "1749:1:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "diff", | |
"nodeType": "YulTypedName", | |
"src": "1755:4:1", | |
"type": "" | |
} | |
], | |
"src": "1715:128:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256t_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\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 function abi_encode_tuple_t_stringliteral_32b82e662b3c10720301c00155de4eee28dc52f8fea8f95cd96d124d988d92c7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 7)\n mstore(add(headStart, 64), \"Sadece \")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_63452317cb6d597bef833f023ed2962a84dbd24c571e27629ed1e3056d6cfd8d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Insufficient funds\")\n tail := add(headStart, 96)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052600436106100375760003560e01c8062f714ce1461005b5780638da5cb5b1461007d578063b69ef8a8146100ba57600080fd5b3661005657346001600082825461004e91906101d6565b925050819055005b600080fd5b34801561006757600080fd5b5061007b6100763660046101ef565b6100de565b005b34801561008957600080fd5b5060005461009d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100c657600080fd5b506100d060015481565b6040519081526020016100b1565b6000546001600160a01b031633146101275760405162461bcd60e51b8152602060048201526007602482015266029b0b232b1b2960cd1b60448201526064015b60405180910390fd5b60015482111561016e5760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b604482015260640161011e565b6040516001600160a01b0382169083156108fc029084906000818181858888f193505050501580156101a4573d6000803e3d6000fd5b5081600160008282546101b7919061022b565b90915550505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101e9576101e96101c0565b92915050565b6000806040838503121561020257600080fd5b8235915060208301356001600160a01b038116811461022057600080fd5b809150509250929050565b818103818111156101e9576101e96101c056fea2646970667358221220bf70dd0d83a9c86a649547bce4dc93f2555d20b780ad11808223f2600980bb6664736f6c63430008110033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x37 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF714CE EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB69EF8A8 EQ PUSH2 0xBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x56 JUMPI CALLVALUE PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x1D6 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x1EF JUMP JUMPDEST PUSH2 0xDE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x9D SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD0 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xB1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x127 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x7 PUSH1 0x24 DUP3 ADD MSTORE PUSH7 0x29B0B232B1B29 PUSH1 0xCD SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD DUP3 GT ISZERO PUSH2 0x16E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E73756666696369656E742066756E6473 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x11E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 DUP4 ISZERO PUSH2 0x8FC MUL SWAP1 DUP5 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1A4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP DUP2 PUSH1 0x1 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1B7 SWAP2 SWAP1 PUSH2 0x22B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x1E9 JUMPI PUSH2 0x1E9 PUSH2 0x1C0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x202 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x220 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x1E9 JUMPI PUSH2 0x1E9 PUSH2 0x1C0 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBF PUSH17 0xDD0D83A9C86A649547BCE4DC93F2555D20 0xB7 DUP1 0xAD GT DUP1 DUP3 0x23 CALLCODE PUSH1 0x9 DUP1 0xBB PUSH7 0x64736F6C634300 ADDMOD GT STOP CALLER ", | |
"sourceMap": "57:550:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:9;282:7;;:20;;;;;;;:::i;:::-;;;;;;;;57:550;;;;325:280;;;;;;;;;;-1:-1:-1;325:280:0;;;;;:::i;:::-;;:::i;:::-;;85:20;;;;;;;;;;-1:-1:-1;85:20:0;;;;-1:-1:-1;;;;;85:20:0;;;;;;-1:-1:-1;;;;;807:32:1;;;789:51;;777:2;762:18;85:20:0;;;;;;;;111:22;;;;;;;;;;;;;;;;;;;997:25:1;;;985:2;970:18;111:22:0;851:177:1;325:280:0;421:5;;-1:-1:-1;;;;;421:5:0;407:10;:19;399:39;;;;-1:-1:-1;;;399:39:0;;1235:2:1;399:39:0;;;1217:21:1;1274:1;1254:18;;;1247:29;-1:-1:-1;;;1292:18:1;;;1285:37;1339:18;;399:39:0;;;;;;;;;466:7;;456:6;:17;;448:48;;;;-1:-1:-1;;;448:48:0;;1570:2:1;448:48:0;;;1552:21:1;1609:2;1589:18;;;1582:30;-1:-1:-1;;;1628:18:1;;;1621:48;1686:18;;448:48:0;1368:342:1;448:48:0;515:25;;-1:-1:-1;;;;;515:17:0;;;:25;;;;;533:6;;515:25;;;;533:6;515:17;:25;;;;;;;;;;;;;;;;;;;;;592:6;581:7;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;325:280:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;211:9;;;232:10;;;229:36;;;245:18;;:::i;:::-;146:125;;;;:::o;276:362::-;352:6;360;413:2;401:9;392:7;388:23;384:32;381:52;;;429:1;426;419:12;381:52;452:23;;;-1:-1:-1;525:2:1;510:18;;497:32;-1:-1:-1;;;;;558:31:1;;548:42;;538:70;;604:1;601;594:12;538:70;627:5;617:15;;;276:362;;;;;:::o;1715:128::-;1782:9;;;1803:11;;;1800:37;;;1817:18;;:::i" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "125600", | |
"executionCost": "24406", | |
"totalCost": "150006" | |
}, | |
"external": { | |
"balance()": "2317", | |
"owner()": "2326", | |
"withdraw(uint256,address)": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 144, | |
"end": 235, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 173, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SLOAD", | |
"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": -1, | |
"end": -1, | |
"name": "NOT", | |
"source": -1 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 176, | |
"end": 186, | |
"name": "CALLER", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "OR", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 168, | |
"end": 186, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH #[$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [$]", | |
"source": 0, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "CODECOPY", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "RETURN", | |
"source": 0 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a2646970667358221220bf70dd0d83a9c86a649547bce4dc93f2555d20b780ad11808223f2600980bb6664736f6c63430008110033", | |
".code": [ | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "80" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "MSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "LT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "CALLDATALOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "E0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "SHR", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "F714CE" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "8DA5CB5B" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "B69EF8A8" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "EQ", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "5" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "tag", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 293, | |
"end": 302, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "1" | |
}, | |
{ | |
"begin": 282, | |
"end": 289, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "9" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "tag", | |
"source": 0, | |
"value": "8" | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP3", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "POP", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SWAP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "SSTORE", | |
"source": 0 | |
}, | |
{ | |
"begin": 282, | |
"end": 302, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "tag", | |
"source": 0, | |
"value": "2" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 57, | |
"end": 607, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "tag", | |
"source": 0, | |
"value": "3" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "tag", | |
"source": 0, | |
"value": "10" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "CALLDATASIZE", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "13" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "tag", | |
"source": 0, | |
"value": "12" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "14" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "tag", | |
"source": 0, | |
"value": "11" | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 325, | |
"end": 605, | |
"name": "STOP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "4" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "CALLVALUE", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "ISZERO", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPI", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "REVERT", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "15" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": -1, | |
"end": -1, | |
"name": "POP", | |
"source": -1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "0" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH [tag]", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP1", | |
"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": 85, | |
"end": 105, | |
"name": "AND", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP2", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMP", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "16" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"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": 807, | |
"end": 839, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 807, | |
"end": 839, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 789, | |
"end": 840, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 777, | |
"end": 779, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 762, | |
"end": 780, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "tag", | |
"source": 0, | |
"value": "18" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "JUMPDEST", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "PUSH", | |
"source": 0, | |
"value": "40" | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "MLOAD", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "DUP1", | |
"source": 0 | |
}, | |
{ | |
"begin": 85, | |
"end": 105, | |
"name": "SWAP2", | |
"source": 0 |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment