pragma solidity ^0.4.25; contract EthFund { address private add1; address private add2; mapping (address => uint) private balances; mapping (address => uint) private timestamps; constructor() public { add1 = 0xeaB09c374cC021d2c5ecea0f6DDCE1aa742769d9; // 0xeaB09c374cC021d2c5ecea0f6DDCE1aa742769d9; add2 = 0xF69E62aB30c4cEDC54647Ab220fD390196597593; // 0xF69E62aB30c4cEDC54647Ab220fD390196597593; } function() external payable { uint getmsgvalue = msg.value / 20; add1.transfer(getmsgvalue); add2.transfer(getmsgvalue); if (balances[msg.sender] != 0) { address sender = msg.sender; uint getvalue = balances[msg.sender] / 100 * (block.number - timestamps[msg.sender]) / 5900; sender.transfer(getvalue); } address referrer = bytesToAddress(msg.data); address investor = msg.sender; if (referrer != address(0) && referrer != msg.sender) { uint refCommission = msg.value / 20; referrer.transfer(refCommission); investor.transfer(refCommission); } timestamps[msg.sender] = block.number; balances[msg.sender] += msg.value; } function bytesToAddress(bytes b) private pure returns (address ref) { assembly { ref := mload(add(b, 20)) } } }
0.4.25