Overview
ETH Balance
0.008274045628459601 ETH
Eth Value
$26.12 (@ $3,157.28/ETH)More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 6208454 | 2272 days ago | IN | 0.0008 ETH | 0.00091038 | ||||
Award By Rnd No | 6208444 | 2272 days ago | IN | 0 ETH | 0.00025584 | ||||
Transfer | 6208380 | 2272 days ago | IN | 0.0008 ETH | 0.00091041 | ||||
Buy Key By Addr | 6207874 | 2272 days ago | IN | 0.1 ETH | 0.01448866 | ||||
Transfer | 6207779 | 2272 days ago | IN | 0.00075 ETH | 0.00048955 | ||||
Start Game | 6207774 | 2272 days ago | IN | 0 ETH | 0.00017447 | ||||
0x60806040 | 6206510 | 2272 days ago | IN | 0 ETH | 0.00566434 |
Loading...
Loading
Contract Name:
Plague
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-24 */ pragma solidity ^0.4.24; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; require(c / a == b, "SafeMath mul failed"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath sub failed"); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; require(c >= a, "SafeMath add failed"); return c; } function sqrt(uint256 x) internal pure returns (uint256 y) { uint256 z = ((add(x,1)) / 2); y = x; while (z < y) { y = z; z = ((add((x / z),z)) / 2); } } function sq(uint256 x) internal pure returns (uint256) { return (mul(x,x)); } function pwr(uint256 x, uint256 y) internal pure returns (uint256) { if (x==0) return (0); else if (y==0) return (1); else { uint256 z = x; for (uint256 i=1; i < y; i++) z = mul(z,x); return (z); } } } contract PlagueEvents { //infective person event onInfectiveStage ( address indexed player, uint256 indexed rndNo, uint256 keys, uint256 eth, uint256 timeStamp, address indexed inveter ); // become leader during second stage event onDevelopmentStage ( address indexed player, uint256 indexed rndNo, uint256 eth, uint256 timeStamp, address indexed inveter ); // award event onAward ( address indexed player, uint256 indexed rndNo, uint256 eth, uint256 timeStamp ); } contract Plague is PlagueEvents{ using SafeMath for *; using KeysCalc for uint256; struct Round { uint256 eth; // total eth uint256 keys; // total keys uint256 startTime; // end time uint256 endTime; // end time uint256 infectiveEndTime; // infective end time address leader; // leader address infectLastPlayer; // the player will award 10% eth address [11] lastInfective; // the lastest 11 infective address [4] loseInfective; // the lose infective bool [11] infectiveAward_m; // uint256 totalInfective; // the count of this round uint256 inveterAmount; // remain inveter amount of this round uint256 lastRoundReward; // last round remain eth 10% + eth 4% - inveterAmount + last remain award uint256 exAward; // development award } struct PlayerRound { uint256 eth; // eth player has added to round uint256 keys; // keys uint256 withdraw; // how many eth has been withdraw uint256 getInveterAmount; // inverter amount uint256 hasGetAwardAmount; // player has get award amount } uint256 public rndNo = 1; // current round number uint256 public totalEth = 0; // total eth in all round uint256 constant private rndInfectiveStage_ = 10 minutes; // round timer at iinfective stage12 hours; uint256 constant private rndInfectiveReadyTime_ = 1 minutes; // round timer at infective stage ready time uint256 constant private rndDevelopmentStage_ = 3 minutes; // round timer at development stage 30 minutes; uint256 constant private rndDevelopmentReadyTime_ = 1 minutes; // round timer at development stage ready time 1 hours; uint256 constant private allKeys_ = 100 * (10 ** 18); // all keys count uint256 constant private allEths_ = 7500773437500000; // all eths count uint256 constant private rndIncreaseTime_ = 3 minutes; // increase time 3 hours uint256 constant private developmentAwardPercent = 1; // 0.1% reduction every 3 hours mapping (uint256 => Round) public round_m; // (rndNo => Round) mapping (uint256 => mapping (address => PlayerRound)) public playerRound_m; // (rndNo => addr => PlayerRound) address public owner; // owner address address public receiver = address(0); // receive eth address uint256 public ownerWithdraw = 0; // how many eth has been withdraw by owner bool public isStartGame = false; // start game flag constructor() public { owner = msg.sender; } /** * @dev prevents contracts from interacting */ modifier onlyHuman() { address _addr = msg.sender; uint256 _codeLength; assembly {_codeLength := extcodesize(_addr)} require(_codeLength == 0, "sorry humans only"); _; } /** * @dev sets boundaries for incoming tx */ modifier isWithinLimits(uint256 _eth) { require(_eth >= 1000000000, "pocket lint: not a valid currency"); require(_eth <= 100000000000000000000000, "no vitalik, no"); _; } /** * @dev only owner */ modifier onlyOwner() { require(owner == msg.sender, "only owner can do it"); _; } /** * @dev It must be human beings to call the function. */ function isHuman(address _addr) private view returns (bool) { uint256 _codeLength; assembly {_codeLength := extcodesize(_addr)} return _codeLength == 0; } /** * @dev player infect a person at current round * */ function buyKeys(address _inveter) private { uint256 _eth = msg.value; uint256 _now = now; uint256 _rndNo = rndNo; uint256 _ethUse = msg.value; // start next round? if (_now > round_m[_rndNo].endTime) { require(round_m[_rndNo].endTime + rndDevelopmentReadyTime_ < _now, "we should wait some times"); uint256 lastAwardEth = (round_m[_rndNo].eth.mul(14) / 100).sub(round_m[_rndNo].inveterAmount); if(round_m[_rndNo].totalInfective < round_m[_rndNo].lastInfective.length.sub(1)) { uint256 nextPlayersAward = round_m[_rndNo].lastInfective.length.sub(1).sub(round_m[_rndNo].totalInfective); uint256 _totalAward = round_m[_rndNo].eth.mul(30) / 100; _totalAward = _totalAward.add(round_m[_rndNo].lastRoundReward); if(round_m[_rndNo].infectLastPlayer != address(0)) { lastAwardEth = lastAwardEth.add(nextPlayersAward.mul(_totalAward.mul(3)/100)); } else { lastAwardEth = lastAwardEth.add(nextPlayersAward.mul(_totalAward.mul(4)/100)); } } _rndNo = _rndNo.add(1); rndNo = _rndNo; round_m[_rndNo].startTime = _now; round_m[_rndNo].endTime = _now + rndInfectiveStage_; round_m[_rndNo].totalInfective = 0; round_m[_rndNo].lastRoundReward = lastAwardEth; } // infective or second stage if (round_m[_rndNo].keys < allKeys_) { // infection stage uint256 _keys = (round_m[_rndNo].eth).keysRec(_eth); if (_keys.add(round_m[_rndNo].keys) >= allKeys_) { _keys = allKeys_.sub(round_m[_rndNo].keys); if (round_m[_rndNo].eth >= allEths_) { _ethUse = 0; } else { _ethUse = (allEths_).sub(round_m[_rndNo].eth); } if (_eth > _ethUse) { // refund msg.sender.transfer(_eth.sub(_ethUse)); } else { // fix _ethUse = _eth; } // first stage is over, record current time round_m[_rndNo].infectiveEndTime = _now.add(rndInfectiveReadyTime_); round_m[_rndNo].endTime = _now.add(rndDevelopmentStage_).add(rndInfectiveReadyTime_); round_m[_rndNo].infectLastPlayer = msg.sender; } else { require (_keys >= 1 * 10 ** 19, "at least 10 thound people"); round_m[_rndNo].endTime = _now + rndInfectiveStage_; } round_m[_rndNo].leader = msg.sender; // update playerRound playerRound_m[_rndNo][msg.sender].keys = _keys.add(playerRound_m[_rndNo][msg.sender].keys); playerRound_m[_rndNo][msg.sender].eth = _ethUse.add(playerRound_m[_rndNo][msg.sender].eth); // update round round_m[_rndNo].keys = _keys.add(round_m[_rndNo].keys); round_m[_rndNo].eth = _ethUse.add(round_m[_rndNo].eth); // update global variable totalEth = _ethUse.add(totalEth); // event emit PlagueEvents.onInfectiveStage ( msg.sender, _rndNo, _keys, _ethUse, _now, _inveter ); } else { // second stage require(round_m[_rndNo].infectiveEndTime < _now, "The virus is being prepared..."); // increase 0.05 Ether every 3 hours _ethUse = (((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(5 * 10 ** 16)).add((5 * 10 ** 16)); require(_eth >= _ethUse, "Ether amount is wrong"); if(_eth > _ethUse) { msg.sender.transfer(_eth.sub(_ethUse)); } round_m[_rndNo].endTime = _now + rndDevelopmentStage_; round_m[_rndNo].leader = msg.sender; // update playerRound playerRound_m[_rndNo][msg.sender].eth = _ethUse.add(playerRound_m[_rndNo][msg.sender].eth); // update round round_m[_rndNo].eth = _ethUse.add(round_m[_rndNo].eth); // update global variable totalEth = _ethUse.add(totalEth); // update development award uint256 _exAwardPercent = ((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(developmentAwardPercent).add(developmentAwardPercent); if(_exAwardPercent >= 410) { _exAwardPercent = 410; } round_m[_rndNo].exAward = (_exAwardPercent.mul(_ethUse) / 1000).add(round_m[_rndNo].exAward); // event emit PlagueEvents.onDevelopmentStage ( msg.sender, _rndNo, _ethUse, _now, _inveter ); } // caculate share inveter amount if(_inveter != address(0) && isHuman(_inveter)) { playerRound_m[_rndNo][_inveter].getInveterAmount = playerRound_m[_rndNo][_inveter].getInveterAmount.add(_ethUse.mul(10) / 100); round_m[_rndNo].inveterAmount = round_m[_rndNo].inveterAmount.add(_ethUse.mul(10) / 100); } round_m[_rndNo].loseInfective[round_m[_rndNo].totalInfective % 4] = round_m[_rndNo].lastInfective[round_m[_rndNo].totalInfective % 11]; round_m[_rndNo].lastInfective[round_m[_rndNo].totalInfective % 11] = msg.sender; round_m[_rndNo].totalInfective = round_m[_rndNo].totalInfective.add(1); } /** * @dev recommend a player */ function buyKeyByAddr(address _inveter) onlyHuman() isWithinLimits(msg.value) public payable { require(isStartGame == true, "The game hasn't started yet."); buyKeys(_inveter); } /** * @dev play */ function() onlyHuman() isWithinLimits(msg.value) public payable { require(isStartGame == true, "The game hasn't started yet."); buyKeys(address(0)); } /** * @dev Award by rndNo. * 0x80ec35ff * 0x80ec35ff0000000000000000000000000000000000000000000000000000000000000001 */ function awardByRndNo(uint256 _rndNo) onlyHuman() public { require(isStartGame == true, "The game hasn't started yet."); require(_rndNo <= rndNo, "You're running too fast"); uint256 _ethOut = 0; uint256 _totalAward = round_m[_rndNo].eth.mul(30) / 100; _totalAward = _totalAward.add(round_m[_rndNo].lastRoundReward); _totalAward = _totalAward.add(round_m[_rndNo].exAward); uint256 _getAward = 0; //withdraw award uint256 _totalWithdraw = round_m[_rndNo].eth.mul(51) / 100; _totalWithdraw = _totalWithdraw.sub(round_m[_rndNo].exAward); _totalWithdraw = (_totalWithdraw.mul(playerRound_m[_rndNo][msg.sender].keys)); _totalWithdraw = _totalWithdraw / round_m[_rndNo].keys; uint256 _inveterAmount = playerRound_m[_rndNo][msg.sender].getInveterAmount; _totalWithdraw = _totalWithdraw.add(_inveterAmount); uint256 _withdrawed = playerRound_m[_rndNo][msg.sender].withdraw; if(_totalWithdraw > _withdrawed) { _ethOut = _ethOut.add(_totalWithdraw.sub(_withdrawed)); playerRound_m[_rndNo][msg.sender].withdraw = _totalWithdraw; } //lastest infect player if(msg.sender == round_m[_rndNo].infectLastPlayer && round_m[_rndNo].infectLastPlayer != address(0) && round_m[_rndNo].infectiveEndTime != 0) { _getAward = _getAward.add(_totalAward.mul(10)/100); } if(now > round_m[_rndNo].endTime) { // finally award if(round_m[_rndNo].leader == msg.sender) { _getAward = _getAward.add(_totalAward.mul(60)/100); } //finally ten person award for(uint256 i = 0;i < round_m[_rndNo].lastInfective.length; i = i.add(1)) { if(round_m[_rndNo].lastInfective[i] == msg.sender && (round_m[_rndNo].totalInfective.sub(1) % 11) != i){ if(round_m[_rndNo].infectiveAward_m[i]) continue; if(round_m[_rndNo].infectLastPlayer != address(0)) { _getAward = _getAward.add(_totalAward.mul(3)/100); } else{ _getAward = _getAward.add(_totalAward.mul(4)/100); } round_m[_rndNo].infectiveAward_m[i] = true; } } } _ethOut = _ethOut.add(_getAward.sub(playerRound_m[_rndNo][msg.sender].hasGetAwardAmount)); playerRound_m[_rndNo][msg.sender].hasGetAwardAmount = _getAward; if(_ethOut != 0) { msg.sender.transfer(_ethOut); } // event emit PlagueEvents.onAward ( msg.sender, _rndNo, _ethOut, now ); } /** * @dev Get player bonus data * 0xd982466d * 0xd982466d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000028f211f6c07d3b79e0aab886d56333e4027d4f59 * @return player's award * @return player's can withdraw amount * @return player's inveter amount * @return player's has been withdraw */ function getPlayerAwardByRndNo(uint256 _rndNo, address _playAddr) view public returns (uint256, uint256, uint256, uint256) { uint256 _ethPlayerAward = 0; //withdraw award uint256 _totalWithdraw = round_m[_rndNo].eth.mul(51) / 100; _totalWithdraw = _totalWithdraw.sub(round_m[_rndNo].exAward); _totalWithdraw = (_totalWithdraw.mul(playerRound_m[_rndNo][_playAddr].keys)); _totalWithdraw = _totalWithdraw / round_m[_rndNo].keys; uint256 _totalAward = round_m[_rndNo].eth.mul(30) / 100; _totalAward = _totalAward.add(round_m[_rndNo].lastRoundReward); _totalAward = _totalAward.add(round_m[_rndNo].exAward); //lastest infect player if(_playAddr == round_m[_rndNo].infectLastPlayer && round_m[_rndNo].infectLastPlayer != address(0) && round_m[_rndNo].infectiveEndTime != 0) { _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(10)/100); } if(now > round_m[_rndNo].endTime) { // finally award if(round_m[_rndNo].leader == _playAddr) { _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(60)/100); } //finally ten person award for(uint256 i = 0;i < round_m[_rndNo].lastInfective.length; i = i.add(1)) { if(round_m[_rndNo].lastInfective[i] == _playAddr && (round_m[_rndNo].totalInfective.sub(1) % 11) != i) { if(round_m[_rndNo].infectLastPlayer != address(0)) { _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(3)/100); } else{ _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(4)/100); } } } } return ( _ethPlayerAward, _totalWithdraw, playerRound_m[_rndNo][_playAddr].getInveterAmount, playerRound_m[_rndNo][_playAddr].hasGetAwardAmount + playerRound_m[_rndNo][_playAddr].withdraw ); } /** * @dev fee withdraw to receiver, everyone can do it. * 0x6561e6ba */ function feeWithdraw() onlyHuman() public { require(isStartGame == true, "The game hasn't started yet."); require(receiver != address(0), "The receiver address has not been initialized."); uint256 _total = (totalEth.mul(5) / (100)); uint256 _withdrawed = ownerWithdraw; require(_total > _withdrawed, "No need to withdraw"); ownerWithdraw = _total; receiver.transfer(_total.sub(_withdrawed)); } /** * @dev start game * 0xd65ab5f2 */ function startGame() onlyOwner() public { round_m[1].startTime = now; round_m[1].endTime = now + rndInfectiveStage_; round_m[1].lastRoundReward = 0; isStartGame = true; } /** * @dev change owner. * 0x547e3f06000000000000000000000000695c7a3c1a27de4bb32cd812a8c2677e25f0b9d5 */ function changeReceiver(address newReceiver) onlyOwner() public { receiver = newReceiver; } /** * @dev returns all current round info needed for front end * 0x747dff42 */ function getCurrentRoundInfo() public view returns(uint256, uint256[2], uint256[3], address[2], uint256[6], address[11],address[4]) { uint256 _rndNo = rndNo; uint256 _totalAwardAtRound = round_m[_rndNo].lastRoundReward.add(round_m[_rndNo].exAward).add(round_m[_rndNo].eth.mul(30) / 100); return ( _rndNo, [round_m[_rndNo].eth, round_m[_rndNo].keys], [round_m[_rndNo].startTime, round_m[_rndNo].endTime, round_m[_rndNo].infectiveEndTime], [round_m[_rndNo].leader, round_m[_rndNo].infectLastPlayer], [getBuyPrice(), round_m[_rndNo].lastRoundReward, _totalAwardAtRound, round_m[_rndNo].inveterAmount, round_m[_rndNo].totalInfective % 11, round_m[_rndNo].exAward], round_m[_rndNo].lastInfective, round_m[_rndNo].loseInfective ); } /** * @dev return the price buyer will pay for next 1 individual key during first stage. * 0x018a25e8 * @return price for next key bought (in wei format) */ function getBuyPrice() public view returns(uint256) { uint256 _rndNo = rndNo; uint256 _now = now; // start next round? if (_now > round_m[_rndNo].endTime) { return (750007031250000); } if (round_m[_rndNo].keys < allKeys_) { return ((round_m[_rndNo].keys.add(10000000000000000000)).ethRec(10000000000000000000)); } if(round_m[_rndNo].keys >= allKeys_ && round_m[_rndNo].infectiveEndTime != 0 && round_m[_rndNo].infectLastPlayer != address(0) && _now < round_m[_rndNo].infectiveEndTime) { return 5 * 10 ** 16; } if(round_m[_rndNo].keys >= allKeys_ && _now > round_m[_rndNo].infectiveEndTime) { // increase 0.05 Ether every 3 hours uint256 currentPrice = (((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(5 * 10 ** 16)).add((5 * 10 ** 16)); return currentPrice; } //second stage return (0); } } library KeysCalc { using SafeMath for *; /** * @dev calculates number of keys received given X eth * @param _curEth current amount of eth in contract * @param _newEth eth being spent * @return amount of ticket purchased */ function keysRec(uint256 _curEth, uint256 _newEth) internal pure returns (uint256) { return(keys((_curEth).add(_newEth)).sub(keys(_curEth))); } /** * @dev calculates amount of eth received if you sold X keys * @param _curKeys current amount of keys that exist * @param _sellKeys amount of keys you wish to sell * @return amount of eth received */ function ethRec(uint256 _curKeys, uint256 _sellKeys) internal pure returns (uint256) { return((eth(_curKeys)).sub(eth(_curKeys.sub(_sellKeys)))); } /** * @dev calculates how many keys would exist with given an amount of eth * @param _eth eth "in contract" * @return number of keys that would exist */ function keys(uint256 _eth) internal pure returns(uint256) { return ((((((_eth).mul(1000000000000000000)).mul(312500000000000000000000000)).add(5624988281256103515625000000000000000000000000000000000000000000)).sqrt()).sub(74999921875000000000000000000000)) / (156250000); } /** * @dev calculates how much eth would be in contract given a number of keys * @param _keys number of keys "in contract" * @return eth that would exists */ function eth(uint256 _keys) internal pure returns(uint256) { return ((78125000).mul(_keys.sq()).add(((149999843750000).mul(_keys.mul(1000000000000000000))) / (2))) / ((1000000000000000000).sq()); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"getBuyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rndNo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newReceiver","type":"address"}],"name":"changeReceiver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"feeWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentRoundInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256[2]"},{"name":"","type":"uint256[3]"},{"name":"","type":"address[2]"},{"name":"","type":"uint256[6]"},{"name":"","type":"address[11]"},{"name":"","type":"address[4]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"round_m","outputs":[{"name":"eth","type":"uint256"},{"name":"keys","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"infectiveEndTime","type":"uint256"},{"name":"leader","type":"address"},{"name":"infectLastPlayer","type":"address"},{"name":"totalInfective","type":"uint256"},{"name":"inveterAmount","type":"uint256"},{"name":"lastRoundReward","type":"uint256"},{"name":"exAward","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_rndNo","type":"uint256"}],"name":"awardByRndNo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"playerRound_m","outputs":[{"name":"eth","type":"uint256"},{"name":"keys","type":"uint256"},{"name":"withdraw","type":"uint256"},{"name":"getInveterAmount","type":"uint256"},{"name":"hasGetAwardAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_inveter","type":"address"}],"name":"buyKeyByAddr","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"startGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_rndNo","type":"uint256"},{"name":"_playAddr","type":"address"}],"name":"getPlayerAwardByRndNo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStartGame","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"receiver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"rndNo","type":"uint256"},{"indexed":false,"name":"keys","type":"uint256"},{"indexed":false,"name":"eth","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"},{"indexed":true,"name":"inveter","type":"address"}],"name":"onInfectiveStage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"rndNo","type":"uint256"},{"indexed":false,"name":"eth","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"},{"indexed":true,"name":"inveter","type":"address"}],"name":"onDevelopmentStage","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"rndNo","type":"uint256"},{"indexed":false,"name":"eth","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"}],"name":"onAward","type":"event"}]
Contract Creation Code
6080604052600160008181559081905560058054600160a060020a03191690556006556007805460ff1916905534801561003857600080fd5b5060048054600160a060020a031916331790556127f98061005a6000396000f3006080604052600436106100e55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663018a25e8811461026d5780633c28308a146102945780633c3c9c23146102a95780634311de8f146102be578063547e3f06146102d35780636561e6ba146102f6578063747dff421461030b5780637e8ac5901461043e57806380ec35ff146104b65780638da5cb5b146104ce578063a05ce940146104ff578063c5960c291461054e578063d65ab5f214610562578063d982466d14610577578063e3aae11b146105c1578063f7260d3e146105ea575b33803b801561012c576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b34633b9aca008110156101af576040805160e560020a62461bcd02815260206004820152602160248201527f706f636b6574206c696e743a206e6f7420612076616c69642063757272656e6360448201527f7900000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b69152d02c7e14af6800000811115610211576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f20766974616c696b2c206e6f000000000000000000000000000000000000604482015290519081900360640190fd5b60075460ff16151560011461025e576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b61026860006105ff565b505050005b34801561027957600080fd5b50610282611136565b60408051918252519081900360200190f35b3480156102a057600080fd5b506102826112ed565b3480156102b557600080fd5b506102826112f3565b3480156102ca57600080fd5b506102826112f9565b3480156102df57600080fd5b506102f4600160a060020a03600435166112ff565b005b34801561030257600080fd5b506102f4611390565b34801561031757600080fd5b50610320611583565b6040518088815260200187600260200280838360005b8381101561034e578181015183820152602001610336565b5050505090500186600360200280838360005b83811015610379578181015183820152602001610361565b5050505090500185600260200280838360005b838110156103a457818101518382015260200161038c565b5050505090500184600660200280838360005b838110156103cf5781810151838201526020016103b7565b5050505090500183600b60200280838360005b838110156103fa5781810151838201526020016103e2565b5050505090500182600460200280838360005b8381101561042557818101518382015260200161040d565b5050505090500197505050505050505060405180910390f35b34801561044a57600080fd5b5061045660043561178b565b604080519b8c5260208c019a909a528a8a019890985260608a01969096526080890194909452600160a060020a0392831660a0890152911660c087015260e086015261010085015261012084015261014083015251908190036101600190f35b3480156104c257600080fd5b506102f46004356117f1565b3480156104da57600080fd5b506104e3611dd2565b60408051600160a060020a039092168252519081900360200190f35b34801561050b57600080fd5b50610523600435600160a060020a0360243516611de1565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102f4600160a060020a0360043516611e19565b34801561056e57600080fd5b506102f4611fa1565b34801561058357600080fd5b5061059b600435600160a060020a036024351661208b565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156105cd57600080fd5b506105d66123f6565b604080519115158252519081900360200190f35b3480156105f657600080fd5b506104e36123ff565b60008054808252600260205260408220600301543492429291849190819081908190819088111561086357600087815260026020526040902060030154603c018811610695576040805160e560020a62461bcd02815260206004820152601960248201527f77652073686f756c64207761697420736f6d652074696d657300000000000000604482015290519081900360640190fd5b6000878152600260205260409020601881015490546106d991906064906106c390600e63ffffffff61240e16565b8115156106cc57fe5b049063ffffffff61248b16565b6000889052600260205294506106f7600b600163ffffffff61248b16565b600088815260026020526040902060170154101561081e5760008781526002602052604090206017015461074390610737600b600163ffffffff61248b16565b9063ffffffff61248b16565b60008881526002602052604090205490945060649061076990601e63ffffffff61240e16565b81151561077257fe5b600089815260026020526040902060190154919004935061079a90849063ffffffff6124eb16565b600088815260026020526040902060060154909350600160a060020a031615610802576107fb6107ee60646107d686600363ffffffff61240e16565b8115156107df57fe5b8791900463ffffffff61240e16565b869063ffffffff6124eb16565b945061081e565b61081b6107ee60646107d686600463ffffffff61240e16565b94505b61082f87600163ffffffff6124eb16565b600081815581815260026020819052604082209081018b90556102588b016003820155601781019190915560190186905596505b60008781526002602052604090206001015468056bc75e2d631000001115610c02576000878152600260205260409020546108a4908a63ffffffff61254616565b60008881526002602052604090206001015490925068056bc75e2d63100000906108d590849063ffffffff6124eb16565b10610a26576000878152600260205260409020600101546109069068056bc75e2d631000009063ffffffff61248b16565b600088815260026020526040902054909250661aa5e9e8486a601161092e5760009550610958565b60008781526002602052604090205461095590661aa5e9e8486a609063ffffffff61248b16565b95505b858911156109a257336108fc6109748b8963ffffffff61248b16565b6040518115909202916000818181858888f1935050505015801561099c573d6000803e3d6000fd5b506109a6565b8895505b6109b788603c63ffffffff6124eb16565b6000888152600260205260409020600401556109eb603c6109df8a60b463ffffffff6124eb16565b9063ffffffff6124eb16565b60008881526002602052604090206003810191909155600601805473ffffffffffffffffffffffffffffffffffffffff191633179055610aa0565b678ac7230489e80000821015610a86576040805160e560020a62461bcd02815260206004820152601960248201527f6174206c656173742031302074686f756e642070656f706c6500000000000000604482015290519081900360640190fd5b600087815260026020526040902061025889016003909101555b6000878152600260209081526040808320600501805473ffffffffffffffffffffffffffffffffffffffff19163390811790915560038352818420908452909152902060010154610af890839063ffffffff6124eb16565b60008881526003602090815260408083203384529091529020600181019190915554610b259087906124eb565b6000888152600360209081526040808320338452825280832093909355898252600290522060010154610b5f90839063ffffffff6124eb16565b6000888152600260205260409020600181019190915554610b8790879063ffffffff6124eb16565b600088815260026020526040902055600154610baa90879063ffffffff6124eb16565b60015560408051838152602081018890528082018a90529051600160a060020a038c1691899133917f6ba72b77342d975bcfca91896da50e2306b21fa4b34dc71d1beb12dbd6afc33b919081900360600190a4610f03565b6000878152600260205260409020600401548811610c6a576040805160e560020a62461bcd02815260206004820152601e60248201527f546865207669727573206973206265696e672070726570617265642e2e2e0000604482015290519081900360640190fd5b610cc166b1a2bc2ec500006109df66b1a2bc2ec5000060b4610cab600260008e8152602001908152602001600020600401548e61248b90919063ffffffff16565b811515610cb457fe5b049063ffffffff61240e16565b955085891015610d1b576040805160e560020a62461bcd02815260206004820152601560248201527f457468657220616d6f756e742069732077726f6e670000000000000000000000604482015290519081900360640190fd5b85891115610d6157336108fc610d378b8963ffffffff61248b16565b6040518115909202916000818181858888f19350505050158015610d5f573d6000803e3d6000fd5b505b600087815260026020908152604080832060b48c016003808301919091556005909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155908352818420908452909152902054610dc490879063ffffffff6124eb16565b6000888152600360209081526040808320338452825280832093909355898252600290522054610dfb90879063ffffffff6124eb16565b600088815260026020526040902055600154610e1e90879063ffffffff6124eb16565b6001908155600088815260026020526040902060040154610e5491906109df90829060b490610cab908e9063ffffffff61248b16565b905061019a8110610e64575061019a5b6000878152600260205260409020601a0154610ea3906103e8610e8d848a63ffffffff61240e16565b811515610e9657fe5b049063ffffffff6124eb16565b600088815260026020908152604091829020601a019290925580518881529182018a90528051600160a060020a038d16928a9233927f7cfc1da3c0c40e1670d11d884a3776eb3a8949e87b844c6dac43b5c9c3dc5f7e9281900390910190a45b600160a060020a038a1615801590610f1f5750610f1f8a612573565b1561101e57610f8c6064610f3a88600a63ffffffff61240e16565b811515610f4357fe5b04600360008a815260200190815260200160002060008d600160a060020a0316600160a060020a03168152602001908152602001600020600301546124eb90919063ffffffff16565b6003600089815260200190815260200160002060008c600160a060020a0316600160a060020a031681526020019081526020016000206003018190555061100b6064610fe2600a8961240e90919063ffffffff16565b811515610feb57fe5b60008a81526002602052604090206018015491900463ffffffff6124eb16565b6000888152600260205260409020601801555b60008781526002602052604090206017810154600790910190600b9006600b811061104557fe5b015460008881526002602052604090206017810154600160a060020a03909216916012909101906003166004811061107957fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560008781526002602052604090206017810154339160070190600b9006600b81106110cc57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556000878152600260205260409020601701546111159060016124eb565b60009788526002602052604090972060170196909655505050505050505050565b600080548082526002602052604082206003015442908390821115611164576602aa209ead3c5093506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011156111c9576000838152600260205260409020600101546111c290678ac7230489e80000906111b6908263ffffffff6124eb16565b9063ffffffff61257f16565b93506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011801590611203575060008381526002602052604090206004015415155b80156112285750600083815260026020526040902060060154600160a060020a031615155b8015611244575060008381526002602052604090206004015482105b156112585766b1a2bc2ec5000093506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011801590611292575060008381526002602052604090206004015482115b156112e2576112d866b1a2bc2ec500006109df66b1a2bc2ec5000060b4610cab600260008a8152602001908152602001600020600401548861248b90919063ffffffff16565b90508093506112e7565b600093505b50505090565b60005481565b60015481565b60065481565b600454600160a060020a03163314611361576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79206f776e65722063616e20646f206974000000000000000000000000604482015290519081900360640190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008033803b80156113da576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b60075460ff161515600114611427576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b600554600160a060020a031615156114af576040805160e560020a62461bcd02815260206004820152602e60248201527f546865207265636569766572206164647265737320686173206e6f742062656560448201527f6e20696e697469616c697a65642e000000000000000000000000000000000000606482015290519081900360840190fd5b6001546064906114c690600563ffffffff61240e16565b8115156114cf57fe5b04935060065492508284111515611530576040805160e560020a62461bcd02815260206004820152601360248201527f4e6f206e65656420746f20776974686472617700000000000000000000000000604482015290519081900360640190fd5b6006849055600554600160a060020a03166108fc611554868663ffffffff61248b16565b6040518115909202916000818181858888f1935050505015801561157c573d6000803e3d6000fd5b5050505050565b600061158d6126f5565b611595612710565b61159d6126f5565b6115a561272f565b6115ad61274e565b6115b561276e565b6000805480825260026020526040822054909190611617906064906115e190601e63ffffffff61240e16565b8115156115ea57fe5b6000858152600260205260409020601a81015460199091015492909104916109df9163ffffffff6124eb16565b604080518082018252600085815260026020818152848320805485526001810154828601528551606081018752818401548152600382015481840152600482015481880152865180880188526005830154600160a060020a039081168252958b905293835260069091015490931690820152835160c0810190945293945085939192909190806116a5611136565b815260008881526002602081815260408084206019810154838701528186018c9052601881015460608701526017810154600b908190066080880152601a82015460a090970196909652938c905291905280516101608101918290526007830193601290930192909184919082845b8154600160a060020a0316815260019091019060200180831161171457505060408051608081019182905294965085935060049250905082845b8154600160a060020a0316815260019091019060200180831161174e57505050505090509850985098509850985098509850505090919293949596565b600260208190526000918252604090912080546001820154928201546003830154600484015460058501546006860154601787015460188801546019890154601a90990154979998969795969495600160a060020a03948516959390941693919290918b565b600080808080808033803b8015611840576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b60075460ff16151560011461188d576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b6000548a11156118e7576040805160e560020a62461bcd02815260206004820152601760248201527f596f752772652072756e6e696e6720746f6f2066617374000000000000000000604482015290519081900360640190fd5b60008a81526002602052604081205490995060649061190d90601e63ffffffff61240e16565b81151561191657fe5b60008c815260026020526040902060190154919004985061193e90899063ffffffff6124eb16565b60008b8152600260205260409020601a015490985061196490899063ffffffff6124eb16565b60008b815260026020526040812054919950975060649061198c90603363ffffffff61240e16565b81151561199557fe5b60008c8152600260205260409020601a015491900496506119bd90879063ffffffff61248b16565b60008b81526003602090815260408083203384529091529020600101549096506119ee90879063ffffffff61240e16565b60008b81526002602052604090206001015490965086811515611a0d57fe5b60008c8152600360208181526040808420338552909152909120015491900496509450611a40868663ffffffff6124eb16565b60008b8152600360209081526040808320338452909152902060020154909650935083861115611aac57611a8a611a7d878663ffffffff61248b16565b8a9063ffffffff6124eb16565b60008b8152600360209081526040808320338452909152902060020187905598505b60008a815260026020526040902060060154600160a060020a031633148015611aee575060008a815260026020526040902060060154600160a060020a031615155b8015611b0a575060008a81526002602052604090206004015415155b15611b4057611b3d6064611b258a600a63ffffffff61240e16565b811515611b2e57fe5b8991900463ffffffff6124eb16565b96505b60008a815260026020526040902060030154421115611d005760008a815260026020526040902060050154600160a060020a0316331415611b9457611b916064611b258a603c63ffffffff61240e16565b96505b600092505b60008a90526002602052600b831015611d005760008a8152600260205260409020339060070184600b8110611bca57fe5b0154600160a060020a0316148015611c12575060008a8152600260205260409020601701548390600b90611c0590600163ffffffff61248b16565b811515611c0e57fe5b0614155b15611ce85760008a815260026020526040902060160183600b8110611c3357fe5b602081049091015460ff601f9092166101000a90041615611c5357611ce8565b60008a815260026020526040902060060154600160a060020a031615611c9057611c896064611b258a600363ffffffff61240e16565b9650611ca9565b611ca66064611b258a600463ffffffff61240e16565b96505b60008a815260026020526040902060019060160184600b8110611cc857fe5b602091828204019190066101000a81548160ff0219169083151502179055505b611cf983600163ffffffff6124eb16565b9250611b99565b60008a8152600360209081526040808320338452909152902060040154611d3290611a7d90899063ffffffff61248b16565b60008b8152600360209081526040808320338452909152902060040188905598508815611d885760405133908a156108fc02908b906000818181858888f19350505050158015611d86573d6000803e3d6000fd5b505b604080518a815242602082015281518c9233927f067aa1d7e7bd2c0daf878a68551cbd9e1a4dbaaa1510600154c71bffbe420d86929081900390910190a350505050505050505050565b600454600160a060020a031681565b600360208181526000938452604080852090915291835291208054600182015460028301549383015460049093015491939092909185565b33803b8015611e60576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b34633b9aca00811015611ee3576040805160e560020a62461bcd02815260206004820152602160248201527f706f636b6574206c696e743a206e6f7420612076616c69642063757272656e6360448201527f7900000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b69152d02c7e14af6800000811115611f45576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f20766974616c696b2c206e6f000000000000000000000000000000000000604482015290519081900360640190fd5b60075460ff161515600114611f92576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b611f9b846105ff565b50505050565b600454600160a060020a03163314612003576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79206f776e65722063616e20646f206974000000000000000000000000604482015290519081900360640190fd5b600160008181526002602052427fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e2819055610258017fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e3557fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2f9556007805460ff19169091179055565b60008281526002602052604081205481908190819081908190819081906064906120bc90603363ffffffff61240e16565b8115156120c557fe5b60008c8152600260205260409020601a015491900493506120ed90849063ffffffff61248b16565b60008b8152600360209081526040808320600160a060020a038e16845290915290206001015490935061212790849063ffffffff61240e16565b60008b8152600260205260409020600101549093508381151561214657fe5b60008c815260026020526040902054919004935060649061216e90601e63ffffffff61240e16565b81151561217757fe5b60008c815260026020526040902060190154919004925061219f90839063ffffffff6124eb16565b60008b8152600260205260409020601a01549092506121c590839063ffffffff6124eb16565b60008b815260026020526040902060060154909250600160a060020a038a8116911614801561220d575060008a815260026020526040902060060154600160a060020a031615155b8015612229575060008a81526002602052604090206004015415155b1561225f5761225c606461224484600a63ffffffff61240e16565b81151561224d57fe5b8691900463ffffffff6124eb16565b93505b60008a8152600260205260409020600301544211156123af5760008a815260026020526040902060050154600160a060020a038a8116911614156122b6576122b3606461224484603c63ffffffff61240e16565b93505b5060005b60008a90526002602052600b8110156123af5760008a8152600260205260409020600160a060020a038a169060070182600b81106122f457fe5b0154600160a060020a031614801561233c575060008a8152600260205260409020601701548190600b9061232f90600163ffffffff61248b16565b81151561233857fe5b0614155b156123975760008a815260026020526040902060060154600160a060020a03161561237e57612377606461224484600363ffffffff61240e16565b9350612397565b612394606461224484600463ffffffff61240e16565b93505b6123a881600163ffffffff6124eb16565b90506122ba565b50506000978852600360208181526040808b20600160a060020a039a909a168b52989052969097209586015460028701546004909701549198909691909101945092505050565b60075460ff1681565b600554600160a060020a031681565b600082151561241f57506000612485565b5081810281838281151561242f57fe5b0414612485576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b92915050565b6000828211156124e5576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b50900390565b81810182811015612485576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b600061256c612554846125a5565b610737612567868663ffffffff6124eb16565b6125a5565b9392505050565b803b8015905b50919050565b600061256c61259c612597858563ffffffff61248b16565b612629565b61073785612629565b60006309502f906126196d03b2a1d15167e7c5699bfde000006107376126147a0dac7055469777a6122ee4310dd6c14410500f29048400000000006109df6b01027e72f1f12813088000006126088a670de0b6b3a764000063ffffffff61240e16565b9063ffffffff61240e16565b612696565b81151561262257fe5b0492915050565b600061263c670de0b6b3a76400006126e9565b612619600261266f61265c86670de0b6b3a764000063ffffffff61240e16565b65886c8f6730709063ffffffff61240e16565b81151561267857fe5b046109df612685866126e9565b6304a817c89063ffffffff61240e16565b60008060026126a68460016124eb565b8115156126af57fe5b0490508291505b818110156125795780915060026126d882858115156126d157fe5b04836124eb565b8115156126e157fe5b0490506126b6565b6000612485828361240e565b60408051808201825290600290829080388339509192915050565b6060604051908101604052806003906020820280388339509192915050565b60c0604051908101604052806006906020820280388339509192915050565b61016060405190810160405280600b906020820280388339509192915050565b608060405190810160405280600490602082028038833950919291505056005468652067616d65206861736e27742073746172746564207965742e00000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058206840c5653671b9214d2a2d46ffefb10601ae6662bd6d23576c34c5cdce0ec0ea0029
Deployed Bytecode
0x6080604052600436106100e55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663018a25e8811461026d5780633c28308a146102945780633c3c9c23146102a95780634311de8f146102be578063547e3f06146102d35780636561e6ba146102f6578063747dff421461030b5780637e8ac5901461043e57806380ec35ff146104b65780638da5cb5b146104ce578063a05ce940146104ff578063c5960c291461054e578063d65ab5f214610562578063d982466d14610577578063e3aae11b146105c1578063f7260d3e146105ea575b33803b801561012c576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b34633b9aca008110156101af576040805160e560020a62461bcd02815260206004820152602160248201527f706f636b6574206c696e743a206e6f7420612076616c69642063757272656e6360448201527f7900000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b69152d02c7e14af6800000811115610211576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f20766974616c696b2c206e6f000000000000000000000000000000000000604482015290519081900360640190fd5b60075460ff16151560011461025e576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b61026860006105ff565b505050005b34801561027957600080fd5b50610282611136565b60408051918252519081900360200190f35b3480156102a057600080fd5b506102826112ed565b3480156102b557600080fd5b506102826112f3565b3480156102ca57600080fd5b506102826112f9565b3480156102df57600080fd5b506102f4600160a060020a03600435166112ff565b005b34801561030257600080fd5b506102f4611390565b34801561031757600080fd5b50610320611583565b6040518088815260200187600260200280838360005b8381101561034e578181015183820152602001610336565b5050505090500186600360200280838360005b83811015610379578181015183820152602001610361565b5050505090500185600260200280838360005b838110156103a457818101518382015260200161038c565b5050505090500184600660200280838360005b838110156103cf5781810151838201526020016103b7565b5050505090500183600b60200280838360005b838110156103fa5781810151838201526020016103e2565b5050505090500182600460200280838360005b8381101561042557818101518382015260200161040d565b5050505090500197505050505050505060405180910390f35b34801561044a57600080fd5b5061045660043561178b565b604080519b8c5260208c019a909a528a8a019890985260608a01969096526080890194909452600160a060020a0392831660a0890152911660c087015260e086015261010085015261012084015261014083015251908190036101600190f35b3480156104c257600080fd5b506102f46004356117f1565b3480156104da57600080fd5b506104e3611dd2565b60408051600160a060020a039092168252519081900360200190f35b34801561050b57600080fd5b50610523600435600160a060020a0360243516611de1565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b6102f4600160a060020a0360043516611e19565b34801561056e57600080fd5b506102f4611fa1565b34801561058357600080fd5b5061059b600435600160a060020a036024351661208b565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156105cd57600080fd5b506105d66123f6565b604080519115158252519081900360200190f35b3480156105f657600080fd5b506104e36123ff565b60008054808252600260205260408220600301543492429291849190819081908190819088111561086357600087815260026020526040902060030154603c018811610695576040805160e560020a62461bcd02815260206004820152601960248201527f77652073686f756c64207761697420736f6d652074696d657300000000000000604482015290519081900360640190fd5b6000878152600260205260409020601881015490546106d991906064906106c390600e63ffffffff61240e16565b8115156106cc57fe5b049063ffffffff61248b16565b6000889052600260205294506106f7600b600163ffffffff61248b16565b600088815260026020526040902060170154101561081e5760008781526002602052604090206017015461074390610737600b600163ffffffff61248b16565b9063ffffffff61248b16565b60008881526002602052604090205490945060649061076990601e63ffffffff61240e16565b81151561077257fe5b600089815260026020526040902060190154919004935061079a90849063ffffffff6124eb16565b600088815260026020526040902060060154909350600160a060020a031615610802576107fb6107ee60646107d686600363ffffffff61240e16565b8115156107df57fe5b8791900463ffffffff61240e16565b869063ffffffff6124eb16565b945061081e565b61081b6107ee60646107d686600463ffffffff61240e16565b94505b61082f87600163ffffffff6124eb16565b600081815581815260026020819052604082209081018b90556102588b016003820155601781019190915560190186905596505b60008781526002602052604090206001015468056bc75e2d631000001115610c02576000878152600260205260409020546108a4908a63ffffffff61254616565b60008881526002602052604090206001015490925068056bc75e2d63100000906108d590849063ffffffff6124eb16565b10610a26576000878152600260205260409020600101546109069068056bc75e2d631000009063ffffffff61248b16565b600088815260026020526040902054909250661aa5e9e8486a601161092e5760009550610958565b60008781526002602052604090205461095590661aa5e9e8486a609063ffffffff61248b16565b95505b858911156109a257336108fc6109748b8963ffffffff61248b16565b6040518115909202916000818181858888f1935050505015801561099c573d6000803e3d6000fd5b506109a6565b8895505b6109b788603c63ffffffff6124eb16565b6000888152600260205260409020600401556109eb603c6109df8a60b463ffffffff6124eb16565b9063ffffffff6124eb16565b60008881526002602052604090206003810191909155600601805473ffffffffffffffffffffffffffffffffffffffff191633179055610aa0565b678ac7230489e80000821015610a86576040805160e560020a62461bcd02815260206004820152601960248201527f6174206c656173742031302074686f756e642070656f706c6500000000000000604482015290519081900360640190fd5b600087815260026020526040902061025889016003909101555b6000878152600260209081526040808320600501805473ffffffffffffffffffffffffffffffffffffffff19163390811790915560038352818420908452909152902060010154610af890839063ffffffff6124eb16565b60008881526003602090815260408083203384529091529020600181019190915554610b259087906124eb565b6000888152600360209081526040808320338452825280832093909355898252600290522060010154610b5f90839063ffffffff6124eb16565b6000888152600260205260409020600181019190915554610b8790879063ffffffff6124eb16565b600088815260026020526040902055600154610baa90879063ffffffff6124eb16565b60015560408051838152602081018890528082018a90529051600160a060020a038c1691899133917f6ba72b77342d975bcfca91896da50e2306b21fa4b34dc71d1beb12dbd6afc33b919081900360600190a4610f03565b6000878152600260205260409020600401548811610c6a576040805160e560020a62461bcd02815260206004820152601e60248201527f546865207669727573206973206265696e672070726570617265642e2e2e0000604482015290519081900360640190fd5b610cc166b1a2bc2ec500006109df66b1a2bc2ec5000060b4610cab600260008e8152602001908152602001600020600401548e61248b90919063ffffffff16565b811515610cb457fe5b049063ffffffff61240e16565b955085891015610d1b576040805160e560020a62461bcd02815260206004820152601560248201527f457468657220616d6f756e742069732077726f6e670000000000000000000000604482015290519081900360640190fd5b85891115610d6157336108fc610d378b8963ffffffff61248b16565b6040518115909202916000818181858888f19350505050158015610d5f573d6000803e3d6000fd5b505b600087815260026020908152604080832060b48c016003808301919091556005909101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155908352818420908452909152902054610dc490879063ffffffff6124eb16565b6000888152600360209081526040808320338452825280832093909355898252600290522054610dfb90879063ffffffff6124eb16565b600088815260026020526040902055600154610e1e90879063ffffffff6124eb16565b6001908155600088815260026020526040902060040154610e5491906109df90829060b490610cab908e9063ffffffff61248b16565b905061019a8110610e64575061019a5b6000878152600260205260409020601a0154610ea3906103e8610e8d848a63ffffffff61240e16565b811515610e9657fe5b049063ffffffff6124eb16565b600088815260026020908152604091829020601a019290925580518881529182018a90528051600160a060020a038d16928a9233927f7cfc1da3c0c40e1670d11d884a3776eb3a8949e87b844c6dac43b5c9c3dc5f7e9281900390910190a45b600160a060020a038a1615801590610f1f5750610f1f8a612573565b1561101e57610f8c6064610f3a88600a63ffffffff61240e16565b811515610f4357fe5b04600360008a815260200190815260200160002060008d600160a060020a0316600160a060020a03168152602001908152602001600020600301546124eb90919063ffffffff16565b6003600089815260200190815260200160002060008c600160a060020a0316600160a060020a031681526020019081526020016000206003018190555061100b6064610fe2600a8961240e90919063ffffffff16565b811515610feb57fe5b60008a81526002602052604090206018015491900463ffffffff6124eb16565b6000888152600260205260409020601801555b60008781526002602052604090206017810154600790910190600b9006600b811061104557fe5b015460008881526002602052604090206017810154600160a060020a03909216916012909101906003166004811061107957fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560008781526002602052604090206017810154339160070190600b9006600b81106110cc57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556000878152600260205260409020601701546111159060016124eb565b60009788526002602052604090972060170196909655505050505050505050565b600080548082526002602052604082206003015442908390821115611164576602aa209ead3c5093506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011156111c9576000838152600260205260409020600101546111c290678ac7230489e80000906111b6908263ffffffff6124eb16565b9063ffffffff61257f16565b93506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011801590611203575060008381526002602052604090206004015415155b80156112285750600083815260026020526040902060060154600160a060020a031615155b8015611244575060008381526002602052604090206004015482105b156112585766b1a2bc2ec5000093506112e7565b60008381526002602052604090206001015468056bc75e2d6310000011801590611292575060008381526002602052604090206004015482115b156112e2576112d866b1a2bc2ec500006109df66b1a2bc2ec5000060b4610cab600260008a8152602001908152602001600020600401548861248b90919063ffffffff16565b90508093506112e7565b600093505b50505090565b60005481565b60015481565b60065481565b600454600160a060020a03163314611361576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79206f776e65722063616e20646f206974000000000000000000000000604482015290519081900360640190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008033803b80156113da576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b60075460ff161515600114611427576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b600554600160a060020a031615156114af576040805160e560020a62461bcd02815260206004820152602e60248201527f546865207265636569766572206164647265737320686173206e6f742062656560448201527f6e20696e697469616c697a65642e000000000000000000000000000000000000606482015290519081900360840190fd5b6001546064906114c690600563ffffffff61240e16565b8115156114cf57fe5b04935060065492508284111515611530576040805160e560020a62461bcd02815260206004820152601360248201527f4e6f206e65656420746f20776974686472617700000000000000000000000000604482015290519081900360640190fd5b6006849055600554600160a060020a03166108fc611554868663ffffffff61248b16565b6040518115909202916000818181858888f1935050505015801561157c573d6000803e3d6000fd5b5050505050565b600061158d6126f5565b611595612710565b61159d6126f5565b6115a561272f565b6115ad61274e565b6115b561276e565b6000805480825260026020526040822054909190611617906064906115e190601e63ffffffff61240e16565b8115156115ea57fe5b6000858152600260205260409020601a81015460199091015492909104916109df9163ffffffff6124eb16565b604080518082018252600085815260026020818152848320805485526001810154828601528551606081018752818401548152600382015481840152600482015481880152865180880188526005830154600160a060020a039081168252958b905293835260069091015490931690820152835160c0810190945293945085939192909190806116a5611136565b815260008881526002602081815260408084206019810154838701528186018c9052601881015460608701526017810154600b908190066080880152601a82015460a090970196909652938c905291905280516101608101918290526007830193601290930192909184919082845b8154600160a060020a0316815260019091019060200180831161171457505060408051608081019182905294965085935060049250905082845b8154600160a060020a0316815260019091019060200180831161174e57505050505090509850985098509850985098509850505090919293949596565b600260208190526000918252604090912080546001820154928201546003830154600484015460058501546006860154601787015460188801546019890154601a90990154979998969795969495600160a060020a03948516959390941693919290918b565b600080808080808033803b8015611840576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b60075460ff16151560011461188d576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b6000548a11156118e7576040805160e560020a62461bcd02815260206004820152601760248201527f596f752772652072756e6e696e6720746f6f2066617374000000000000000000604482015290519081900360640190fd5b60008a81526002602052604081205490995060649061190d90601e63ffffffff61240e16565b81151561191657fe5b60008c815260026020526040902060190154919004985061193e90899063ffffffff6124eb16565b60008b8152600260205260409020601a015490985061196490899063ffffffff6124eb16565b60008b815260026020526040812054919950975060649061198c90603363ffffffff61240e16565b81151561199557fe5b60008c8152600260205260409020601a015491900496506119bd90879063ffffffff61248b16565b60008b81526003602090815260408083203384529091529020600101549096506119ee90879063ffffffff61240e16565b60008b81526002602052604090206001015490965086811515611a0d57fe5b60008c8152600360208181526040808420338552909152909120015491900496509450611a40868663ffffffff6124eb16565b60008b8152600360209081526040808320338452909152902060020154909650935083861115611aac57611a8a611a7d878663ffffffff61248b16565b8a9063ffffffff6124eb16565b60008b8152600360209081526040808320338452909152902060020187905598505b60008a815260026020526040902060060154600160a060020a031633148015611aee575060008a815260026020526040902060060154600160a060020a031615155b8015611b0a575060008a81526002602052604090206004015415155b15611b4057611b3d6064611b258a600a63ffffffff61240e16565b811515611b2e57fe5b8991900463ffffffff6124eb16565b96505b60008a815260026020526040902060030154421115611d005760008a815260026020526040902060050154600160a060020a0316331415611b9457611b916064611b258a603c63ffffffff61240e16565b96505b600092505b60008a90526002602052600b831015611d005760008a8152600260205260409020339060070184600b8110611bca57fe5b0154600160a060020a0316148015611c12575060008a8152600260205260409020601701548390600b90611c0590600163ffffffff61248b16565b811515611c0e57fe5b0614155b15611ce85760008a815260026020526040902060160183600b8110611c3357fe5b602081049091015460ff601f9092166101000a90041615611c5357611ce8565b60008a815260026020526040902060060154600160a060020a031615611c9057611c896064611b258a600363ffffffff61240e16565b9650611ca9565b611ca66064611b258a600463ffffffff61240e16565b96505b60008a815260026020526040902060019060160184600b8110611cc857fe5b602091828204019190066101000a81548160ff0219169083151502179055505b611cf983600163ffffffff6124eb16565b9250611b99565b60008a8152600360209081526040808320338452909152902060040154611d3290611a7d90899063ffffffff61248b16565b60008b8152600360209081526040808320338452909152902060040188905598508815611d885760405133908a156108fc02908b906000818181858888f19350505050158015611d86573d6000803e3d6000fd5b505b604080518a815242602082015281518c9233927f067aa1d7e7bd2c0daf878a68551cbd9e1a4dbaaa1510600154c71bffbe420d86929081900390910190a350505050505050505050565b600454600160a060020a031681565b600360208181526000938452604080852090915291835291208054600182015460028301549383015460049093015491939092909185565b33803b8015611e60576040805160e560020a62461bcd02815260206004820152601160248201526000805160206127ae833981519152604482015290519081900360640190fd5b34633b9aca00811015611ee3576040805160e560020a62461bcd02815260206004820152602160248201527f706f636b6574206c696e743a206e6f7420612076616c69642063757272656e6360448201527f7900000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b69152d02c7e14af6800000811115611f45576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f20766974616c696b2c206e6f000000000000000000000000000000000000604482015290519081900360640190fd5b60075460ff161515600114611f92576040805160e560020a62461bcd02815260206004820152601c602482015260008051602061278e833981519152604482015290519081900360640190fd5b611f9b846105ff565b50505050565b600454600160a060020a03163314612003576040805160e560020a62461bcd02815260206004820152601460248201527f6f6e6c79206f776e65722063616e20646f206974000000000000000000000000604482015290519081900360640190fd5b600160008181526002602052427fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e2819055610258017fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e3557fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2f9556007805460ff19169091179055565b60008281526002602052604081205481908190819081908190819081906064906120bc90603363ffffffff61240e16565b8115156120c557fe5b60008c8152600260205260409020601a015491900493506120ed90849063ffffffff61248b16565b60008b8152600360209081526040808320600160a060020a038e16845290915290206001015490935061212790849063ffffffff61240e16565b60008b8152600260205260409020600101549093508381151561214657fe5b60008c815260026020526040902054919004935060649061216e90601e63ffffffff61240e16565b81151561217757fe5b60008c815260026020526040902060190154919004925061219f90839063ffffffff6124eb16565b60008b8152600260205260409020601a01549092506121c590839063ffffffff6124eb16565b60008b815260026020526040902060060154909250600160a060020a038a8116911614801561220d575060008a815260026020526040902060060154600160a060020a031615155b8015612229575060008a81526002602052604090206004015415155b1561225f5761225c606461224484600a63ffffffff61240e16565b81151561224d57fe5b8691900463ffffffff6124eb16565b93505b60008a8152600260205260409020600301544211156123af5760008a815260026020526040902060050154600160a060020a038a8116911614156122b6576122b3606461224484603c63ffffffff61240e16565b93505b5060005b60008a90526002602052600b8110156123af5760008a8152600260205260409020600160a060020a038a169060070182600b81106122f457fe5b0154600160a060020a031614801561233c575060008a8152600260205260409020601701548190600b9061232f90600163ffffffff61248b16565b81151561233857fe5b0614155b156123975760008a815260026020526040902060060154600160a060020a03161561237e57612377606461224484600363ffffffff61240e16565b9350612397565b612394606461224484600463ffffffff61240e16565b93505b6123a881600163ffffffff6124eb16565b90506122ba565b50506000978852600360208181526040808b20600160a060020a039a909a168b52989052969097209586015460028701546004909701549198909691909101945092505050565b60075460ff1681565b600554600160a060020a031681565b600082151561241f57506000612485565b5081810281838281151561242f57fe5b0414612485576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d617468206d756c206661696c656400000000000000000000000000604482015290519081900360640190fd5b92915050565b6000828211156124e5576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820737562206661696c656400000000000000000000000000604482015290519081900360640190fd5b50900390565b81810182811015612485576040805160e560020a62461bcd02815260206004820152601360248201527f536166654d61746820616464206661696c656400000000000000000000000000604482015290519081900360640190fd5b600061256c612554846125a5565b610737612567868663ffffffff6124eb16565b6125a5565b9392505050565b803b8015905b50919050565b600061256c61259c612597858563ffffffff61248b16565b612629565b61073785612629565b60006309502f906126196d03b2a1d15167e7c5699bfde000006107376126147a0dac7055469777a6122ee4310dd6c14410500f29048400000000006109df6b01027e72f1f12813088000006126088a670de0b6b3a764000063ffffffff61240e16565b9063ffffffff61240e16565b612696565b81151561262257fe5b0492915050565b600061263c670de0b6b3a76400006126e9565b612619600261266f61265c86670de0b6b3a764000063ffffffff61240e16565b65886c8f6730709063ffffffff61240e16565b81151561267857fe5b046109df612685866126e9565b6304a817c89063ffffffff61240e16565b60008060026126a68460016124eb565b8115156126af57fe5b0490508291505b818110156125795780915060026126d882858115156126d157fe5b04836124eb565b8115156126e157fe5b0490506126b6565b6000612485828361240e565b60408051808201825290600290829080388339509192915050565b6060604051908101604052806003906020820280388339509192915050565b60c0604051908101604052806006906020820280388339509192915050565b61016060405190810160405280600b906020820280388339509192915050565b608060405190810160405280600490602082028038833950919291505056005468652067616d65206861736e27742073746172746564207965742e00000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058206840c5653671b9214d2a2d46ffefb10601ae6662bd6d23576c34c5cdce0ec0ea0029
Swarm Source
bzzr://6840c5653671b9214d2a2d46ffefb10601ae6662bd6d23576c34c5cdce0ec0ea
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,157.28 | 0.00827405 | $26.12 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.