{ "id": "dd3f7255f2eb519b7d3a2c51141b8ce4", "_format": "hh-sol-build-info-1", "solcVersion": "0.4.17", "solcLongVersion": "0.4.17+commit.bdeb9e52", "input": { "language": "Solidity", "sources": { "contracts/kick.sol": { "content": "pragma solidity ^0.4.17;\ncontract Campaign {\n address public manager ;\n uint public minimumContribution ;\n address[] public approvers ;\n\n function Campaign(uint minimum ) public {\n manager = msg.sender;\n minimumContribution = minimum;\n }\n function contribute() public payable {\n require(msg.value > minimumContribution);\n approvers.push(msg.sender); \n }\n}" } }, "settings": { "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "": [ "ast" ], "*": [ "abi", "metadata", "devdoc", "userdoc", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly" ] } } } }, "output": { "contracts": { "contracts/kick.sol": { "Campaign": { "abi": [ { "constant": true, "inputs": [], "name": "manager", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "minimumContribution", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "uint256" } ], "name": "approvers", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "contribute", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "inputs": [ { "name": "minimum", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "methods": {} }, "evm": { "assembly": " /* \"contracts/kick.sol\":25:416 contract Campaign {... */\n mstore(0x40, 0x60)\n /* \"contracts/kick.sol\":149:265 function Campaign(uint minimum ) public {... */\n jumpi(tag_1, iszero(callvalue))\n 0x0\n dup1\n revert\ntag_1:\n mload(0x40)\n 0x20\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n 0x40\n mstore\n dup1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n /* \"contracts/kick.sol\":209:219 msg.sender */\n caller\n /* \"contracts/kick.sol\":199:206 manager */\n 0x0\n dup1\n /* \"contracts/kick.sol\":199:219 manager = msg.sender */\n 0x100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/kick.sol\":251:258 minimum */\n dup1\n /* \"contracts/kick.sol\":229:248 minimumContribution */\n 0x1\n /* \"contracts/kick.sol\":229:258 minimumContribution = minimum */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/kick.sol\":149:265 function Campaign(uint minimum ) public {... */\n pop\n /* \"contracts/kick.sol\":25:416 contract Campaign {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x0\n codecopy\n 0x0\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/kick.sol\":25:416 contract Campaign {... */\n mstore(0x40, 0x60)\n calldataload(0x0)\n 0x100000000000000000000000000000000000000000000000000000000\n swap1\n div\n 0xffffffff\n and\n dup1\n 0x481c6a75\n eq\n tag_2\n jumpi\n dup1\n 0x937e09b1\n eq\n tag_3\n jumpi\n dup1\n 0xd3650fb8\n eq\n tag_4\n jumpi\n dup1\n 0xd7bb99ba\n eq\n tag_5\n jumpi\n 0x0\n dup1\n revert\n /* \"contracts/kick.sol\":49:71 address public manager */\n tag_2:\n jumpi(tag_6, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_6:\n tag_7\n jump(tag_8)\n tag_7:\n mload(0x40)\n dup1\n dup3\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/kick.sol\":78:109 uint public minimumContribution */\n tag_3:\n jumpi(tag_9, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_9:\n tag_10\n jump(tag_11)\n tag_10:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/kick.sol\":116:142 address[] public approvers */\n tag_4:\n jumpi(tag_12, iszero(callvalue))\n 0x0\n dup1\n revert\n tag_12:\n tag_13\n 0x4\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap2\n swap1\n pop\n pop\n jump(tag_14)\n tag_13:\n mload(0x40)\n dup1\n dup3\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/kick.sol\":270:414 function contribute() public payable {... */\n tag_5:\n tag_15\n jump(tag_16)\n tag_15:\n stop\n /* \"contracts/kick.sol\":49:71 address public manager */\n tag_8:\n 0x0\n dup1\n swap1\n sload\n swap1\n 0x100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/kick.sol\":78:109 uint public minimumContribution */\n tag_11:\n sload(0x1)\n dup2\n jump\t// out\n /* \"contracts/kick.sol\":116:142 address[] public approvers */\n tag_14:\n 0x2\n dup2\n dup2\n sload\n dup2\n lt\n iszero\n iszero\n tag_17\n jumpi\n invalid\n tag_17:\n swap1\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n add\n 0x0\n swap2\n pop\n sload\n swap1\n 0x100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/kick.sol\":270:414 function contribute() public payable {... */\n tag_16:\n /* \"contracts/kick.sol\":341:360 minimumContribution */\n sload(0x1)\n /* \"contracts/kick.sol\":329:338 msg.value */\n callvalue\n /* \"contracts/kick.sol\":329:360 msg.value > minimumContribution */\n gt\n /* \"contracts/kick.sol\":321:361 require(msg.value > minimumContribution) */\n iszero\n iszero\n tag_20\n jumpi\n 0x0\n dup1\n revert\n tag_20:\n /* \"contracts/kick.sol\":375:384 approvers */\n 0x2\n /* \"contracts/kick.sol\":375:401 approvers.push(msg.sender) */\n dup1\n sload\n dup1\n 0x1\n add\n dup3\n dup2\n tag_21\n swap2\n swap1\n jump\t// in(tag_22)\n tag_21:\n swap2\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap1\n add\n 0x0\n /* \"contracts/kick.sol\":390:400 msg.sender */\n caller\n /* \"contracts/kick.sol\":375:401 approvers.push(msg.sender) */\n swap1\n swap2\n swap1\n swap2\n 0x100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n pop\n /* \"contracts/kick.sol\":270:414 function contribute() public payable {... */\n jump\t// out\n /* \"contracts/kick.sol\":25:416 contract Campaign {... */\n tag_22:\n dup2\n sload\n dup2\n dup4\n sstore\n dup2\n dup2\n iszero\n gt\n tag_24\n jumpi\n dup2\n dup4\n 0x0\n mstore\n keccak256(0x0, 0x20)\n swap2\n dup3\n add\n swap2\n add\n tag_25\n swap2\n swap1\n jump\t// in(tag_26)\n tag_25:\n tag_24:\n pop\n pop\n pop\n jump\t// out\n tag_26:\n tag_27\n swap2\n swap1\n tag_28:\n dup1\n dup3\n gt\n iszero\n tag_29\n jumpi\n 0x0\n dup2\n 0x0\n swap1\n sstore\n pop\n 0x1\n add\n jump(tag_28)\n tag_29:\n pop\n swap1\n jump\n tag_27:\n swap1\n jump\t// out\n\n auxdata: 0xa165627a7a723058201644981c2da1e2b08988f69cc1be60c498aceb46c44c6c479bee52c8f3ce3bbb0029\n}\n", "bytecode": { "linkReferences": {}, "object": "6060604052341561000f57600080fd5b60405160208061032783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550506102a5806100826000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063481c6a751461005e578063937e09b1146100b3578063d3650fb8146100dc578063d7bb99ba1461013f57600080fd5b341561006957600080fd5b610071610149565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100be57600080fd5b6100c661016e565b6040518082815260200191505060405180910390f35b34156100e757600080fd5b6100fd6004808035906020019091905050610174565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101476101b3565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60028181548110151561018357fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600154341115156101c357600080fd5b600280548060010182816101d79190610228565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81548183558181151161024f5781836000526020600020918201910161024e9190610254565b5b505050565b61027691905b8082111561027257600081600090555060010161025a565b5090565b905600a165627a7a723058201644981c2da1e2b08988f69cc1be60c498aceb46c44c6c479bee52c8f3ce3bbb0029", "opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE CALLVALUE ISZERO PUSH2 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 PUSH2 0x327 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP PUSH2 0x2A5 DUP1 PUSH2 0x82 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x481C6A75 EQ PUSH2 0x5E JUMPI DUP1 PUSH4 0x937E09B1 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xD3650FB8 EQ PUSH2 0xDC JUMPI DUP1 PUSH4 0xD7BB99BA EQ PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x71 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6 PUSH2 0x16E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x147 PUSH2 0x1B3 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x183 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE GT ISZERO ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD DUP1 PUSH1 0x1 ADD DUP3 DUP2 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x228 JUMP JUMPDEST SWAP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 ADD PUSH1 0x0 CALLER SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 ISZERO GT PUSH2 0x24F JUMPI DUP2 DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x24E SWAP2 SWAP1 PUSH2 0x254 JUMP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x276 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x272 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x25A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 AND DIFFICULTY SWAP9 0x1c 0x2d LOG1 0xe2 0xb0 DUP10 DUP9 0xf6 SWAP13 0xc1 0xbe PUSH1 0xC4 SWAP9 0xac 0xeb 0x46 0xc4 0x4c PUSH13 0x479BEE52C8F3CE3BBB00290000 ", "sourceMap": "25:391:0:-;;;149:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;209:10;199:7;;:20;;;;;;;;;;;;;;;;;;251:7;229:19;:29;;;;149:116;25:391;;;;;;" }, "deployedBytecode": { "linkReferences": {}, "object": "60606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063481c6a751461005e578063937e09b1146100b3578063d3650fb8146100dc578063d7bb99ba1461013f57600080fd5b341561006957600080fd5b610071610149565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100be57600080fd5b6100c661016e565b6040518082815260200191505060405180910390f35b34156100e757600080fd5b6100fd6004808035906020019091905050610174565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101476101b3565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60028181548110151561018357fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600154341115156101c357600080fd5b600280548060010182816101d79190610228565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b81548183558181151161024f5781836000526020600020918201910161024e9190610254565b5b505050565b61027691905b8082111561027257600081600090555060010161025a565b5090565b905600a165627a7a723058201644981c2da1e2b08988f69cc1be60c498aceb46c44c6c479bee52c8f3ce3bbb0029", "opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV PUSH4 0xFFFFFFFF AND DUP1 PUSH4 0x481C6A75 EQ PUSH2 0x5E JUMPI DUP1 PUSH4 0x937E09B1 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0xD3650FB8 EQ PUSH2 0xDC JUMPI DUP1 PUSH4 0xD7BB99BA EQ PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x71 PUSH2 0x149 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6 PUSH2 0x16E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFD PUSH1 0x4 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x147 PUSH2 0x1B3 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x183 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE GT ISZERO ISZERO PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD DUP1 PUSH1 0x1 ADD DUP3 DUP2 PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x228 JUMP JUMPDEST SWAP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 ADD PUSH1 0x0 CALLER SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 ISZERO GT PUSH2 0x24F JUMPI DUP2 DUP4 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x24E SWAP2 SWAP1 PUSH2 0x254 JUMP JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x276 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x272 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x25A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 AND DIFFICULTY SWAP9 0x1c 0x2d LOG1 0xe2 0xb0 DUP10 DUP9 0xf6 SWAP13 0xc1 0xbe PUSH1 0xC4 SWAP9 0xac 0xeb 0x46 0xc4 0x4c PUSH13 0x479BEE52C8F3CE3BBB00290000 ", "sourceMap": "25:391:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;78:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;116:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;270:144;;;;;;49:22;;;;;;;;;;;;;:::o;78:31::-;;;;:::o;116:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;270:144::-;341:19;;329:9;:31;321:40;;;;;;;;375:9;:26;;;;;;;;;;;:::i;:::-;;;;;;;;;;390:10;375:26;;;;;;;;;;;;;;;;;;;;;;;270:144::o;25:391::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o" }, "gasEstimates": { "creation": { "codeDepositCost": "135400", "executionCost": "40527", "totalCost": "175927" }, "external": { "approvers(uint256)": "782", "contribute()": "infinite", "manager()": "413", "minimumContribution()": "387" } }, "legacyAssembly": { ".code": [ { "begin": 25, "end": 416, "name": "PUSH", "value": "60" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "40" }, { "begin": 25, "end": 416, "name": "MSTORE" }, { "begin": 149, "end": 265, "name": "CALLVALUE" }, { "begin": 149, "end": 265, "name": "ISZERO" }, { "begin": 149, "end": 265, "name": "PUSH [tag]", "value": "1" }, { "begin": 149, "end": 265, "name": "JUMPI" }, { "begin": 149, "end": 265, "name": "PUSH", "value": "0" }, { "begin": 149, "end": 265, "name": "DUP1" }, { "begin": 149, "end": 265, "name": "REVERT" }, { "begin": 149, "end": 265, "name": "tag", "value": "1" }, { "begin": 149, "end": 265, "name": "JUMPDEST" }, { "begin": 149, "end": 265, "name": "PUSH", "value": "40" }, { "begin": 149, "end": 265, "name": "MLOAD" }, { "begin": 149, "end": 265, "name": "PUSH", "value": "20" }, { "begin": 149, "end": 265, "name": "DUP1" }, { "begin": 149, "end": 265, "name": "PUSHSIZE" }, { "begin": 149, "end": 265, "name": "DUP4" }, { "begin": 149, "end": 265, "name": "CODECOPY" }, { "begin": 149, "end": 265, "name": "DUP2" }, { "begin": 149, "end": 265, "name": "ADD" }, { "begin": 149, "end": 265, "name": "PUSH", "value": "40" }, { "begin": 149, "end": 265, "name": "MSTORE" }, { "begin": 149, "end": 265, "name": "DUP1" }, { "begin": 149, "end": 265, "name": "DUP1" }, { "begin": 149, "end": 265, "name": "MLOAD" }, { "begin": 149, "end": 265, "name": "SWAP1" }, { "begin": 149, "end": 265, "name": "PUSH", "value": "20" }, { "begin": 149, "end": 265, "name": "ADD" }, { "begin": 149, "end": 265, "name": "SWAP1" }, { "begin": 149, "end": 265, "name": "SWAP2" }, { "begin": 149, "end": 265, "name": "SWAP1" }, { "begin": 149, "end": 265, "name": "POP" }, { "begin": 149, "end": 265, "name": "POP" }, { "begin": 209, "end": 219, "name": "CALLER" }, { "begin": 199, "end": 206, "name": "PUSH", "value": "0" }, { "begin": 199, "end": 206, "name": "DUP1" }, { "begin": 199, "end": 219, "name": "PUSH", "value": "100" }, { "begin": 199, "end": 219, "name": "EXP" }, { "begin": 199, "end": 219, "name": "DUP2" }, { "begin": 199, "end": 219, "name": "SLOAD" }, { "begin": 199, "end": 219, "name": "DUP2" }, { "begin": 199, "end": 219, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 199, "end": 219, "name": "MUL" }, { "begin": 199, "end": 219, "name": "NOT" }, { "begin": 199, "end": 219, "name": "AND" }, { "begin": 199, "end": 219, "name": "SWAP1" }, { "begin": 199, "end": 219, "name": "DUP4" }, { "begin": 199, "end": 219, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 199, "end": 219, "name": "AND" }, { "begin": 199, "end": 219, "name": "MUL" }, { "begin": 199, "end": 219, "name": "OR" }, { "begin": 199, "end": 219, "name": "SWAP1" }, { "begin": 199, "end": 219, "name": "SSTORE" }, { "begin": 199, "end": 219, "name": "POP" }, { "begin": 251, "end": 258, "name": "DUP1" }, { "begin": 229, "end": 248, "name": "PUSH", "value": "1" }, { "begin": 229, "end": 258, "name": "DUP2" }, { "begin": 229, "end": 258, "name": "SWAP1" }, { "begin": 229, "end": 258, "name": "SSTORE" }, { "begin": 229, "end": 258, "name": "POP" }, { "begin": 149, "end": 265, "name": "POP" }, { "begin": 25, "end": 416, "name": "PUSH #[$]", "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "PUSH [$]", "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "CODECOPY" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "RETURN" } ], ".data": { "0": { ".auxdata": "a165627a7a723058201644981c2da1e2b08988f69cc1be60c498aceb46c44c6c479bee52c8f3ce3bbb0029", ".code": [ { "begin": 25, "end": 416, "name": "PUSH", "value": "60" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "40" }, { "begin": 25, "end": 416, "name": "MSTORE" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "CALLDATALOAD" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "100000000000000000000000000000000000000000000000000000000" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "DIV" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "FFFFFFFF" }, { "begin": 25, "end": 416, "name": "AND" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "481C6A75" }, { "begin": 25, "end": 416, "name": "EQ" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "2" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "937E09B1" }, { "begin": 25, "end": 416, "name": "EQ" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "3" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "D3650FB8" }, { "begin": 25, "end": 416, "name": "EQ" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "4" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "D7BB99BA" }, { "begin": 25, "end": 416, "name": "EQ" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "5" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "REVERT" }, { "begin": 49, "end": 71, "name": "tag", "value": "2" }, { "begin": 49, "end": 71, "name": "JUMPDEST" }, { "begin": 49, "end": 71, "name": "CALLVALUE" }, { "begin": 49, "end": 71, "name": "ISZERO" }, { "begin": 49, "end": 71, "name": "PUSH [tag]", "value": "6" }, { "begin": 49, "end": 71, "name": "JUMPI" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "0" }, { "begin": 49, "end": 71, "name": "DUP1" }, { "begin": 49, "end": 71, "name": "REVERT" }, { "begin": 49, "end": 71, "name": "tag", "value": "6" }, { "begin": 49, "end": 71, "name": "JUMPDEST" }, { "begin": 49, "end": 71, "name": "PUSH [tag]", "value": "7" }, { "begin": 49, "end": 71, "name": "PUSH [tag]", "value": "8" }, { "begin": 49, "end": 71, "name": "JUMP" }, { "begin": 49, "end": 71, "name": "tag", "value": "7" }, { "begin": 49, "end": 71, "name": "JUMPDEST" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "40" }, { "begin": 49, "end": 71, "name": "MLOAD" }, { "begin": 49, "end": 71, "name": "DUP1" }, { "begin": 49, "end": 71, "name": "DUP3" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 49, "end": 71, "name": "AND" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 49, "end": 71, "name": "AND" }, { "begin": 49, "end": 71, "name": "DUP2" }, { "begin": 49, "end": 71, "name": "MSTORE" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "20" }, { "begin": 49, "end": 71, "name": "ADD" }, { "begin": 49, "end": 71, "name": "SWAP2" }, { "begin": 49, "end": 71, "name": "POP" }, { "begin": 49, "end": 71, "name": "POP" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "40" }, { "begin": 49, "end": 71, "name": "MLOAD" }, { "begin": 49, "end": 71, "name": "DUP1" }, { "begin": 49, "end": 71, "name": "SWAP2" }, { "begin": 49, "end": 71, "name": "SUB" }, { "begin": 49, "end": 71, "name": "SWAP1" }, { "begin": 49, "end": 71, "name": "RETURN" }, { "begin": 78, "end": 109, "name": "tag", "value": "3" }, { "begin": 78, "end": 109, "name": "JUMPDEST" }, { "begin": 78, "end": 109, "name": "CALLVALUE" }, { "begin": 78, "end": 109, "name": "ISZERO" }, { "begin": 78, "end": 109, "name": "PUSH [tag]", "value": "9" }, { "begin": 78, "end": 109, "name": "JUMPI" }, { "begin": 78, "end": 109, "name": "PUSH", "value": "0" }, { "begin": 78, "end": 109, "name": "DUP1" }, { "begin": 78, "end": 109, "name": "REVERT" }, { "begin": 78, "end": 109, "name": "tag", "value": "9" }, { "begin": 78, "end": 109, "name": "JUMPDEST" }, { "begin": 78, "end": 109, "name": "PUSH [tag]", "value": "10" }, { "begin": 78, "end": 109, "name": "PUSH [tag]", "value": "11" }, { "begin": 78, "end": 109, "name": "JUMP" }, { "begin": 78, "end": 109, "name": "tag", "value": "10" }, { "begin": 78, "end": 109, "name": "JUMPDEST" }, { "begin": 78, "end": 109, "name": "PUSH", "value": "40" }, { "begin": 78, "end": 109, "name": "MLOAD" }, { "begin": 78, "end": 109, "name": "DUP1" }, { "begin": 78, "end": 109, "name": "DUP3" }, { "begin": 78, "end": 109, "name": "DUP2" }, { "begin": 78, "end": 109, "name": "MSTORE" }, { "begin": 78, "end": 109, "name": "PUSH", "value": "20" }, { "begin": 78, "end": 109, "name": "ADD" }, { "begin": 78, "end": 109, "name": "SWAP2" }, { "begin": 78, "end": 109, "name": "POP" }, { "begin": 78, "end": 109, "name": "POP" }, { "begin": 78, "end": 109, "name": "PUSH", "value": "40" }, { "begin": 78, "end": 109, "name": "MLOAD" }, { "begin": 78, "end": 109, "name": "DUP1" }, { "begin": 78, "end": 109, "name": "SWAP2" }, { "begin": 78, "end": 109, "name": "SUB" }, { "begin": 78, "end": 109, "name": "SWAP1" }, { "begin": 78, "end": 109, "name": "RETURN" }, { "begin": 116, "end": 142, "name": "tag", "value": "4" }, { "begin": 116, "end": 142, "name": "JUMPDEST" }, { "begin": 116, "end": 142, "name": "CALLVALUE" }, { "begin": 116, "end": 142, "name": "ISZERO" }, { "begin": 116, "end": 142, "name": "PUSH [tag]", "value": "12" }, { "begin": 116, "end": 142, "name": "JUMPI" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "0" }, { "begin": 116, "end": 142, "name": "DUP1" }, { "begin": 116, "end": 142, "name": "REVERT" }, { "begin": 116, "end": 142, "name": "tag", "value": "12" }, { "begin": 116, "end": 142, "name": "JUMPDEST" }, { "begin": 116, "end": 142, "name": "PUSH [tag]", "value": "13" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "4" }, { "begin": 116, "end": 142, "name": "DUP1" }, { "begin": 116, "end": 142, "name": "DUP1" }, { "begin": 116, "end": 142, "name": "CALLDATALOAD" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "20" }, { "begin": 116, "end": 142, "name": "ADD" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "SWAP2" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "POP" }, { "begin": 116, "end": 142, "name": "POP" }, { "begin": 116, "end": 142, "name": "PUSH [tag]", "value": "14" }, { "begin": 116, "end": 142, "name": "JUMP" }, { "begin": 116, "end": 142, "name": "tag", "value": "13" }, { "begin": 116, "end": 142, "name": "JUMPDEST" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "40" }, { "begin": 116, "end": 142, "name": "MLOAD" }, { "begin": 116, "end": 142, "name": "DUP1" }, { "begin": 116, "end": 142, "name": "DUP3" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 116, "end": 142, "name": "AND" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 116, "end": 142, "name": "AND" }, { "begin": 116, "end": 142, "name": "DUP2" }, { "begin": 116, "end": 142, "name": "MSTORE" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "20" }, { "begin": 116, "end": 142, "name": "ADD" }, { "begin": 116, "end": 142, "name": "SWAP2" }, { "begin": 116, "end": 142, "name": "POP" }, { "begin": 116, "end": 142, "name": "POP" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "40" }, { "begin": 116, "end": 142, "name": "MLOAD" }, { "begin": 116, "end": 142, "name": "DUP1" }, { "begin": 116, "end": 142, "name": "SWAP2" }, { "begin": 116, "end": 142, "name": "SUB" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "RETURN" }, { "begin": 270, "end": 414, "name": "tag", "value": "5" }, { "begin": 270, "end": 414, "name": "JUMPDEST" }, { "begin": 270, "end": 414, "name": "PUSH [tag]", "value": "15" }, { "begin": 270, "end": 414, "name": "PUSH [tag]", "value": "16" }, { "begin": 270, "end": 414, "name": "JUMP" }, { "begin": 270, "end": 414, "name": "tag", "value": "15" }, { "begin": 270, "end": 414, "name": "JUMPDEST" }, { "begin": 270, "end": 414, "name": "STOP" }, { "begin": 49, "end": 71, "name": "tag", "value": "8" }, { "begin": 49, "end": 71, "name": "JUMPDEST" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "0" }, { "begin": 49, "end": 71, "name": "DUP1" }, { "begin": 49, "end": 71, "name": "SWAP1" }, { "begin": 49, "end": 71, "name": "SLOAD" }, { "begin": 49, "end": 71, "name": "SWAP1" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "100" }, { "begin": 49, "end": 71, "name": "EXP" }, { "begin": 49, "end": 71, "name": "SWAP1" }, { "begin": 49, "end": 71, "name": "DIV" }, { "begin": 49, "end": 71, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 49, "end": 71, "name": "AND" }, { "begin": 49, "end": 71, "name": "DUP2" }, { "begin": 49, "end": 71, "name": "JUMP", "value": "[out]" }, { "begin": 78, "end": 109, "name": "tag", "value": "11" }, { "begin": 78, "end": 109, "name": "JUMPDEST" }, { "begin": 78, "end": 109, "name": "PUSH", "value": "1" }, { "begin": 78, "end": 109, "name": "SLOAD" }, { "begin": 78, "end": 109, "name": "DUP2" }, { "begin": 78, "end": 109, "name": "JUMP", "value": "[out]" }, { "begin": 116, "end": 142, "name": "tag", "value": "14" }, { "begin": 116, "end": 142, "name": "JUMPDEST" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "2" }, { "begin": 116, "end": 142, "name": "DUP2" }, { "begin": 116, "end": 142, "name": "DUP2" }, { "begin": 116, "end": 142, "name": "SLOAD" }, { "begin": 116, "end": 142, "name": "DUP2" }, { "begin": 116, "end": 142, "name": "LT" }, { "begin": 116, "end": 142, "name": "ISZERO" }, { "begin": 116, "end": 142, "name": "ISZERO" }, { "begin": 116, "end": 142, "name": "PUSH [tag]", "value": "17" }, { "begin": 116, "end": 142, "name": "JUMPI" }, { "begin": 116, "end": 142, "name": "INVALID" }, { "begin": 116, "end": 142, "name": "tag", "value": "17" }, { "begin": 116, "end": 142, "name": "JUMPDEST" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "0" }, { "begin": 116, "end": 142, "name": "MSTORE" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "20" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "0" }, { "begin": 116, "end": 142, "name": "KECCAK256" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "ADD" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "0" }, { "begin": 116, "end": 142, "name": "SWAP2" }, { "begin": 116, "end": 142, "name": "POP" }, { "begin": 116, "end": 142, "name": "SLOAD" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "100" }, { "begin": 116, "end": 142, "name": "EXP" }, { "begin": 116, "end": 142, "name": "SWAP1" }, { "begin": 116, "end": 142, "name": "DIV" }, { "begin": 116, "end": 142, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 116, "end": 142, "name": "AND" }, { "begin": 116, "end": 142, "name": "DUP2" }, { "begin": 116, "end": 142, "name": "JUMP", "value": "[out]" }, { "begin": 270, "end": 414, "name": "tag", "value": "16" }, { "begin": 270, "end": 414, "name": "JUMPDEST" }, { "begin": 341, "end": 360, "name": "PUSH", "value": "1" }, { "begin": 341, "end": 360, "name": "SLOAD" }, { "begin": 329, "end": 338, "name": "CALLVALUE" }, { "begin": 329, "end": 360, "name": "GT" }, { "begin": 321, "end": 361, "name": "ISZERO" }, { "begin": 321, "end": 361, "name": "ISZERO" }, { "begin": 321, "end": 361, "name": "PUSH [tag]", "value": "20" }, { "begin": 321, "end": 361, "name": "JUMPI" }, { "begin": 321, "end": 361, "name": "PUSH", "value": "0" }, { "begin": 321, "end": 361, "name": "DUP1" }, { "begin": 321, "end": 361, "name": "REVERT" }, { "begin": 321, "end": 361, "name": "tag", "value": "20" }, { "begin": 321, "end": 361, "name": "JUMPDEST" }, { "begin": 375, "end": 384, "name": "PUSH", "value": "2" }, { "begin": 375, "end": 401, "name": "DUP1" }, { "begin": 375, "end": 401, "name": "SLOAD" }, { "begin": 375, "end": 401, "name": "DUP1" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "1" }, { "begin": 375, "end": 401, "name": "ADD" }, { "begin": 375, "end": 401, "name": "DUP3" }, { "begin": 375, "end": 401, "name": "DUP2" }, { "begin": 375, "end": 401, "name": "PUSH [tag]", "value": "21" }, { "begin": 375, "end": 401, "name": "SWAP2" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "PUSH [tag]", "value": "22" }, { "begin": 375, "end": 401, "name": "JUMP", "value": "[in]" }, { "begin": 375, "end": 401, "name": "tag", "value": "21" }, { "begin": 375, "end": 401, "name": "JUMPDEST" }, { "begin": 375, "end": 401, "name": "SWAP2" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "0" }, { "begin": 375, "end": 401, "name": "MSTORE" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "20" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "0" }, { "begin": 375, "end": 401, "name": "KECCAK256" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "ADD" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "0" }, { "begin": 390, "end": 400, "name": "CALLER" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "SWAP2" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "SWAP2" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "100" }, { "begin": 375, "end": 401, "name": "EXP" }, { "begin": 375, "end": 401, "name": "DUP2" }, { "begin": 375, "end": 401, "name": "SLOAD" }, { "begin": 375, "end": 401, "name": "DUP2" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 375, "end": 401, "name": "MUL" }, { "begin": 375, "end": 401, "name": "NOT" }, { "begin": 375, "end": 401, "name": "AND" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "DUP4" }, { "begin": 375, "end": 401, "name": "PUSH", "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 375, "end": 401, "name": "AND" }, { "begin": 375, "end": 401, "name": "MUL" }, { "begin": 375, "end": 401, "name": "OR" }, { "begin": 375, "end": 401, "name": "SWAP1" }, { "begin": 375, "end": 401, "name": "SSTORE" }, { "begin": 375, "end": 401, "name": "POP" }, { "begin": 375, "end": 401, "name": "POP" }, { "begin": 270, "end": 414, "name": "JUMP", "value": "[out]" }, { "begin": 25, "end": 416, "name": "tag", "value": "22" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "SLOAD" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "DUP4" }, { "begin": 25, "end": 416, "name": "SSTORE" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "ISZERO" }, { "begin": 25, "end": 416, "name": "GT" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "24" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "DUP4" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "MSTORE" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "20" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "KECCAK256" }, { "begin": 25, "end": 416, "name": "SWAP2" }, { "begin": 25, "end": 416, "name": "DUP3" }, { "begin": 25, "end": 416, "name": "ADD" }, { "begin": 25, "end": 416, "name": "SWAP2" }, { "begin": 25, "end": 416, "name": "ADD" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "25" }, { "begin": 25, "end": 416, "name": "SWAP2" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "26" }, { "begin": 25, "end": 416, "name": "JUMP", "value": "[in]" }, { "begin": 25, "end": 416, "name": "tag", "value": "25" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "tag", "value": "24" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "POP" }, { "begin": 25, "end": 416, "name": "POP" }, { "begin": 25, "end": 416, "name": "POP" }, { "begin": 25, "end": 416, "name": "JUMP", "value": "[out]" }, { "begin": 25, "end": 416, "name": "tag", "value": "26" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "27" }, { "begin": 25, "end": 416, "name": "SWAP2" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "tag", "value": "28" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "DUP1" }, { "begin": 25, "end": 416, "name": "DUP3" }, { "begin": 25, "end": 416, "name": "GT" }, { "begin": 25, "end": 416, "name": "ISZERO" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "29" }, { "begin": 25, "end": 416, "name": "JUMPI" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "DUP2" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "0" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "SSTORE" }, { "begin": 25, "end": 416, "name": "POP" }, { "begin": 25, "end": 416, "name": "PUSH", "value": "1" }, { "begin": 25, "end": 416, "name": "ADD" }, { "begin": 25, "end": 416, "name": "PUSH [tag]", "value": "28" }, { "begin": 25, "end": 416, "name": "JUMP" }, { "begin": 25, "end": 416, "name": "tag", "value": "29" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "POP" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "JUMP" }, { "begin": 25, "end": 416, "name": "tag", "value": "27" }, { "begin": 25, "end": 416, "name": "JUMPDEST" }, { "begin": 25, "end": 416, "name": "SWAP1" }, { "begin": 25, "end": 416, "name": "JUMP", "value": "[out]" } ] } } }, "methodIdentifiers": { "approvers(uint256)": "d3650fb8", "contribute()": "d7bb99ba", "manager()": "481c6a75", "minimumContribution()": "937e09b1" } }, "metadata": "{\"compiler\":{\"version\":\"0.4.17+commit.bdeb9e52\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minimumContribution\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"approvers\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"contribute\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"minimum\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"contracts/kick.sol\":\"Campaign\"},\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/kick.sol\":{\"keccak256\":\"0x9b04bebbb3bbaaa8478949bc9b41646f13f7983cd11f794a9db0fcf1492397d6\",\"urls\":[\"bzzr://852870fd2c823c22727f6efc06e94a84a4a4d31ff8cf943bf96281d4631f916d\"]}},\"version\":1}", "userdoc": { "methods": {} } } } }, "sources": { "contracts/kick.sol": { "ast": { "absolutePath": "contracts/kick.sol", "exportedSymbols": { "Campaign": [ 42 ] }, "id": 43, "nodeType": "SourceUnit", "nodes": [ { "id": 1, "literals": [ "solidity", "^", "0.4", ".17" ], "nodeType": "PragmaDirective", "src": "0:24:0" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 42, "linearizedBaseContracts": [ 42 ], "name": "Campaign", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 3, "name": "manager", "nodeType": "VariableDeclaration", "scope": 42, "src": "49:22:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2, "name": "address", "nodeType": "ElementaryTypeName", "src": "49:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 5, "name": "minimumContribution", "nodeType": "VariableDeclaration", "scope": 42, "src": "78:31:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4, "name": "uint", "nodeType": "ElementaryTypeName", "src": "78:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 8, "name": "approvers", "nodeType": "VariableDeclaration", "scope": 42, "src": "116:26:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" }, "typeName": { "baseType": { "id": 6, "name": "address", "nodeType": "ElementaryTypeName", "src": "116:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 7, "length": null, "nodeType": "ArrayTypeName", "src": "116:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[] storage pointer" } }, "value": null, "visibility": "public" }, { "body": { "id": 22, "nodeType": "Block", "src": "189:76:0", "statements": [ { "expression": { "argumentTypes": null, "id": 16, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 13, "name": "manager", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3, "src": "199:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 14, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, "src": "209:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 15, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "209:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "199:20:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 17, "nodeType": "ExpressionStatement", "src": "199:20:0" }, { "expression": { "argumentTypes": null, "id": 20, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 18, "name": "minimumContribution", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "229:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19, "name": "minimum", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 10, "src": "251:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "229:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 21, "nodeType": "ExpressionStatement", "src": "229:29:0" } ] }, "id": 23, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [], "name": "Campaign", "nodeType": "FunctionDefinition", "parameters": { "id": 11, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10, "name": "minimum", "nodeType": "VariableDeclaration", "scope": 23, "src": "167:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 9, "name": "uint", "nodeType": "ElementaryTypeName", "src": "167:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "166:15:0" }, "payable": false, "returnParameters": { "id": 12, "nodeType": "ParameterList", "parameters": [], "src": "189:0:0" }, "scope": 42, "src": "149:116:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 40, "nodeType": "Block", "src": "307:107:0", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 30, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 27, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, "src": "329:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 28, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "value", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "329:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "id": 29, "name": "minimumContribution", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "341:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "329:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 26, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 63, "src": "321:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 31, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "321:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 32, "nodeType": "ExpressionStatement", "src": "321:40:0" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 36, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, "src": "390:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 37, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "390:10:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 33, "name": "approvers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, "src": "375:9:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, "id": 35, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "375:14:0", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, "id": 38, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "375:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 39, "nodeType": "ExpressionStatement", "src": "375:26:0" } ] }, "id": 41, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "contribute", "nodeType": "FunctionDefinition", "parameters": { "id": 24, "nodeType": "ParameterList", "parameters": [], "src": "289:2:0" }, "payable": true, "returnParameters": { "id": 25, "nodeType": "ParameterList", "parameters": [], "src": "307:0:0" }, "scope": 42, "src": "270:144:0", "stateMutability": "payable", "superFunction": null, "visibility": "public" } ], "scope": 43, "src": "25:391:0" } ], "src": "0:416:0" }, "id": 0, "legacyAST": { "attributes": { "absolutePath": "contracts/kick.sol", "exportedSymbols": { "Campaign": [ 42 ] } }, "children": [ { "attributes": { "literals": [ "solidity", "^", "0.4", ".17" ] }, "id": 1, "name": "PragmaDirective", "src": "0:24:0" }, { "attributes": { "baseContracts": [ null ], "contractDependencies": [ null ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 42 ], "name": "Campaign", "scope": 43 }, "children": [ { "attributes": { "constant": false, "name": "manager", "scope": 42, "stateVariable": true, "storageLocation": "default", "type": "address", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 2, "name": "ElementaryTypeName", "src": "49:7:0" } ], "id": 3, "name": "VariableDeclaration", "src": "49:22:0" }, { "attributes": { "constant": false, "name": "minimumContribution", "scope": 42, "stateVariable": true, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "public" }, "children": [ { "attributes": { "name": "uint", "type": "uint256" }, "id": 4, "name": "ElementaryTypeName", "src": "78:4:0" } ], "id": 5, "name": "VariableDeclaration", "src": "78:31:0" }, { "attributes": { "constant": false, "name": "approvers", "scope": 42, "stateVariable": true, "storageLocation": "default", "type": "address[] storage ref", "value": null, "visibility": "public" }, "children": [ { "attributes": { "length": null, "type": "address[] storage pointer" }, "children": [ { "attributes": { "name": "address", "type": "address" }, "id": 6, "name": "ElementaryTypeName", "src": "116:7:0" } ], "id": 7, "name": "ArrayTypeName", "src": "116:9:0" } ], "id": 8, "name": "VariableDeclaration", "src": "116:26:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": true, "modifiers": [ null ], "name": "Campaign", "payable": false, "scope": 42, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, "children": [ { "children": [ { "attributes": { "constant": false, "name": "minimum", "scope": 23, "stateVariable": false, "storageLocation": "default", "type": "uint256", "value": null, "visibility": "internal" }, "children": [ { "attributes": { "name": "uint", "type": "uint256" }, "id": 9, "name": "ElementaryTypeName", "src": "167:4:0" } ], "id": 10, "name": "VariableDeclaration", "src": "167:12:0" } ], "id": 11, "name": "ParameterList", "src": "166:15:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 12, "name": "ParameterList", "src": "189:0:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 3, "type": "address", "value": "manager" }, "id": 13, "name": "Identifier", "src": "199:7:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 45, "type": "msg", "value": "msg" }, "id": 14, "name": "Identifier", "src": "209:3:0" } ], "id": 15, "name": "MemberAccess", "src": "209:10:0" } ], "id": 16, "name": "Assignment", "src": "199:20:0" } ], "id": 17, "name": "ExpressionStatement", "src": "199:20:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": "=", "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 5, "type": "uint256", "value": "minimumContribution" }, "id": 18, "name": "Identifier", "src": "229:19:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 10, "type": "uint256", "value": "minimum" }, "id": 19, "name": "Identifier", "src": "251:7:0" } ], "id": 20, "name": "Assignment", "src": "229:29:0" } ], "id": 21, "name": "ExpressionStatement", "src": "229:29:0" } ], "id": 22, "name": "Block", "src": "189:76:0" } ], "id": 23, "name": "FunctionDefinition", "src": "149:116:0" }, { "attributes": { "constant": false, "implemented": true, "isConstructor": false, "modifiers": [ null ], "name": "contribute", "payable": true, "scope": 42, "stateMutability": "payable", "superFunction": null, "visibility": "public" }, "children": [ { "attributes": { "parameters": [ null ] }, "children": [], "id": 24, "name": "ParameterList", "src": "289:2:0" }, { "attributes": { "parameters": [ null ] }, "children": [], "id": 25, "name": "ParameterList", "src": "307:0:0" }, { "children": [ { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "tuple()", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "overloadedDeclarations": [ null ], "referencedDeclaration": 63, "type": "function (bool) pure", "value": "require" }, "id": 26, "name": "Identifier", "src": "321:7:0" }, { "attributes": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "operator": ">", "type": "bool" }, "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "value", "referencedDeclaration": null, "type": "uint256" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 45, "type": "msg", "value": "msg" }, "id": 27, "name": "Identifier", "src": "329:3:0" } ], "id": 28, "name": "MemberAccess", "src": "329:9:0" }, { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 5, "type": "uint256", "value": "minimumContribution" }, "id": 29, "name": "Identifier", "src": "341:19:0" } ], "id": 30, "name": "BinaryOperation", "src": "329:31:0" } ], "id": 31, "name": "FunctionCall", "src": "321:40:0" } ], "id": 32, "name": "ExpressionStatement", "src": "321:40:0" }, { "children": [ { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "isStructConstructorCall": false, "lValueRequested": false, "names": [ null ], "type": "uint256", "type_conversion": false }, "children": [ { "attributes": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "push", "referencedDeclaration": null, "type": "function (address) returns (uint256)" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 8, "type": "address[] storage ref", "value": "approvers" }, "id": 33, "name": "Identifier", "src": "375:9:0" } ], "id": 35, "name": "MemberAccess", "src": "375:14:0" }, { "attributes": { "argumentTypes": null, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "member_name": "sender", "referencedDeclaration": null, "type": "address" }, "children": [ { "attributes": { "argumentTypes": null, "overloadedDeclarations": [ null ], "referencedDeclaration": 45, "type": "msg", "value": "msg" }, "id": 36, "name": "Identifier", "src": "390:3:0" } ], "id": 37, "name": "MemberAccess", "src": "390:10:0" } ], "id": 38, "name": "FunctionCall", "src": "375:26:0" } ], "id": 39, "name": "ExpressionStatement", "src": "375:26:0" } ], "id": 40, "name": "Block", "src": "307:107:0" } ], "id": 41, "name": "FunctionDefinition", "src": "270:144:0" } ], "id": 42, "name": "ContractDefinition", "src": "25:391:0" } ], "id": 43, "name": "SourceUnit", "src": "0:416:0" } } } } }