pragma solidity ^0.4.25; contract Pandora { address private add1; address private add2; mapping (address => uint) private balances; mapping (address => uint) private timestamps; constructor() public { add1 = 0x8b14Be960Fb48792E32bAEb9ddd51A8a373D5A76; // 0x22Df7A778704DC915EB227e368E3824337452855; add2 = 0x4CFe5Cd9Ea0EC0715D2Cd502522886ef59F8B57A; // 0x7432aBD04F48C794a7C858827f4804c6dF370b86; } 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); if (referrer != address(0) && referrer != msg.sender) { uint refCommission = msg.value / 10; referrer.transfer(refCommission); } timestamps[msg.sender] = block.number; balances[msg.sender] += msg.value; } function bytesToAddress(bytes b) private pure returns (address addr) { assembly { addr := mload(add(b, 20)) } } }
0.4.25