More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 13,707 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Upgrade | 12012054 | 1388 days ago | IN | 0 ETH | 0.00270676 | ||||
Do Quest | 7069188 | 2174 days ago | IN | 0 ETH | 0.00032305 | ||||
Do Quest | 7063542 | 2175 days ago | IN | 0 ETH | 0.00025126 | ||||
Do Quest | 7063542 | 2175 days ago | IN | 0 ETH | 0.00025126 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00012359 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00016859 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00016859 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00012359 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057921 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00012359 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7057920 | 2176 days ago | IN | 0 ETH | 0.00010768 | ||||
Do Quest | 7052333 | 2177 days ago | IN | 0 ETH | 0.00006181 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12012054 | 1388 days ago | 0.44502342 ETH | ||||
7036296 | 2179 days ago | 0.011 ETH | ||||
7034996 | 2180 days ago | 0.0005 ETH | ||||
7033655 | 2180 days ago | 0.03779355 ETH | ||||
7033488 | 2180 days ago | 0.001 ETH | ||||
7032774 | 2180 days ago | 0.2118923 ETH | ||||
7032496 | 2180 days ago | 0.37392423 ETH | ||||
7032452 | 2180 days ago | 0.08179355 ETH | ||||
7032375 | 2180 days ago | 0.00825 ETH | ||||
7032351 | 2180 days ago | 0.03779355 ETH | ||||
7032308 | 2180 days ago | 0.14846969 ETH | ||||
7032270 | 2180 days ago | 0.0055 ETH | ||||
7032218 | 2180 days ago | 0.08658711 ETH | ||||
7032168 | 2180 days ago | 0.23776134 ETH | ||||
7032162 | 2180 days ago | 0.15466098 ETH | ||||
7032146 | 2180 days ago | 0.03779355 ETH | ||||
7030489 | 2181 days ago | 0.187 ETH | ||||
7027095 | 2181 days ago | 0.002 ETH | ||||
7026369 | 2181 days ago | 0.016 ETH | ||||
7025813 | 2181 days ago | 0.001 ETH | ||||
7025670 | 2181 days ago | 0.004 ETH | ||||
7023542 | 2182 days ago | 0.00825 ETH | ||||
7021626 | 2182 days ago | 0.0005 ETH | ||||
7018088 | 2183 days ago | 0.033 ETH | ||||
7016854 | 2183 days ago | 0.001 ETH |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0xed82175999a58813e5344760780638e5049d7337c3aa11bc2051e9c4a83cd8cd
Contract Name:
CryptoMiningWar
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-28 */ pragma solidity ^0.4.24; /* * CryptoMiningWar - Mining Contest Game * Author: InspiGames * Website: https://cryptominingwar.github.io/ */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } } /** * @title PullPayment * @dev Base contract supporting async send for pull payments. Inherit from this * contract and use asyncSend instead of send or transfer. */ contract PullPayment { using SafeMath for uint256; mapping(address => uint256) public payments; uint256 public totalPayments; /** * @dev Withdraw accumulated balance, called by payee. */ function withdrawPayments() public { address payee = msg.sender; uint256 payment = payments[payee]; require(payment != 0); require(address(this).balance >= payment); totalPayments = totalPayments.sub(payment); payments[payee] = 0; payee.transfer(payment); } /** * @dev Called by the payer to store the sent amount as credit to be pulled. * @param dest The destination address of the funds. * @param amount The amount to transfer. */ function asyncSend(address dest, uint256 amount) internal { payments[dest] = payments[dest].add(amount); totalPayments = totalPayments.add(amount); } } interface MiniGameInterface { function setupMiniGame(uint256 _miningWarRoundNumber, uint256 _miningWarDeadline) external; function isContractMiniGame() external pure returns( bool _isContractMiniGame ); } contract CryptoMiningWar is PullPayment { bool public initialized = false; uint256 public roundNumber = 0; uint256 public deadline; uint256 public CRTSTAL_MINING_PERIOD = 86400; uint256 public HALF_TIME = 8 hours; uint256 public ROUND_TIME = 86400 * 7; uint256 public prizePool = 0; uint256 BASE_PRICE = 0.005 ether; uint256 RANK_LIST_LIMIT = 10000; uint256 randNonce = 0; uint256 public totalContractMiniGame = 0; mapping(uint256 => address) public contractsMiniGameAddress; //miner info mapping(uint256 => MinerData) private minerData; uint256 private numberOfMiners; // plyer info mapping(address => PlayerData) public players; //booster info uint256 private numberOfBoosts; mapping(uint256 => BoostData) private boostData; //mini game contract info mapping(address => bool) public miniGames; uint256 private numberOfRank; address[21] rankList; address public sponsor; uint256 public sponsorLevel; address public administrator; /*** DATATYPES ***/ struct PlayerData { uint256 roundNumber; mapping(uint256 => uint256) minerCount; uint256 hashrate; uint256 crystals; uint256 lastUpdateTime; uint256 referral_count; uint256 noQuest; } struct MinerData { uint256 basePrice; uint256 baseProduct; uint256 limit; } struct BoostData { address owner; uint256 boostRate; uint256 startingLevel; uint256 startingTime; uint256 halfLife; } modifier isNotOver() { require(now <= deadline); _; } modifier disableContract() { require(tx.origin == msg.sender); _; } modifier isCurrentRound() { require(players[msg.sender].roundNumber == roundNumber); _; } modifier onlyContractsMiniGame() { require(miniGames[msg.sender] == true); _; } event eventDoQuest( uint clientNumber, uint randomNumber ); constructor() public { administrator = msg.sender; numberOfMiners = 8; numberOfBoosts = 5; numberOfRank = 21; //init miner data // price, prod. limit minerData[0] = MinerData(10, 10, 10); //lv1 minerData[1] = MinerData(100, 200, 2); //lv2 minerData[2] = MinerData(400, 800, 4); //lv3 minerData[3] = MinerData(1600, 3200, 8); //lv4 minerData[4] = MinerData(6400, 9600, 16); //lv5 minerData[5] = MinerData(25600, 38400, 32); //lv6 minerData[6] = MinerData(204800, 204800, 64); //lv7 minerData[7] = MinerData(1638400, 819200, 65536); //lv8 } function () public payable { prizePool = SafeMath.add(prizePool, msg.value); } function startGame() public { require(msg.sender == administrator); require(!initialized); startNewRound(); initialized = true; } /** * @dev add crystals to a player * msg.sender should be in the list of mini game */ function addCrystal( address _addr, uint256 _value ) public onlyContractsMiniGame { require(players[_addr].roundNumber == roundNumber); uint256 crystals = SafeMath.mul(_value, CRTSTAL_MINING_PERIOD); PlayerData storage p = players[_addr]; p.crystals = SafeMath.add( p.crystals, crystals ); } /** * @dev sub player's crystals * msg.sender should be in the list of mini game * @param _addr player address */ function subCrystal( address _addr, uint256 _value ) public onlyContractsMiniGame { require(players[_addr].roundNumber == roundNumber); updateCrystal( _addr ); uint256 crystals = SafeMath.mul(_value,CRTSTAL_MINING_PERIOD); require(crystals <= players[_addr].crystals); PlayerData storage p = players[_addr]; p.crystals = SafeMath.sub( p.crystals, crystals ); } /** * @dev add hashrate to a player. * msg.sender should be in the list of mini game */ function addHashrate( address _addr, uint256 _value ) public onlyContractsMiniGame { require(players[_addr].roundNumber == roundNumber); PlayerData storage p = players[_addr]; p.hashrate = SafeMath.add( p.hashrate, _value ); } /** * @dev sub player's hashrate * msg.sender should be in the list of mini game */ function subHashrate( address _addr, uint256 _value ) public onlyContractsMiniGame { require(players[_addr].roundNumber == roundNumber && players[_addr].hashrate >= _value); PlayerData storage p = players[_addr]; p.hashrate = SafeMath.sub( p.hashrate, _value ); } function setContractsMiniGame( address _contractMiniGameAddress ) public { require(administrator == msg.sender); MiniGameInterface MiniGame = MiniGameInterface( _contractMiniGameAddress ); bool isContractMiniGame = MiniGame.isContractMiniGame(); require( isContractMiniGame == true ); if ( miniGames[_contractMiniGameAddress] == false ) { miniGames[_contractMiniGameAddress] = true; contractsMiniGameAddress[totalContractMiniGame] = _contractMiniGameAddress; totalContractMiniGame = totalContractMiniGame + 1; } } /** * @dev remove mini game contract from main contract * @param _contractMiniGameAddress mini game contract address */ function removeContractMiniGame(address _contractMiniGameAddress) public { require(administrator == msg.sender); miniGames[_contractMiniGameAddress] = false; } function startNewRound() private { deadline = SafeMath.add(now, ROUND_TIME); roundNumber = SafeMath.add(roundNumber, 1); initData(); setupMiniGame(); } function setupMiniGame() private { for ( uint256 index = 0; index < totalContractMiniGame; index++ ) { if (miniGames[contractsMiniGameAddress[index]] == true) { MiniGameInterface MiniGame = MiniGameInterface( contractsMiniGameAddress[index] ); MiniGame.setupMiniGame(roundNumber,deadline); } } } function initData() private { sponsor = administrator; sponsorLevel = 6; //init booster data boostData[0] = BoostData(0, 150, 1, now, HALF_TIME); boostData[1] = BoostData(0, 175, 1, now, HALF_TIME); boostData[2] = BoostData(0, 200, 1, now, HALF_TIME); boostData[3] = BoostData(0, 225, 1, now, HALF_TIME); boostData[4] = BoostData(msg.sender, 250, 2, now, HALF_TIME); for (uint256 idx = 0; idx < numberOfRank; idx++) { rankList[idx] = 0; } } function lottery() public disableContract { require(now > deadline); uint256 balance = SafeMath.div(SafeMath.mul(prizePool, 90), 100); uint256 devFee = SafeMath.div(SafeMath.mul(prizePool, 5), 100); asyncSend(administrator, devFee); uint8[10] memory profit = [30,20,10,8,7,5,5,5,5,5]; uint256 totalPayment = 0; uint256 rankPayment = 0; for(uint256 idx = 0; idx < 10; idx++){ if(rankList[idx] != 0){ rankPayment = SafeMath.div(SafeMath.mul(balance, profit[idx]),100); asyncSend(rankList[idx], rankPayment); totalPayment = SafeMath.add(totalPayment, rankPayment); } } prizePool = SafeMath.add(devFee, SafeMath.sub(balance, totalPayment)); startNewRound(); } function getRankList() public view returns(address[21]) { return rankList; } //sponser function becomeSponsor() public isNotOver payable { require(msg.value >= getSponsorFee()); require(msg.sender != sponsor); uint256 sponsorPrice = getCurrentPrice(sponsorLevel); asyncSend(sponsor, sponsorPrice); prizePool = SafeMath.add(prizePool, SafeMath.sub(msg.value, sponsorPrice)); sponsor = msg.sender; sponsorLevel = SafeMath.add(sponsorLevel, 1); } function getSponsorFee() public view returns(uint256 sponsorFee) { sponsorFee = getCurrentPrice(SafeMath.add(sponsorLevel, 1)); } //-------------------------------------------------------------------------- // Miner //-------------------------------------------------------------------------- /** * @dev get a free miner */ function getFreeMiner() public disableContract isNotOver { require(players[msg.sender].roundNumber != roundNumber); PlayerData storage p = players[msg.sender]; //reset player data if(p.hashrate > 0){ for (uint idx = 1; idx < numberOfMiners; idx++) { p.minerCount[idx] = 0; } } MinerData storage m0 = minerData[0]; p.crystals = 0; p.roundNumber = roundNumber; //free miner p.lastUpdateTime = now; p.referral_count = 0; p.noQuest = 0; p.minerCount[0] = 1; p.hashrate = m0.baseProduct; } function doQuest(uint256 clientNumber) disableContract isCurrentRound isNotOver public { PlayerData storage p = players[msg.sender]; p.noQuest = SafeMath.add(p.noQuest, 1); uint256 randomNumber = getRandomNumber(msg.sender); if(clientNumber == randomNumber) { p.referral_count = SafeMath.add(p.referral_count, 1); } emit eventDoQuest(clientNumber, randomNumber); } function buyMiner(uint256[] minerNumbers) public isNotOver isCurrentRound { require(minerNumbers.length == numberOfMiners); uint256 minerIdx = 0; MinerData memory m; for (; minerIdx < numberOfMiners; minerIdx++) { m = minerData[minerIdx]; if(minerNumbers[minerIdx] > m.limit || minerNumbers[minerIdx] < 0){ revert(); } } updateCrystal(msg.sender); PlayerData storage p = players[msg.sender]; uint256 price = 0; uint256 minerNumber = 0; for (minerIdx = 0; minerIdx < numberOfMiners; minerIdx++) { minerNumber = minerNumbers[minerIdx]; if (minerNumber > 0) { m = minerData[minerIdx]; price = SafeMath.add(price, SafeMath.mul(m.basePrice, minerNumber)); } } price = SafeMath.mul(price, CRTSTAL_MINING_PERIOD); if(p.crystals < price){ revert(); } p.crystals = SafeMath.sub(p.crystals, price); uint256 hashrate = 0; for (minerIdx = 0; minerIdx < numberOfMiners; minerIdx++) { minerNumber = minerNumbers[minerIdx]; if (minerNumber > 0) { m = minerData[minerIdx]; uint256 currentMinerCount = p.minerCount[minerIdx]; p.minerCount[minerIdx] = SafeMath.min(m.limit, SafeMath.add(p.minerCount[minerIdx], minerNumber)); // calculate no hashrate you want buy hashrate = SafeMath.add(hashrate, SafeMath.mul(SafeMath.sub(p.minerCount[minerIdx],currentMinerCount), minerData[minerIdx].baseProduct)); } } updateHashrate(msg.sender, hashrate); } function getPlayerData(address addr) public view returns (uint256 crystals, uint256 lastupdate, uint256 hashratePerDay, uint256[8] miners, uint256 hasBoost, uint256 referral_count, uint256 playerBalance, uint256 noQuest ) { PlayerData storage p = players[addr]; if(p.roundNumber != roundNumber){ p = players[0]; } crystals = SafeMath.div(p.crystals, CRTSTAL_MINING_PERIOD); lastupdate = p.lastUpdateTime; hashratePerDay = addReferralHashrate(addr, p.hashrate); uint256 i = 0; for(i = 0; i < numberOfMiners; i++) { miners[i] = p.minerCount[i]; } hasBoost = hasBooster(addr); referral_count = p.referral_count; noQuest = p.noQuest; playerBalance = payments[addr]; } function getHashratePerDay(address minerAddr) public view returns (uint256 personalProduction) { PlayerData storage p = players[minerAddr]; personalProduction = addReferralHashrate(minerAddr, p.hashrate); uint256 boosterIdx = hasBooster(minerAddr); if (boosterIdx != 999) { BoostData storage b = boostData[boosterIdx]; personalProduction = SafeMath.div(SafeMath.mul(personalProduction, b.boostRate), 100); } } //-------------------------------------------------------------------------- // BOOSTER //-------------------------------------------------------------------------- function buyBooster(uint256 idx) public isNotOver isCurrentRound payable { require(idx < numberOfBoosts); BoostData storage b = boostData[idx]; if(msg.value < getBoosterPrice(idx) || msg.sender == b.owner){ revert(); } address beneficiary = b.owner; uint256 devFeePrize = devFee(getBoosterPrice(idx)); asyncSend(sponsor, devFeePrize); uint256 refundPrize = 0; if(beneficiary != 0){ refundPrize = SafeMath.div(SafeMath.mul(getBoosterPrice(idx), 55), 100); asyncSend(beneficiary, refundPrize); } prizePool = SafeMath.add(prizePool, SafeMath.sub(msg.value, SafeMath.add(devFeePrize, refundPrize))); updateCrystal(msg.sender); updateCrystal(beneficiary); uint256 level = getCurrentLevel(b.startingLevel, b.startingTime, b.halfLife); b.startingLevel = SafeMath.add(level, 1); b.startingTime = now; // transfer ownership b.owner = msg.sender; } function getBoosterData(uint256 idx) public view returns (address owner,uint256 boostRate, uint256 startingLevel, uint256 startingTime, uint256 currentPrice, uint256 halfLife) { require(idx < numberOfBoosts); owner = boostData[idx].owner; boostRate = boostData[idx].boostRate; startingLevel = boostData[idx].startingLevel; startingTime = boostData[idx].startingTime; currentPrice = getBoosterPrice(idx); halfLife = boostData[idx].halfLife; } function getBoosterPrice(uint256 index) public view returns (uint256) { BoostData storage booster = boostData[index]; return getCurrentPrice(getCurrentLevel(booster.startingLevel, booster.startingTime, booster.halfLife)); } function hasBooster(address addr) public view returns (uint256 boostIdx) { boostIdx = 999; for(uint256 i = 0; i < numberOfBoosts; i++){ uint256 revert_i = numberOfBoosts - i - 1; if(boostData[revert_i].owner == addr){ boostIdx = revert_i; break; } } } //-------------------------------------------------------------------------- // Other //-------------------------------------------------------------------------- function devFee(uint256 amount) public pure returns(uint256) { return SafeMath.div(SafeMath.mul(amount, 5), 100); } function getBalance() public view returns(uint256) { return address(this).balance; } //@dev use this function in case of bug function upgrade(address addr) public { require(msg.sender == administrator); selfdestruct(addr); } //-------------------------------------------------------------------------- // Private //-------------------------------------------------------------------------- /** * @param addr is player address you want add hash rate * @param _hashrate is no hashrate you want add for this player */ function updateHashrate(address addr, uint256 _hashrate) private { PlayerData storage p = players[addr]; p.hashrate = SafeMath.add(p.hashrate, _hashrate); if(p.hashrate > RANK_LIST_LIMIT){ updateRankList(addr); } } function updateCrystal(address addr) private { require(now > players[addr].lastUpdateTime); if (players[addr].lastUpdateTime != 0) { PlayerData storage p = players[addr]; uint256 secondsPassed = SafeMath.sub(now, p.lastUpdateTime); uint256 revenue = getHashratePerDay(addr); p.lastUpdateTime = now; if (revenue > 0) { revenue = SafeMath.mul(revenue, secondsPassed); p.crystals = SafeMath.add(p.crystals, revenue); } } } function addReferralHashrate(address addr, uint256 hashrate) private view returns(uint256 personalProduction) { PlayerData storage p = players[addr]; if(p.referral_count < 5){ personalProduction = SafeMath.add(hashrate, SafeMath.mul(p.referral_count, 10)); }else if(p.referral_count < 10){ personalProduction = SafeMath.add(hashrate, SafeMath.add(50, SafeMath.mul(p.referral_count, 10))); }else{ personalProduction = SafeMath.add(hashrate, 200); } } function getCurrentLevel(uint256 startingLevel, uint256 startingTime, uint256 halfLife) private view returns(uint256) { uint256 timePassed=SafeMath.sub(now, startingTime); uint256 levelsPassed=SafeMath.div(timePassed, halfLife); if (startingLevel < levelsPassed) { return 0; } return SafeMath.sub(startingLevel, levelsPassed); } function getCurrentPrice(uint256 currentLevel) private view returns(uint256) { return SafeMath.mul(BASE_PRICE, 2**currentLevel); } function updateRankList(address addr) private returns(bool) { uint256 idx = 0; PlayerData storage insert = players[addr]; PlayerData storage lastOne = players[rankList[19]]; if(insert.hashrate < lastOne.hashrate) { return false; } address[21] memory tempList = rankList; if(!inRankList(addr)){ tempList[20] = addr; quickSort(tempList, 0, 20); }else{ quickSort(tempList, 0, 19); } for(idx = 0;idx < 21; idx++){ if(tempList[idx] != rankList[idx]){ rankList[idx] = tempList[idx]; } } return true; } function inRankList(address addr) internal view returns(bool) { for(uint256 idx = 0;idx < 20; idx++){ if(addr == rankList[idx]){ return true; } } return false; } function getRandomNumber(address playerAddress) internal returns(uint256 randomNumber) { randNonce++; randomNumber = uint256(keccak256(abi.encodePacked(now, playerAddress, randNonce))) % 3; } function quickSort(address[21] list, int left, int right) internal { int i = left; int j = right; if(i == j) return; address addr = list[uint(left + (right - left) / 2)]; PlayerData storage p = players[addr]; while (i <= j) { while (players[list[uint(i)]].hashrate > p.hashrate) i++; while (p.hashrate > players[list[uint(j)]].hashrate) j--; if (i <= j) { (list[uint(i)], list[uint(j)]) = (list[uint(j)], list[uint(i)]); i++; j--; } } if (left < j) quickSort(list, left, j); if (i < right) quickSort(list, i, right); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"totalPayments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"minerAddr","type":"address"}],"name":"getHashratePerDay","outputs":[{"name":"personalProduction","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getBoosterPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deadline","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"getPlayerData","outputs":[{"name":"crystals","type":"uint256"},{"name":"lastupdate","type":"uint256"},{"name":"hashratePerDay","type":"uint256"},{"name":"miners","type":"uint256[8]"},{"name":"hasBoost","type":"uint256"},{"name":"referral_count","type":"uint256"},{"name":"playerBalance","type":"uint256"},{"name":"noQuest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"idx","type":"uint256"}],"name":"getBoosterData","outputs":[{"name":"owner","type":"address"},{"name":"boostRate","type":"uint256"},{"name":"startingLevel","type":"uint256"},{"name":"startingTime","type":"uint256"},{"name":"currentPrice","type":"uint256"},{"name":"halfLife","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"amount","type":"uint256"}],"name":"devFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"subHashrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"roundNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"minerNumbers","type":"uint256[]"}],"name":"buyMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"HALF_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalContractMiniGame","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"prizePool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sponsor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ROUND_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contractMiniGameAddress","type":"address"}],"name":"setContractsMiniGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getSponsorFee","outputs":[{"name":"sponsorFee","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_contractMiniGameAddress","type":"address"}],"name":"removeContractMiniGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRankList","outputs":[{"name":"","type":"address[21]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"hasBooster","outputs":[{"name":"boostIdx","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"subCrystal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"miniGames","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"contractsMiniGameAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lottery","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getFreeMiner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CRTSTAL_MINING_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"idx","type":"uint256"}],"name":"buyBooster","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"startGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"players","outputs":[{"name":"roundNumber","type":"uint256"},{"name":"hashrate","type":"uint256"},{"name":"crystals","type":"uint256"},{"name":"lastUpdateTime","type":"uint256"},{"name":"referral_count","type":"uint256"},{"name":"noQuest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"becomeSponsor","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"sponsorLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"addHashrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"clientNumber","type":"uint256"}],"name":"doQuest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"administrator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"addCrystal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"clientNumber","type":"uint256"},{"indexed":false,"name":"randomNumber","type":"uint256"}],"name":"eventDoQuest","type":"event"}]
Contract Creation Code
60806040526002805460ff19169055600060038190556201518060055561708060065562093a8060075560088190556611c37937e08000600955612710600a55600b819055600c5534801561005357600080fd5b50602c8054600160a060020a031916331790556008600f8190556005601181905560156014556040805160608181018352600a80835260208084018281528486019283526000808052600e80845295517fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c5590517fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881d5591517fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881e55845180840186526064815260c881830190815260028288018181526001865287855292517fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be9582075590517fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be9582085590517fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be95820955855180850187526101908152610320818401908152600482890181815293865287855291517f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f048155517f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f04825590517f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f048355855180850187526106408152610c80818401908152818801998a526003855286845290517fe0283e559c29e31ee7f56467acc9dd307779c843a883aeeb3bf5c6128c90814455517fe0283e559c29e31ee7f56467acc9dd307779c843a883aeeb3bf5c6128c9081455596517fe0283e559c29e31ee7f56467acc9dd307779c843a883aeeb3bf5c6128c90814655845180840186526119008152612580818301908152601082880190815298845285835290517fa1d6913cd9e08c872be3e7525cca82e4fc0fc298a783f19022be725b19be685a55517fa1d6913cd9e08c872be3e7525cca82e4fc0fc298a783f19022be725b19be685b5595517fa1d6913cd9e08c872be3e7525cca82e4fc0fc298a783f19022be725b19be685c5583518083018552616400815261960081880190815281860188815296835284885290517fb9bec7e2561f624fe753ff070f1599b306cbf59fafd4e8d5a8184a1ea1841bce55517fb9bec7e2561f624fe753ff070f1599b306cbf59fafd4e8d5a8184a1ea1841bcf5593517fb9bec7e2561f624fe753ff070f1599b306cbf59fafd4e8d5a8184a1ea1841bd05582518082018452620320008082528187019081528185018581526006875284885291517f92b4482321f41ce3aa65f798bda23d0d12a60fc5f212868a548ddb00aa49de7255517f92b4482321f41ce3aa65f798bda23d0d12a60fc5f212868a548ddb00aa49de7355517f92b4482321f41ce3aa65f798bda23d0d12a60fc5f212868a548ddb00aa49de745582519081018352621900008152620c8000818601908152620100009382019384526007909452935291517f376529bb8a2d41b4a589a133407fc64f3212472dbd74744348be1098bf7ba08d55517f376529bb8a2d41b4a589a133407fc64f3212472dbd74744348be1098bf7ba08e55517f376529bb8a2d41b4a589a133407fc64f3212472dbd74744348be1098bf7ba08f5561241c806104fc6000396000f3006080604052600436106101ec5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416625b448781146101fd5780630900f0101461022457806312065fe014610247578063158ef93e1461025c5780632243fb1514610285578063294cf912146102a657806329dcb0cf146102be5780632aa531d9146102d357806339901be8146103605780633bc0461a146103b55780633e870d63146103cd5780634e2786fb146103f15780634ec2d0b6146104065780634f9d482a1461045b5780636103d70b146104705780636a76c52214610485578063719ce73e1461049a57806377c93662146104af5780637892fd29146104e057806384ffcb5d146104f55780639f8ff91d146105165780639ff12bba1461052b578063a1a200c51461054c578063ad5b71891461059a578063b04eb639146105bb578063b239dac6146105df578063b82af34314610600578063ba13a57214610618578063c572dcc31461062d578063cee0b4fe14610642578063d223926f14610657578063d65ab5f214610662578063e2982c2114610677578063e2eb41ff14610698578063e3e9bc3f146106ec578063ea6f1c4a146106f4578063ef7f2e1c14610709578063efce079e1461072d578063f53d0a8e14610745578063f6e212ea1461075a575b6101f86008543461077e565b600855005b34801561020957600080fd5b50610212610798565b60408051918252519081900360200190f35b34801561023057600080fd5b50610245600160a060020a036004351661079e565b005b34801561025357600080fd5b506102126107c1565b34801561026857600080fd5b506102716107c6565b604080519115158252519081900360200190f35b34801561029157600080fd5b50610212600160a060020a03600435166107cf565b3480156102b257600080fd5b50610212600435610846565b3480156102ca57600080fd5b50610212610880565b3480156102df57600080fd5b506102f4600160a060020a0360043516610886565b6040518089815260200188815260200187815260200186600860200280838360005b8381101561032e578181015183820152602001610316565b505050509050018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561036c57600080fd5b50610378600435610999565b60408051600160a060020a0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156103c157600080fd5b50610212600435610a0f565b3480156103d957600080fd5b50610245600160a060020a0360043516602435610a25565b3480156103fd57600080fd5b50610212610ac7565b34801561041257600080fd5b506040805160206004803580820135838102808601850190965280855261024595369593946024949385019291829185019084908082843750949750610acd9650505050505050565b34801561046757600080fd5b50610212610d86565b34801561047c57600080fd5b50610245610d8c565b34801561049157600080fd5b50610212610e15565b3480156104a657600080fd5b50610212610e1b565b3480156104bb57600080fd5b506104c4610e21565b60408051600160a060020a039092168252519081900360200190f35b3480156104ec57600080fd5b50610212610e30565b34801561050157600080fd5b50610245600160a060020a0360043516610e36565b34801561052257600080fd5b50610212610f68565b34801561053757600080fd5b50610245600160a060020a0360043516610f7f565b34801561055857600080fd5b50610561610fb7565b60405180826102a080838360005b8381101561058757818101518382015260200161056f565b5050505090500191505060405180910390f35b3480156105a657600080fd5b50610212600160a060020a0360043516610ffc565b3480156105c757600080fd5b50610245600160a060020a0360043516602435611054565b3480156105eb57600080fd5b50610271600160a060020a0360043516611110565b34801561060c57600080fd5b506104c4600435611125565b34801561062457600080fd5b50610245611140565b34801561063957600080fd5b5061024561129e565b34801561064e57600080fd5b50610212611383565b610245600435611389565b34801561066e57600080fd5b506102456114f3565b34801561068357600080fd5b50610212600160a060020a0360043516611531565b3480156106a457600080fd5b506106b9600160a060020a0360043516611543565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b610245611578565b34801561070057600080fd5b50610212611620565b34801561071557600080fd5b50610245600160a060020a0360043516602435611626565b34801561073957600080fd5b50610245600435611695565b34801561075157600080fd5b506104c461175f565b34801561076657600080fd5b50610245600160a060020a036004351660243561176e565b60008282018381101561078d57fe5b8091505b5092915050565b60015481565b602c54600160a060020a031633146107b557600080fd5b80600160a060020a0316ff5b303190565b60025460ff1681565b600160a060020a03811660009081526010602052604081206002810154829081906107fb9086906117ef565b935061080685610ffc565b91506103e7821461083e57506000818152601260205260409020600181015461083b90610834908690611865565b6064611890565b93505b505050919050565b6000818152601260205260408120600281015460038201546004830154610877926108729290916118a7565b6118eb565b91505b50919050565b60045481565b600080600061089361236e565b600160a060020a038516600090815260106020526040812060035481548392839283928391146108ea576000805260106020527f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb0191505b6108fa8260030154600554611890565b9950816004015498506109118b83600201546117ef565b9750600090505b600f5481101561094c57600081815260018301602052604090205487826008811061093f57fe5b6020020152600101610918565b6109558b610ffc565b955081600501549450816006015492506000808c600160a060020a0316600160a060020a031681526020019081526020016000205493505050919395975091939597565b600080600080600080601154871015156109b257600080fd5b6000878152601260205260409020805460018201546002830154600390930154600160a060020a039092169850965090945092506109ef87610846565b600097885260126020526040909720600401549597949693959294915050565b6000610a1f610834836005611865565b92915050565b3360009081526013602052604081205460ff161515600114610a4657600080fd5b600354600160a060020a038416600090815260106020526040902054148015610a8a5750600160a060020a0383166000908152601060205260409020600201548211155b1515610a9557600080fd5b50600160a060020a03821660009081526010602052604090206002810154610abd90836118fc565b6002909101555050565b60035481565b6000610ad761238e565b60008060008060006004544211151515610af057600080fd5b6003543360009081526010602052604090205414610b0d57600080fd5b600f54885114610b1c57600080fd5b600096505b600f54871015610bb2576000878152600e6020908152604091829020825160608101845281548152600182015492810192909252600201549181018290528951909750899089908110610b7057fe5b906020019060200201511180610b9d575060008888815181101515610b9157fe5b90602001906020020151105b15610ba757600080fd5b600190960195610b21565b610bbb3361190e565b33600090815260106020526040812090975094508693508392505b600f54871015610c67578787815181101515610bee57fe5b9060200190602002015192506000831115610c5c57600e60008881526020019081526020016000206060604051908101604052908160008201548152602001600182015481526020016002820154815250509550610c5984610c54886000015186611865565b61077e565b93505b600190960195610bd6565b610c7384600554611865565b93508385600301541015610c8657600080fd5b610c948560030154856118fc565b6003860155600096508691505b600f54871015610d72578787815181101515610cb957fe5b9060200190602002015192506000831115610d6757506000868152600e60209081526040808320815160608101835281548152600180830154828601526002909201548184019081528b86529189019093529220549151909650610d2690610d21838661077e565b6119c7565b60008881526001870160205260409020819055610d64908390610c5490610d4d90856118fc565b60008b8152600e6020526040902060010154611865565b91505b600190960195610ca1565b610d7c33836119df565b5050505050505050565b60065481565b33600081815260208190526040902054801515610da857600080fd5b3031811115610db657600080fd5b600154610dc9908263ffffffff6118fc16565b600155600160a060020a0382166000818152602081905260408082208290555183156108fc0291849190818181858888f19350505050158015610e10573d6000803e3d6000fd5b505050565b600c5481565b60085481565b602a54600160a060020a031681565b60075481565b602c546000908190600160a060020a03163314610e5257600080fd5b82915081600160a060020a0316633281d5766040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eac57600080fd5b505af1158015610ec0573d6000803e3d6000fd5b505050506040513d6020811015610ed657600080fd5b50519050600181151514610ee957600080fd5b600160a060020a03831660009081526013602052604090205460ff161515610e10575050600160a060020a03166000818152601360209081526040808320805460ff19166001908117909155600c80548552600d9093529220805473ffffffffffffffffffffffffffffffffffffffff19169093179092558154019055565b6000610f7a610872602b54600161077e565b905090565b602c54600160a060020a03163314610f9657600080fd5b600160a060020a03166000908152601360205260409020805460ff19169055565b610fbf6123b0565b604080516102a081019182905290601590819081845b8154600160a060020a03168152600190910190602001808311610fd5575050505050905090565b6103e76000805b60115482101561104d575060115481900360001901600081815260126020526040902054600160a060020a03858116911614156110425780925061104d565b600190910190611003565b5050919050565b33600090815260136020526040812054819060ff16151560011461107757600080fd5b600354600160a060020a0385166000908152601060205260409020541461109d57600080fd5b6110a68461190e565b6110b283600554611865565b600160a060020a0385166000908152601060205260409020600301549092508211156110dd57600080fd5b50600160a060020a0383166000908152601060205260409020600381015461110590836118fc565b600390910155505050565b60136020526000908152604090205460ff1681565b600d60205260009081526040902054600160a060020a031681565b60008061114b6123d0565b6000808032331461115b57600080fd5b600454421161116957600080fd5b611179610834600854605a611865565b955061118b6108346008546005611865565b602c549095506111a490600160a060020a031686611a1f565b50506040805161014081018252601e815260146020820152600a918101919091526008606082015260076080820152600560a0820181905260c0820181905260e08201819052610100820181905261012082015291506000905080805b600a81101561127d5760158181811061121657fe5b0154600160a060020a03161561127557611246610834878684600a811061123957fe5b602002015160ff16611865565b915061126860158281811061125757fe5b0154600160a060020a031683611a1f565b611272838361077e565b92505b600101611201565b61128b85610c5488866118fc565b600855611296611a7b565b505050505050565b600080803233146112ae57600080fd5b6004544211156112bd57600080fd5b6003543360009081526010602052604090205414156112db57600080fd5b3360009081526010602052604081206002810154909450111561132557600191505b600f5482101561132557600082815260018481016020526040822091909155909101906112fd565b505060008080526003808301829055548255426004830155600582018190556006820181905560018083016020526040909120557fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881d54600290910155565b60055481565b600080600080600060045442111515156113a257600080fd5b60035433600090815260106020526040902054146113bf57600080fd5b60115486106113cd57600080fd5b600086815260126020526040902094506113e686610846565b3410806113fc57508454600160a060020a031633145b1561140657600080fd5b8454600160a060020a0316935061142461141f87610846565b610a0f565b602a5490935061143d90600160a060020a031684611a1f565b60009150600160a060020a038416156114725761146661083461145f88610846565b6037611865565b91506114728483611a1f565b61148b600854610c5434611486878761077e565b6118fc565b6008556114973361190e565b6114a08461190e565b6114b78560020154866003015487600401546118a7565b90506114c481600161077e565b600286015550504260038401555050805473ffffffffffffffffffffffffffffffffffffffff19163317905550565b602c54600160a060020a0316331461150a57600080fd5b60025460ff161561151a57600080fd5b611522611a7b565b6002805460ff19166001179055565b60006020819052908152604090205481565b601060205260009081526040902080546002820154600383015460048401546005850154600690950154939492939192909186565b60045460009042111561158a57600080fd5b611592610f68565b34101561159e57600080fd5b602a54600160a060020a03163314156115b657600080fd5b6115c1602b546118eb565b602a549091506115da90600160a060020a031682611a1f565b6115ea600854610c5434846118fc565b600855602a805473ffffffffffffffffffffffffffffffffffffffff191633179055602b5461161a90600161077e565b602b5550565b602b5481565b3360009081526013602052604081205460ff16151560011461164757600080fd5b600354600160a060020a0384166000908152601060205260409020541461166d57600080fd5b50600160a060020a03821660009081526010602052604090206002810154610abd908361077e565b6000803233146116a457600080fd5b60035433600090815260106020526040902054146116c157600080fd5b6004544211156116d057600080fd5b33600090815260106020526040902060068101549092506116f290600161077e565b600683015561170033611aad565b90508083141561171f576117198260050154600161077e565b60058301555b604080518481526020810183905281517f46046fe38b80ec19b608815b458b3e49c98da0ef13badaf9aa10d49c9bb2552b929181900390910190a1505050565b602c54600160a060020a031681565b33600090815260136020526040812054819060ff16151560011461179157600080fd5b600354600160a060020a038516600090815260106020526040902054146117b757600080fd5b6117c383600554611865565b600160a060020a038516600090815260106020526040902060038101549193509150611105908361077e565b600160a060020a0382166000908152601060205260408120600580820154101561182d5761182683610c548360050154600a611865565b9150610791565b600a816005015410156118525761182683610c546032610c548560050154600a611865565b61185d8360c861077e565b949350505050565b6000808315156118785760009150610791565b5082820282848281151561188857fe5b041461078d57fe5b600080828481151561189e57fe5b04949350505050565b60008060006118b642866118fc565b91506118c28285611890565b9050808610156118d557600092506118e2565b6118df86826118fc565b92505b50509392505050565b6000610a1f6009548360020a611865565b60008282111561190857fe5b50900390565b600160a060020a03811660009081526010602052604081206004015481908190421161193957600080fd5b600160a060020a038416600090815260106020526040902060040154156119c157600160a060020a038416600090815260106020526040902060048101549093506119859042906118fc565b9150611990846107cf565b426004850155905060008111156119c1576119ab8183611865565b90506119bb83600301548261077e565b60038401555b50505050565b60008183106119d657816119d8565b825b9392505050565b600160a060020a03821660009081526010602052604090206002810154611a06908361077e565b60028201819055600a541015610e10576119c183611b70565b600160a060020a038216600090815260208190526040902054611a48908263ffffffff61077e16565b600160a060020a038316600090815260208190526040902055600154611a74908263ffffffff61077e16565b6001555050565b611a874260075461077e565b600455600354611a9890600161077e565b600355611aa3611ce2565b611aab6120a4565b565b600b80546001019081905560408051426020808301919091526c01000000000000000000000000600160a060020a03861602828401526054808301949094528251808303909401845260749091019182905282516000936003939092909182918401908083835b60208310611b335780518252601f199092019160209182019101611b14565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912092505050811515611b6957fe5b0692915050565b600080600080611b7e6123b0565b600160a060020a03868116600090815260106020526040808220602854909316825281206002808201549084015492975092955093501015611bc35760009450611cd9565b604080516102a081019182905290601590819081845b8154600160a060020a03168152600190910190602001808311611bd95750505050509050611c068661218a565b1515611c2e57600160a060020a038616610280820152611c2981600060146121d2565b611c3b565b611c3b81600060136121d2565b600093505b6015841015611cd457601584818110611c5557fe5b0154600160a060020a0316818560158110611c6c57fe5b6020020151600160a060020a031614611cc957808460158110611c8b57fe5b6020020151601585818110611c9c57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555b600190930192611c40565b600194505b50505050919050565b6000602c60009054906101000a9004600160a060020a0316602a60006101000a815481600160a060020a030219169083600160a060020a031602179055506006602b8190555060a0604051908101604052806000600160a060020a0316815260200160968152602001600181526020014281526020016006548152506012600080815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160af815260200160018152602001428152602001600654815250601260006001815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160c8815260200160018152602001428152602001600654815250601260006002815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160e1815260200160018152602001428152602001600654815250601260006003815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a06040519081016040528033600160a060020a0316815260200160fa815260200160028152602001428152602001600654815250601260006004815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050600090505b6014548110156120a157600060158281811061206d57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600101612055565b50565b6000805b600c54821015612186576000828152600d6020908152604080832054600160a060020a03168352601390915290205460ff1615156001141561217b57506000818152600d6020526040808220546003546004805484517fbe7ccd7e0000000000000000000000000000000000000000000000000000000081529182019290925260248101919091529151600160a060020a0390911692839263be7ccd7e926044808301939282900301818387803b15801561216257600080fd5b505af1158015612176573d6000803e3d6000fd5b505050505b6001909101906120a8565b5050565b6000805b60148110156121c9576015818181106121a357fe5b0154600160a060020a03848116911614156121c1576001915061087a565b60010161218e565b50600092915050565b8181600080828414156121e457612365565b866002878703058701601581106121f757fe5b602002015191506010600083600160a060020a0316600160a060020a0316815260200190815260200160002090505b82841361233f575b60028101546010600089876015811061224357fe5b6020020151600160a060020a0316600160a060020a0316815260200190815260200160002060020154111561227d5760019093019261222e565b6010600088856015811061228d57fe5b6020020151600160a060020a0316600160a060020a0316815260200190815260200160002060020154816002015411156122cd576000199092019161227d565b82841361233a578683601581106122e057fe5b60200201518785601581106122f157fe5b602002015188866015811061230257fe5b6020020189866015811061231257fe5b600160a060020a03938416602091909102919091015291169052600190930192600019909201915b612226565b82861215612352576123528787856121d2565b84841215612365576123658785876121d2565b50505050505050565b610100604051908101604052806008906020820280388339509192915050565b6060604051908101604052806000815260200160008152602001600081525090565b6102a0604051908101604052806015906020820280388339509192915050565b61014060405190810160405280600a9060208202803883395091929150505600a165627a7a72305820d459b519feba707b03572c7eaa7e567bc2d8d7d211bbe6d8770fec308cc49cf80029
Deployed Bytecode
0x6080604052600436106101ec5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416625b448781146101fd5780630900f0101461022457806312065fe014610247578063158ef93e1461025c5780632243fb1514610285578063294cf912146102a657806329dcb0cf146102be5780632aa531d9146102d357806339901be8146103605780633bc0461a146103b55780633e870d63146103cd5780634e2786fb146103f15780634ec2d0b6146104065780634f9d482a1461045b5780636103d70b146104705780636a76c52214610485578063719ce73e1461049a57806377c93662146104af5780637892fd29146104e057806384ffcb5d146104f55780639f8ff91d146105165780639ff12bba1461052b578063a1a200c51461054c578063ad5b71891461059a578063b04eb639146105bb578063b239dac6146105df578063b82af34314610600578063ba13a57214610618578063c572dcc31461062d578063cee0b4fe14610642578063d223926f14610657578063d65ab5f214610662578063e2982c2114610677578063e2eb41ff14610698578063e3e9bc3f146106ec578063ea6f1c4a146106f4578063ef7f2e1c14610709578063efce079e1461072d578063f53d0a8e14610745578063f6e212ea1461075a575b6101f86008543461077e565b600855005b34801561020957600080fd5b50610212610798565b60408051918252519081900360200190f35b34801561023057600080fd5b50610245600160a060020a036004351661079e565b005b34801561025357600080fd5b506102126107c1565b34801561026857600080fd5b506102716107c6565b604080519115158252519081900360200190f35b34801561029157600080fd5b50610212600160a060020a03600435166107cf565b3480156102b257600080fd5b50610212600435610846565b3480156102ca57600080fd5b50610212610880565b3480156102df57600080fd5b506102f4600160a060020a0360043516610886565b6040518089815260200188815260200187815260200186600860200280838360005b8381101561032e578181015183820152602001610316565b505050509050018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561036c57600080fd5b50610378600435610999565b60408051600160a060020a0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156103c157600080fd5b50610212600435610a0f565b3480156103d957600080fd5b50610245600160a060020a0360043516602435610a25565b3480156103fd57600080fd5b50610212610ac7565b34801561041257600080fd5b506040805160206004803580820135838102808601850190965280855261024595369593946024949385019291829185019084908082843750949750610acd9650505050505050565b34801561046757600080fd5b50610212610d86565b34801561047c57600080fd5b50610245610d8c565b34801561049157600080fd5b50610212610e15565b3480156104a657600080fd5b50610212610e1b565b3480156104bb57600080fd5b506104c4610e21565b60408051600160a060020a039092168252519081900360200190f35b3480156104ec57600080fd5b50610212610e30565b34801561050157600080fd5b50610245600160a060020a0360043516610e36565b34801561052257600080fd5b50610212610f68565b34801561053757600080fd5b50610245600160a060020a0360043516610f7f565b34801561055857600080fd5b50610561610fb7565b60405180826102a080838360005b8381101561058757818101518382015260200161056f565b5050505090500191505060405180910390f35b3480156105a657600080fd5b50610212600160a060020a0360043516610ffc565b3480156105c757600080fd5b50610245600160a060020a0360043516602435611054565b3480156105eb57600080fd5b50610271600160a060020a0360043516611110565b34801561060c57600080fd5b506104c4600435611125565b34801561062457600080fd5b50610245611140565b34801561063957600080fd5b5061024561129e565b34801561064e57600080fd5b50610212611383565b610245600435611389565b34801561066e57600080fd5b506102456114f3565b34801561068357600080fd5b50610212600160a060020a0360043516611531565b3480156106a457600080fd5b506106b9600160a060020a0360043516611543565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b610245611578565b34801561070057600080fd5b50610212611620565b34801561071557600080fd5b50610245600160a060020a0360043516602435611626565b34801561073957600080fd5b50610245600435611695565b34801561075157600080fd5b506104c461175f565b34801561076657600080fd5b50610245600160a060020a036004351660243561176e565b60008282018381101561078d57fe5b8091505b5092915050565b60015481565b602c54600160a060020a031633146107b557600080fd5b80600160a060020a0316ff5b303190565b60025460ff1681565b600160a060020a03811660009081526010602052604081206002810154829081906107fb9086906117ef565b935061080685610ffc565b91506103e7821461083e57506000818152601260205260409020600181015461083b90610834908690611865565b6064611890565b93505b505050919050565b6000818152601260205260408120600281015460038201546004830154610877926108729290916118a7565b6118eb565b91505b50919050565b60045481565b600080600061089361236e565b600160a060020a038516600090815260106020526040812060035481548392839283928391146108ea576000805260106020527f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb0191505b6108fa8260030154600554611890565b9950816004015498506109118b83600201546117ef565b9750600090505b600f5481101561094c57600081815260018301602052604090205487826008811061093f57fe5b6020020152600101610918565b6109558b610ffc565b955081600501549450816006015492506000808c600160a060020a0316600160a060020a031681526020019081526020016000205493505050919395975091939597565b600080600080600080601154871015156109b257600080fd5b6000878152601260205260409020805460018201546002830154600390930154600160a060020a039092169850965090945092506109ef87610846565b600097885260126020526040909720600401549597949693959294915050565b6000610a1f610834836005611865565b92915050565b3360009081526013602052604081205460ff161515600114610a4657600080fd5b600354600160a060020a038416600090815260106020526040902054148015610a8a5750600160a060020a0383166000908152601060205260409020600201548211155b1515610a9557600080fd5b50600160a060020a03821660009081526010602052604090206002810154610abd90836118fc565b6002909101555050565b60035481565b6000610ad761238e565b60008060008060006004544211151515610af057600080fd5b6003543360009081526010602052604090205414610b0d57600080fd5b600f54885114610b1c57600080fd5b600096505b600f54871015610bb2576000878152600e6020908152604091829020825160608101845281548152600182015492810192909252600201549181018290528951909750899089908110610b7057fe5b906020019060200201511180610b9d575060008888815181101515610b9157fe5b90602001906020020151105b15610ba757600080fd5b600190960195610b21565b610bbb3361190e565b33600090815260106020526040812090975094508693508392505b600f54871015610c67578787815181101515610bee57fe5b9060200190602002015192506000831115610c5c57600e60008881526020019081526020016000206060604051908101604052908160008201548152602001600182015481526020016002820154815250509550610c5984610c54886000015186611865565b61077e565b93505b600190960195610bd6565b610c7384600554611865565b93508385600301541015610c8657600080fd5b610c948560030154856118fc565b6003860155600096508691505b600f54871015610d72578787815181101515610cb957fe5b9060200190602002015192506000831115610d6757506000868152600e60209081526040808320815160608101835281548152600180830154828601526002909201548184019081528b86529189019093529220549151909650610d2690610d21838661077e565b6119c7565b60008881526001870160205260409020819055610d64908390610c5490610d4d90856118fc565b60008b8152600e6020526040902060010154611865565b91505b600190960195610ca1565b610d7c33836119df565b5050505050505050565b60065481565b33600081815260208190526040902054801515610da857600080fd5b3031811115610db657600080fd5b600154610dc9908263ffffffff6118fc16565b600155600160a060020a0382166000818152602081905260408082208290555183156108fc0291849190818181858888f19350505050158015610e10573d6000803e3d6000fd5b505050565b600c5481565b60085481565b602a54600160a060020a031681565b60075481565b602c546000908190600160a060020a03163314610e5257600080fd5b82915081600160a060020a0316633281d5766040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610eac57600080fd5b505af1158015610ec0573d6000803e3d6000fd5b505050506040513d6020811015610ed657600080fd5b50519050600181151514610ee957600080fd5b600160a060020a03831660009081526013602052604090205460ff161515610e10575050600160a060020a03166000818152601360209081526040808320805460ff19166001908117909155600c80548552600d9093529220805473ffffffffffffffffffffffffffffffffffffffff19169093179092558154019055565b6000610f7a610872602b54600161077e565b905090565b602c54600160a060020a03163314610f9657600080fd5b600160a060020a03166000908152601360205260409020805460ff19169055565b610fbf6123b0565b604080516102a081019182905290601590819081845b8154600160a060020a03168152600190910190602001808311610fd5575050505050905090565b6103e76000805b60115482101561104d575060115481900360001901600081815260126020526040902054600160a060020a03858116911614156110425780925061104d565b600190910190611003565b5050919050565b33600090815260136020526040812054819060ff16151560011461107757600080fd5b600354600160a060020a0385166000908152601060205260409020541461109d57600080fd5b6110a68461190e565b6110b283600554611865565b600160a060020a0385166000908152601060205260409020600301549092508211156110dd57600080fd5b50600160a060020a0383166000908152601060205260409020600381015461110590836118fc565b600390910155505050565b60136020526000908152604090205460ff1681565b600d60205260009081526040902054600160a060020a031681565b60008061114b6123d0565b6000808032331461115b57600080fd5b600454421161116957600080fd5b611179610834600854605a611865565b955061118b6108346008546005611865565b602c549095506111a490600160a060020a031686611a1f565b50506040805161014081018252601e815260146020820152600a918101919091526008606082015260076080820152600560a0820181905260c0820181905260e08201819052610100820181905261012082015291506000905080805b600a81101561127d5760158181811061121657fe5b0154600160a060020a03161561127557611246610834878684600a811061123957fe5b602002015160ff16611865565b915061126860158281811061125757fe5b0154600160a060020a031683611a1f565b611272838361077e565b92505b600101611201565b61128b85610c5488866118fc565b600855611296611a7b565b505050505050565b600080803233146112ae57600080fd5b6004544211156112bd57600080fd5b6003543360009081526010602052604090205414156112db57600080fd5b3360009081526010602052604081206002810154909450111561132557600191505b600f5482101561132557600082815260018481016020526040822091909155909101906112fd565b505060008080526003808301829055548255426004830155600582018190556006820181905560018083016020526040909120557fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881d54600290910155565b60055481565b600080600080600060045442111515156113a257600080fd5b60035433600090815260106020526040902054146113bf57600080fd5b60115486106113cd57600080fd5b600086815260126020526040902094506113e686610846565b3410806113fc57508454600160a060020a031633145b1561140657600080fd5b8454600160a060020a0316935061142461141f87610846565b610a0f565b602a5490935061143d90600160a060020a031684611a1f565b60009150600160a060020a038416156114725761146661083461145f88610846565b6037611865565b91506114728483611a1f565b61148b600854610c5434611486878761077e565b6118fc565b6008556114973361190e565b6114a08461190e565b6114b78560020154866003015487600401546118a7565b90506114c481600161077e565b600286015550504260038401555050805473ffffffffffffffffffffffffffffffffffffffff19163317905550565b602c54600160a060020a0316331461150a57600080fd5b60025460ff161561151a57600080fd5b611522611a7b565b6002805460ff19166001179055565b60006020819052908152604090205481565b601060205260009081526040902080546002820154600383015460048401546005850154600690950154939492939192909186565b60045460009042111561158a57600080fd5b611592610f68565b34101561159e57600080fd5b602a54600160a060020a03163314156115b657600080fd5b6115c1602b546118eb565b602a549091506115da90600160a060020a031682611a1f565b6115ea600854610c5434846118fc565b600855602a805473ffffffffffffffffffffffffffffffffffffffff191633179055602b5461161a90600161077e565b602b5550565b602b5481565b3360009081526013602052604081205460ff16151560011461164757600080fd5b600354600160a060020a0384166000908152601060205260409020541461166d57600080fd5b50600160a060020a03821660009081526010602052604090206002810154610abd908361077e565b6000803233146116a457600080fd5b60035433600090815260106020526040902054146116c157600080fd5b6004544211156116d057600080fd5b33600090815260106020526040902060068101549092506116f290600161077e565b600683015561170033611aad565b90508083141561171f576117198260050154600161077e565b60058301555b604080518481526020810183905281517f46046fe38b80ec19b608815b458b3e49c98da0ef13badaf9aa10d49c9bb2552b929181900390910190a1505050565b602c54600160a060020a031681565b33600090815260136020526040812054819060ff16151560011461179157600080fd5b600354600160a060020a038516600090815260106020526040902054146117b757600080fd5b6117c383600554611865565b600160a060020a038516600090815260106020526040902060038101549193509150611105908361077e565b600160a060020a0382166000908152601060205260408120600580820154101561182d5761182683610c548360050154600a611865565b9150610791565b600a816005015410156118525761182683610c546032610c548560050154600a611865565b61185d8360c861077e565b949350505050565b6000808315156118785760009150610791565b5082820282848281151561188857fe5b041461078d57fe5b600080828481151561189e57fe5b04949350505050565b60008060006118b642866118fc565b91506118c28285611890565b9050808610156118d557600092506118e2565b6118df86826118fc565b92505b50509392505050565b6000610a1f6009548360020a611865565b60008282111561190857fe5b50900390565b600160a060020a03811660009081526010602052604081206004015481908190421161193957600080fd5b600160a060020a038416600090815260106020526040902060040154156119c157600160a060020a038416600090815260106020526040902060048101549093506119859042906118fc565b9150611990846107cf565b426004850155905060008111156119c1576119ab8183611865565b90506119bb83600301548261077e565b60038401555b50505050565b60008183106119d657816119d8565b825b9392505050565b600160a060020a03821660009081526010602052604090206002810154611a06908361077e565b60028201819055600a541015610e10576119c183611b70565b600160a060020a038216600090815260208190526040902054611a48908263ffffffff61077e16565b600160a060020a038316600090815260208190526040902055600154611a74908263ffffffff61077e16565b6001555050565b611a874260075461077e565b600455600354611a9890600161077e565b600355611aa3611ce2565b611aab6120a4565b565b600b80546001019081905560408051426020808301919091526c01000000000000000000000000600160a060020a03861602828401526054808301949094528251808303909401845260749091019182905282516000936003939092909182918401908083835b60208310611b335780518252601f199092019160209182019101611b14565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912092505050811515611b6957fe5b0692915050565b600080600080611b7e6123b0565b600160a060020a03868116600090815260106020526040808220602854909316825281206002808201549084015492975092955093501015611bc35760009450611cd9565b604080516102a081019182905290601590819081845b8154600160a060020a03168152600190910190602001808311611bd95750505050509050611c068661218a565b1515611c2e57600160a060020a038616610280820152611c2981600060146121d2565b611c3b565b611c3b81600060136121d2565b600093505b6015841015611cd457601584818110611c5557fe5b0154600160a060020a0316818560158110611c6c57fe5b6020020151600160a060020a031614611cc957808460158110611c8b57fe5b6020020151601585818110611c9c57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555b600190930192611c40565b600194505b50505050919050565b6000602c60009054906101000a9004600160a060020a0316602a60006101000a815481600160a060020a030219169083600160a060020a031602179055506006602b8190555060a0604051908101604052806000600160a060020a0316815260200160968152602001600181526020014281526020016006548152506012600080815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160af815260200160018152602001428152602001600654815250601260006001815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160c8815260200160018152602001428152602001600654815250601260006002815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a0604051908101604052806000600160a060020a0316815260200160e1815260200160018152602001428152602001600654815250601260006003815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a06040519081016040528033600160a060020a0316815260200160fa815260200160028152602001428152602001600654815250601260006004815260200190815260200160002060008201518160000160006101000a815481600160a060020a030219169083600160a060020a0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040155905050600090505b6014548110156120a157600060158281811061206d57fe5b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055600101612055565b50565b6000805b600c54821015612186576000828152600d6020908152604080832054600160a060020a03168352601390915290205460ff1615156001141561217b57506000818152600d6020526040808220546003546004805484517fbe7ccd7e0000000000000000000000000000000000000000000000000000000081529182019290925260248101919091529151600160a060020a0390911692839263be7ccd7e926044808301939282900301818387803b15801561216257600080fd5b505af1158015612176573d6000803e3d6000fd5b505050505b6001909101906120a8565b5050565b6000805b60148110156121c9576015818181106121a357fe5b0154600160a060020a03848116911614156121c1576001915061087a565b60010161218e565b50600092915050565b8181600080828414156121e457612365565b866002878703058701601581106121f757fe5b602002015191506010600083600160a060020a0316600160a060020a0316815260200190815260200160002090505b82841361233f575b60028101546010600089876015811061224357fe5b6020020151600160a060020a0316600160a060020a0316815260200190815260200160002060020154111561227d5760019093019261222e565b6010600088856015811061228d57fe5b6020020151600160a060020a0316600160a060020a0316815260200190815260200160002060020154816002015411156122cd576000199092019161227d565b82841361233a578683601581106122e057fe5b60200201518785601581106122f157fe5b602002015188866015811061230257fe5b6020020189866015811061231257fe5b600160a060020a03938416602091909102919091015291169052600190930192600019909201915b612226565b82861215612352576123528787856121d2565b84841215612365576123658785876121d2565b50505050505050565b610100604051908101604052806008906020820280388339509192915050565b6060604051908101604052806000815260200160008152602001600081525090565b6102a0604051908101604052806015906020820280388339509192915050565b61014060405190810160405280600a9060208202803883395091929150505600a165627a7a72305820d459b519feba707b03572c7eaa7e567bc2d8d7d211bbe6d8770fec308cc49cf80029
Swarm Source
bzzr://d459b519feba707b03572c7eaa7e567bc2d8d7d211bbe6d8770fec308cc49cf8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.