Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 518 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Self Destroy | 7025812 | 2239 days ago | IN | 0 ETH | 0.00004053 | ||||
Deactivate | 7025789 | 2239 days ago | IN | 0 ETH | 0.00004246 | ||||
New Round | 7022748 | 2239 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 7022734 | 2239 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 7022715 | 2239 days ago | IN | 0 ETH | 0.00616825 | ||||
Lock Round | 7022535 | 2239 days ago | IN | 0 ETH | 0.00144568 | ||||
New Round | 7017165 | 2240 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 7017153 | 2240 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 7017129 | 2240 days ago | IN | 0 ETH | 0.00616825 | ||||
Lock Round | 7016963 | 2240 days ago | IN | 0 ETH | 0.00144568 | ||||
New Round | 7011543 | 2241 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 7011526 | 2241 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 7011509 | 2241 days ago | IN | 0 ETH | 0.00616825 | ||||
Lock Round | 7011322 | 2241 days ago | IN | 0 ETH | 0.00144568 | ||||
New Round | 7005991 | 2242 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 7005976 | 2242 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 7005960 | 2242 days ago | IN | 0 ETH | 0.00583825 | ||||
Lock Round | 7005787 | 2242 days ago | IN | 0 ETH | 0.00144568 | ||||
New Round | 7000413 | 2243 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 7000387 | 2243 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 7000363 | 2243 days ago | IN | 0 ETH | 0.00616825 | ||||
Lock Round | 7000184 | 2243 days ago | IN | 0 ETH | 0.00144568 | ||||
New Round | 6994479 | 2244 days ago | IN | 0 ETH | 0.00225739 | ||||
End Round | 6994459 | 2244 days ago | IN | 0 ETH | 0.00253233 | ||||
Draw Round | 6994438 | 2244 days ago | IN | 0 ETH | 0.00616825 |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0x2b2458531e82d10073ccad698c01520023216e065ede660b103c7eb3c48c1b2e
Contract Source Code Verified (Exact Match)
Contract Name:
Lottery
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-10-10 */ pragma solidity 0.4.24; contract Owned { address public owner; constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); owner = newOwner; } } contract SafeMath { function multiplication(uint a, uint b) internal pure returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function division(uint a, uint b) internal pure returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } function subtraction(uint a, uint b) internal pure returns (uint) { assert(b <= a); return a - b; } function addition(uint a, uint b) internal pure returns (uint) { uint c = a + b; assert(c >= a); return c; } } contract LottoEvents { event BuyTicket(uint indexed _gameIndex, address indexed from, bytes numbers, uint _prizePool, uint _bonusPool); event LockRound(uint indexed _gameIndex, uint _state, uint indexed _blockIndex); event DrawRound(uint indexed _gameIndex, uint _state, uint indexed _blockIndex, string _blockHash, uint[] _winNumbers); event EndRound(uint indexed _gameIndex, uint _state, uint _jackpot, uint _bonusAvg, address[] _jackpotWinners, address[] _goldKeyWinners, bool _autoStartNext); event NewRound(uint indexed _gameIndex, uint _state, uint _initPrizeIn); event DumpPrize(uint indexed _gameIndex, uint _jackpot); event Transfer(uint indexed _gameIndex, uint value); event Activated(uint indexed _gameIndex); event Deactivated(uint indexed _gameIndex); event SelfDestroy(uint indexed _gameIndex); } library LottoModels { // data struct hold each ticket info struct Ticket { uint rId; // round identity address player; // the buyer uint btime; // buy time uint[] numbers; // buy numbers, idx 0,1,2,3,4 are red balls, idx 5 are blue balls bool joinBonus; // join bonus ? bool useGoldKey; // use gold key ? } // if round ended, each state is freeze, just for view struct Round { uint rId; // current id uint stime; // start time uint etime; // end time uint8 state; // 0: live, 1: locked, 2: drawed, 7: ended uint[] winNumbers; // idx 0,1,2,3,4 are red balls, idx 5 are blue balls address[] winners; // the winner's addresses uint ethIn; // how much eth in this Round uint prizePool; // how much eth in prize pool, 40% of ethIn add init prize in uint bonusPool; // how much eth in bonus pool, 40% of ethIn uint teamFee; // how much eth to team, 20% of ethIn uint btcBlockNoWhenLock; // the btc block no when lock this round uint btcBlockNo; // use for get win numbers, must higer than btcBlockNoWhenLock; string btcBlockHash; // use for get win numbers uint bonusAvg; // average bouns price for players uint jackpot; // the jackpot to pay uint genGoldKeys; // how many gold key gens } } contract Lottery is Owned, SafeMath, LottoEvents { string constant version = "1.0.1"; uint constant private GOLD_KEY_CAP = 1500 ether; uint constant private BUY_LIMIT_CAP = 100; uint8 constant private ROUND_STATE_LIVE = 0; uint8 constant private ROUND_STATE_LOCKED = 1; uint8 constant private ROUND_STATE_DRAWED = 2; uint8 constant private ROUND_STATE_ENDED = 7; mapping (uint => LottoModels.Round) public rounds; // all rounds, rid -> round mapping (uint => LottoModels.Ticket[]) public tickets; // all tickets, rid -> ticket array mapping (address => uint) public goldKeyRepo; // all gold key repo, keeper address -> key count address[] private goldKeyKeepers; // all gold key keepers, just for clear mapping?! uint public goldKeyCounter = 0; // count for gold keys uint public unIssuedGoldKeys = 0; // un issued gold keys uint public price = 0.03 ether; // the price for each bet bool public activated = false; // contract live? uint public rId; // current round id constructor() public { rId = 0; activated = true; internalNewRound(0, 0); // init with prize 0, bonus 0 } // buy ticket // WARNING!!!solidity only allow 16 local variables function() isHuman() isActivated() public payable { require(owner != msg.sender, "owner cannot buy."); require(address(this) != msg.sender, "contract cannot buy."); require(rounds[rId].state == ROUND_STATE_LIVE, "this round not start yet, please wait."); // data format check require(msg.data.length > 9, "data struct not valid"); require(msg.data.length % 9 == 1, "data struct not valid"); // price check require(uint(msg.data[0]) < BUY_LIMIT_CAP, "out of buy limit one time."); require(msg.value == uint(msg.data[0]) * price, "price not right, please check."); uint i = 1; while(i < msg.data.length) { // fill data // [0]: how many // [1]: how many gold key use? // [2]: join bonus? // [3-7]: red balls, [8]: blue ball uint _times = uint(msg.data[i++]); uint _goldKeys = uint(msg.data[i++]); bool _joinBonus = uint(msg.data[i++]) > 0; uint[] memory _numbers = new uint[](6); for(uint j = 0; j < 6; j++) { _numbers[j] = uint(msg.data[i++]); } // every ticket for (uint k = 0; k < _times; k++) { bool _useGoldKey = false; if (_goldKeys > 0 && goldKeyRepo[msg.sender] > 0) { // can use gold key? _goldKeys--; // reduce you keys you want goldKeyRepo[msg.sender]--; // reduce you keys in repo _useGoldKey = true; } tickets[rId].push(LottoModels.Ticket(rId, msg.sender, now, _numbers, _joinBonus, _useGoldKey)); } } // update round data rounds[rId].ethIn = addition(rounds[rId].ethIn, msg.value); uint _amount = msg.value * 4 / 10; rounds[rId].prizePool = addition(rounds[rId].prizePool, _amount); // 40% for prize rounds[rId].bonusPool = addition(rounds[rId].bonusPool, _amount); // 40% for bonus rounds[rId].teamFee = addition(rounds[rId].teamFee, division(_amount, 2)); // 20% for team // check gen gold key? internalIncreaseGoldKeyCounter(_amount); emit BuyTicket(rId, msg.sender, msg.data, rounds[rId].prizePool, rounds[rId].bonusPool); } // core logic // // 1. lock the round, can't buy this round // 2. on-chain calc win numbuers // 3. off-chain calc jackpot, jackpot winners, goldkey winners, average bonus, blue number hits not share bonus. // if compute on-chain, out of gas // 4. end this round // 1. lock the round, can't buy this round function lockRound(uint btcBlockNo) isActivated() onlyOwner() public { require(rounds[rId].state == ROUND_STATE_LIVE, "this round not live yet, no need lock"); rounds[rId].btcBlockNoWhenLock = btcBlockNo; rounds[rId].state = ROUND_STATE_LOCKED; emit LockRound(rId, ROUND_STATE_LOCKED, btcBlockNo); } // 2. on-chain calc win numbuers function drawRound( uint btcBlockNo, string btcBlockHash ) isActivated() onlyOwner() public { require(rounds[rId].state == ROUND_STATE_LOCKED, "this round not locked yet, please lock it first"); require(rounds[rId].btcBlockNoWhenLock < btcBlockNo, "the btc block no should higher than the btc block no when lock this round"); // calculate winner rounds[rId].winNumbers = calcWinNumbers(btcBlockHash); rounds[rId].btcBlockHash = btcBlockHash; rounds[rId].btcBlockNo = btcBlockNo; rounds[rId].state = ROUND_STATE_DRAWED; emit DrawRound(rId, ROUND_STATE_DRAWED, btcBlockNo, btcBlockHash, rounds[rId].winNumbers); } // 3. off-chain calc // 4. end this round function endRound( uint jackpot, uint bonusAvg, address[] jackpotWinners, address[] goldKeyWinners, bool autoStartNext ) isActivated() onlyOwner() public { require(rounds[rId].state == ROUND_STATE_DRAWED, "this round not drawed yet, please draw it first"); // end this round rounds[rId].state = ROUND_STATE_ENDED; rounds[rId].etime = now; rounds[rId].jackpot = jackpot; rounds[rId].bonusAvg = bonusAvg; rounds[rId].winners = jackpotWinners; // if jackpot is this contract addr or owner addr, delete it // if have winners, all keys will gone. if (jackpotWinners.length > 0 && jackpot > 0) { unIssuedGoldKeys = 0; // clear un issued gold keys // clear players gold key // no direct delete mapping in solidity // we give an array to store gold key keepers // clearing mapping from key keepers // delete keepers for (uint i = 0; i < goldKeyKeepers.length; i++) { goldKeyRepo[goldKeyKeepers[i]] = 0; } delete goldKeyKeepers; } else { // else reward gold keys if (unIssuedGoldKeys > 0) { for (uint k = 0; k < goldKeyWinners.length; k++) { // update repo address _winner = goldKeyWinners[k]; // except this address if (_winner == address(this)) { continue; } goldKeyRepo[_winner]++; // update keepers bool _hasKeeper = false; for (uint j = 0; j < goldKeyKeepers.length; j++) { if (goldKeyKeepers[j] == _winner) { _hasKeeper = true; break; } } if (!_hasKeeper) { // no keeper? push it in. goldKeyKeepers.push(_winner); } unIssuedGoldKeys--; if (unIssuedGoldKeys <= 0) { // no more gold keys, let's break; break; } } } // move this round gen gold key to un issued gold keys unIssuedGoldKeys = addition(unIssuedGoldKeys, rounds[rId].genGoldKeys); } emit EndRound(rId, ROUND_STATE_ENDED, jackpot, bonusAvg, jackpotWinners, goldKeyWinners, autoStartNext); // round ended // start next? if (autoStartNext) { newRound(); } } function newRound() isActivated() onlyOwner() public { // check this round is ended? require(rounds[rId].state == ROUND_STATE_ENDED, "this round not ended yet, please end it first"); // lets start next round // calculate prize to move, (prize pool - jackpot to pay) uint _initPrizeIn = subtraction(rounds[rId].prizePool, rounds[rId].jackpot); // move bonus pool, if no one share bonus(maybe) uint _initBonusIn = rounds[rId].bonusPool; if (rounds[rId].bonusAvg > 0) { // if someone share bonus, bonusAvg > 0, move 0 _initBonusIn = 0; } // move to new round internalNewRound(_initPrizeIn, _initBonusIn); emit NewRound(rId, ROUND_STATE_LIVE, _initPrizeIn); } function internalNewRound(uint _initPrizeIn, uint _initBonusIn) internal { rId++; rounds[rId].rId = rId; rounds[rId].stime = now; rounds[rId].state = ROUND_STATE_LIVE; rounds[rId].prizePool = _initPrizeIn; rounds[rId].bonusPool = _initBonusIn; } function internalIncreaseGoldKeyCounter(uint _amount) internal { goldKeyCounter = addition(goldKeyCounter, _amount); if (goldKeyCounter >= GOLD_KEY_CAP) { rounds[rId].genGoldKeys = addition(rounds[rId].genGoldKeys, 1); goldKeyCounter = subtraction(goldKeyCounter, GOLD_KEY_CAP); } } // utils function calcWinNumbers(string blockHash) public pure returns (uint[]) { bytes32 random = keccak256(bytes(blockHash)); uint[] memory allRedNumbers = new uint[](40); uint[] memory allBlueNumbers = new uint[](10); uint[] memory winNumbers = new uint[](6); for (uint i = 0; i < 40; i++) { allRedNumbers[i] = i + 1; if(i < 10) { allBlueNumbers[i] = i; } } for (i = 0; i < 5; i++) { uint n = 40 - i; uint r = (uint(random[i * 4]) + (uint(random[i * 4 + 1]) << 8) + (uint(random[i * 4 + 2]) << 16) + (uint(random[i * 4 + 3]) << 24)) % (n + 1); winNumbers[i] = allRedNumbers[r]; allRedNumbers[r] = allRedNumbers[n - 1]; } uint t = (uint(random[i * 4]) + (uint(random[i * 4 + 1]) << 8) + (uint(random[i * 4 + 2]) << 16) + (uint(random[i * 4 + 3]) << 24)) % 10; winNumbers[5] = allBlueNumbers[t]; return winNumbers; } // for views function getKeys() public view returns(uint) { return goldKeyRepo[msg.sender]; } function getRoundByRId(uint _rId) public view returns (uint[] res){ if(_rId > rId) return res; res = new uint[](18); uint k; res[k++] = _rId; res[k++] = uint(rounds[_rId].state); res[k++] = rounds[_rId].ethIn; res[k++] = rounds[_rId].prizePool; res[k++] = rounds[_rId].bonusPool; res[k++] = rounds[_rId].teamFee; if (rounds[_rId].winNumbers.length == 0) { for (uint j = 0; j < 6; j++) res[k++] = 0; } else { for (j = 0; j < 6; j++) res[k++] = rounds[_rId].winNumbers[j]; } res[k++] = rounds[_rId].bonusAvg; res[k++] = rounds[_rId].jackpot; res[k++] = rounds[_rId].genGoldKeys; res[k++] = rounds[_rId].btcBlockNo; res[k++] = rounds[_rId].stime; res[k++] = rounds[_rId].etime; } // --- danger ops --- // angel send luck for players function dumpPrize() isActivated() onlyOwner() public payable { require(rounds[rId].state == ROUND_STATE_LIVE, "this round not live yet."); rounds[rId].ethIn = addition(rounds[rId].ethIn, msg.value); rounds[rId].prizePool = addition(rounds[rId].prizePool, msg.value); // check gen gold key? internalIncreaseGoldKeyCounter(msg.value); emit DumpPrize(rId, msg.value); } function activate() public onlyOwner { activated = true; emit Activated(rId); } function deactivate() public onlyOwner { activated = false; emit Deactivated(rId); } function selfDestroy() public onlyOwner { selfdestruct(msg.sender); emit SelfDestroy(rId); } function transferToOwner(uint amount) public payable onlyOwner { msg.sender.transfer(amount); emit Transfer(rId, amount); } // --- danger ops end --- // modifiers modifier isActivated() { require(activated == true, "its not ready yet."); _; } modifier isHuman() { address _addr = msg.sender; require (_addr == tx.origin); uint256 _codeLength; assembly {_codeLength := extcodesize(_addr)} require(_codeLength == 0, "sorry humans only"); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"activate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"activated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_rId","type":"uint256"}],"name":"getRoundByRId","outputs":[{"name":"res","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getKeys","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deactivate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"transferToOwner","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"btcBlockNo","type":"uint256"}],"name":"lockRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rounds","outputs":[{"name":"rId","type":"uint256"},{"name":"stime","type":"uint256"},{"name":"etime","type":"uint256"},{"name":"state","type":"uint8"},{"name":"ethIn","type":"uint256"},{"name":"prizePool","type":"uint256"},{"name":"bonusPool","type":"uint256"},{"name":"teamFee","type":"uint256"},{"name":"btcBlockNoWhenLock","type":"uint256"},{"name":"btcBlockNo","type":"uint256"},{"name":"btcBlockHash","type":"string"},{"name":"bonusAvg","type":"uint256"},{"name":"jackpot","type":"uint256"},{"name":"genGoldKeys","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"tickets","outputs":[{"name":"rId","type":"uint256"},{"name":"player","type":"address"},{"name":"btime","type":"uint256"},{"name":"joinBonus","type":"bool"},{"name":"useGoldKey","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"goldKeyRepo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"jackpot","type":"uint256"},{"name":"bonusAvg","type":"uint256"},{"name":"jackpotWinners","type":"address[]"},{"name":"goldKeyWinners","type":"address[]"},{"name":"autoStartNext","type":"bool"}],"name":"endRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"goldKeyCounter","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"selfDestroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"dumpPrize","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"newRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unIssuedGoldKeys","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"blockHash","type":"string"}],"name":"calcWinNumbers","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"btcBlockNo","type":"uint256"},{"name":"btcBlockHash","type":"string"}],"name":"drawRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"numbers","type":"bytes"},{"indexed":false,"name":"_prizePool","type":"uint256"},{"indexed":false,"name":"_bonusPool","type":"uint256"}],"name":"BuyTicket","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"_state","type":"uint256"},{"indexed":true,"name":"_blockIndex","type":"uint256"}],"name":"LockRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"_state","type":"uint256"},{"indexed":true,"name":"_blockIndex","type":"uint256"},{"indexed":false,"name":"_blockHash","type":"string"},{"indexed":false,"name":"_winNumbers","type":"uint256[]"}],"name":"DrawRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"_state","type":"uint256"},{"indexed":false,"name":"_jackpot","type":"uint256"},{"indexed":false,"name":"_bonusAvg","type":"uint256"},{"indexed":false,"name":"_jackpotWinners","type":"address[]"},{"indexed":false,"name":"_goldKeyWinners","type":"address[]"},{"indexed":false,"name":"_autoStartNext","type":"bool"}],"name":"EndRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"_state","type":"uint256"},{"indexed":false,"name":"_initPrizeIn","type":"uint256"}],"name":"NewRound","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"_jackpot","type":"uint256"}],"name":"DumpPrize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"}],"name":"Activated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"}],"name":"Deactivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_gameIndex","type":"uint256"}],"name":"SelfDestroy","type":"event"}]
Contract Creation Code
608060405260006005819055600655666a94d74f4300006007556008805460ff1916905534801561002f57600080fd5b5060008054600160a060020a0319163317815560098190556008805460ff19166001179055610067908064010000000061006c810204565b6100c0565b60098054600190810180835560008181526020839052604080822092835542929093019190915582548152818120600301805460ff1916905582548152818120600701949094559054835290912060080155565b612664806100cf6000396000f3006080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f15f4c081146108f9578063186601ca14610910578063192d65c9146109395780632150c518146109a157806350197646146109c857806351b42b00146109dd57806387c1ed12146109f25780638ab4ca8a146109fd5780638c65c81f14610a155780638da5cb5b14610b06578063a035b1fe14610b37578063a374e43f14610b4c578063aab38aa614610b9e578063abfcc7d814610bbf578063b32b01d814610c5a578063b9750acf14610c6f578063c3c0befb14610c84578063c5b1d9aa14610c8c578063cc4422a214610ca1578063cfbbd90214610cb6578063ee7e18df14610d0f578063f2fde38b14610d6d575b6000808080606081808080338132821461014057600080fd5b50803b8015610199576040805160e560020a62461bcd02815260206004820152601160248201527f736f7272792068756d616e73206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b60085460ff1615156001146101e6576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331415610249576040805160e560020a62461bcd02815260206004820152601160248201527f6f776e65722063616e6e6f74206275792e000000000000000000000000000000604482015290519081900360640190fd5b303314156102a1576040805160e560020a62461bcd02815260206004820152601460248201527f636f6e74726163742063616e6e6f74206275792e000000000000000000000000604482015290519081900360640190fd5b60095460009081526001602052604090206003015460ff1615610334576040805160e560020a62461bcd02815260206004820152602660248201527f7468697320726f756e64206e6f74207374617274207965742c20706c6561736560448201527f20776169742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6009361161038c576040805160e560020a62461bcd02815260206004820152601560248201527f6461746120737472756374206e6f742076616c69640000000000000000000000604482015290519081900360640190fd5b600160093606146103e7576040805160e560020a62461bcd02815260206004820152601560248201527f6461746120737472756374206e6f742076616c69640000000000000000000000604482015290519081900360640190fd5b6064600036818181106103f657fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900410151561046f576040805160e560020a62461bcd02815260206004820152601a60248201527f6f7574206f6620627579206c696d6974206f6e652074696d652e000000000000604482015290519081900360640190fd5b6007546000368181811061047f57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900402341415156104fa576040805160e560020a62461bcd02815260206004820152601e60248201527f7072696365206e6f742072696768742c20706c6561736520636865636b2e0000604482015290519081900360640190fd5b60019a505b368b10156107935760018b019a600090369081811061051a57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900499506000368c806001019d50818110151561055357fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a90049850600080368d806001019e50818110151561058d57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900411975060066040519080825280602002602001820160405280156105dd578160200160208202803883390190505b509650600095505b60068610156106465760018b019a600090369081811061060157fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a9004878781518110151561063157fe5b602090810290910101526001909501946105e5565b600094505b8985101561078e5760009350600089118015610674575033600090815260036020526040812054115b1561069c57336000908152600360205260409020805460001990810190915590980197600193505b6009546000818152600260208181526040808420815160c0810183529586523386840190815242928701928352606087018e81528f151560808901528b151560a0890152825460018082018086559489529786902089516005909202019081559151968201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390981697909717909655915193820193909355925180519294939261074d9260038501920190612489565b5060808201516004909101805460a09093015115156101000261ff001992151560ff199094169390931791909116919091179055506001949094019361064b565b6104ff565b6009546000908152600160205260409020600601546107b29034610d8e565b6009805460009081526001602052604080822060060193909355905481522060070154600a346004020493506107e89084610d8e565b60098054600090815260016020526040808220600701939093559054815220600801546108159084610d8e565b60098054600090815260016020526040808220600801939093558154815291909120015461084d90610848856002610da4565b610d8e565b600980546000908152600160205260409020015561086a83610dd8565b6009546000818152600160209081526040808320600781015460089091015482519384018290529183018290526060808452369084018190523395947fb99d53e7294a22cbb003f32a3494460628d0609d14a8f6f032cabd76362d659f949093919291908060808101868680828437604051920182900397509095505050505050a35050505050505050505050005b34801561090557600080fd5b5061090e610e4d565b005b34801561091c57600080fd5b50610925610e9f565b604080519115158252519081900360200190f35b34801561094557600080fd5b50610951600435610ea8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561098d578181015183820152602001610975565b505050509050019250505060405180910390f35b3480156109ad57600080fd5b506109b66111f0565b60408051918252519081900360200190f35b3480156109d457600080fd5b506109b6611204565b3480156109e957600080fd5b5061090e61120a565b61090e600435611259565b348015610a0957600080fd5b5061090e6004356112d7565b348015610a2157600080fd5b50610a2d600435611434565b604051808f81526020018e81526020018d81526020018c60ff1660ff1681526020018b81526020018a815260200189815260200188815260200187815260200186815260200180602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015610abe578181015183820152602001610aa6565b50505050905090810190601f168015610aeb5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b348015610b1257600080fd5b50610b1b611545565b60408051600160a060020a039092168252519081900360200190f35b348015610b4357600080fd5b506109b6611554565b348015610b5857600080fd5b50610b6760043560243561155a565b60408051958652600160a060020a039094166020860152848401929092521515606084015215156080830152519081900360a00190f35b348015610baa57600080fd5b506109b6600160a060020a03600435166115b4565b348015610bcb57600080fd5b50604080516020600460443581810135838102808601850190965280855261090e958335956024803596369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497505050509135151592506115c6915050565b348015610c6657600080fd5b506109b6611a16565b348015610c7b57600080fd5b5061090e611a1c565b61090e611a36565b348015610c9857600080fd5b5061090e611ba9565b348015610cad57600080fd5b506109b6611d45565b348015610cc257600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610951943694929360249392840191908190840183828082843750949750611d4b9650505050505050565b348015610d1b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261090e95833595369560449491939091019190819084018382808284375094975061208a9650505050505050565b348015610d7957600080fd5b5061090e600160a060020a03600435166123c8565b600082820183811015610d9d57fe5b9392505050565b600080808311610db057fe5b8284811515610dbb57fe5b0490508284811515610dc957fe5b068184020184141515610d9d57fe5b610de460055482610d8e565b6005819055685150ae84a8cdf0000011610e4a57610e1b600160006009548152602001908152602001600020600f01546001610d8e565b6009546000908152600160205260409020600f0155600554610e4690685150ae84a8cdf00000612423565b6005555b50565b600054600160a060020a03163314610e6457600080fd5b6008805460ff191660011790556009546040517f3ec796be1be7d03bff3a62b9fa594a60e947c1809bced06d929f145308ae57ce90600090a2565b60085460ff1681565b6060600080600954841115610ebc576111e9565b60408051601280825261026082019092529060208201610240803883395050815191945050600183019285918591908110610ef357fe5b60209081029091018101919091526000858152600191829052604090206003015484519184019360ff909116918591908110610f2b57fe5b60209081029091018101919091526000858152600191829052604090206006015484519184019390918591908110610f5f57fe5b60209081029091018101919091526000858152600191829052604090206007015484519184019390918591908110610f9357fe5b60209081029091018101919091526000858152600191829052604090206008015484519184019390918591908110610fc757fe5b60209081029091018101919091526000858152600191829052604090206009015484519184019390918591908110610ffb57fe5b6020908102909101810191909152600085815260019091526040902060040154151561105a575060005b60068110156110555782516001830192600091859190811061104357fe5b60209081029091010152600101611025565b6110b3565b5060005b60068110156110b357600084815260016020526040902060040180548290811061108457fe5b60009182526020909120015483516001840193859181106110a157fe5b6020908102909101015260010161105e565b6000848152600160208190526040909120600d0154845191840193909185919081106110db57fe5b6020908102909101810191909152600085815260019182905260409020600e01548451918401939091859190811061110f57fe5b6020908102909101810191909152600085815260019182905260409020600f01548451918401939091859190811061114357fe5b6020908102909101810191909152600085815260019182905260409020600b01548451918401939091859190811061117757fe5b6020908102909101810191909152600085815260019182905260409020810154845191840193909185919081106111aa57fe5b602090810290910181019190915260008581526001918290526040902060020154845191840193909185919081106111de57fe5b602090810290910101525b5050919050565b336000908152600360205260409020545b90565b60095481565b600054600160a060020a0316331461122157600080fd5b6008805460ff191690556009546040517fed48e4e899b34abded07dd8f092a22585a3fdec7db6b83f3927af165bf04cb1e90600090a2565b600054600160a060020a0316331461127057600080fd5b604051339082156108fc029083906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b506009546040805183815290517f19f4d08442a3f0e59d6f5ed694fded7ab1ddd74be5cc60b2c3dd8fa891687f8f9181900360200190a250565b60085460ff161515600114611324576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331461133b57600080fd5b60095460009081526001602052604090206003015460ff16156113ce576040805160e560020a62461bcd02815260206004820152602560248201527f7468697320726f756e64206e6f74206c697665207965742c206e6f206e65656460448201527f206c6f636b000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600980546000908152600160208181526040808420600a018690558454845292839020600301805460ff19168317905592548251918252915184937f8cce2cd32b6fe99b5bfd14b18d216efc4141239cfc480872bc95986699f6774d928290030190a350565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff169080600601549080600701549080600801549080600901549080600a01549080600b01549080600c018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115295780601f106114fe57610100808354040283529160200191611529565b820191906000526020600020905b81548152906001019060200180831161150c57829003601f168201915b50505050509080600d01549080600e01549080600f015490508e565b600054600160a060020a031681565b60075481565b60026020528160005260406000208181548110151561157557fe5b60009182526020909120600590910201805460018201546002830154600490930154919450600160a060020a0316925060ff8082169161010090041685565b60036020526000908152604090205481565b600854600090819081908190819060ff16151560011461161e576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331461163557600080fd5b60095460009081526001602052604090206003015460ff166002146116ca576040805160e560020a62461bcd02815260206004820152602f60248201527f7468697320726f756e64206e6f7420647261776564207965742c20706c65617360448201527f6520647261772069742066697273740000000000000000000000000000000000606482015290519081900360840190fd5b600980546000908152600160209081526040808320600301805460ff19166007179055835483528083204260029091015583548352808320600e018e905583548352808320600d018d9055925482529190208951611730926005909201918b01906124d4565b5060008851118015611742575060008a115b156117b2576000600681905594505b6004548510156117a15760006003600060048881548110151561177057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205560019490940193611751565b6117ad60046000612542565b611916565b600060065411156118f057600093505b86518410156118f05786848151811015156117d957fe5b602090810290910101519250600160a060020a0383163014156117fb576118e5565b5050600160a060020a038116600090815260036020526040812080546001019055805b60045481101561186d5782600160a060020a031660048281548110151561184157fe5b600091825260209091200154600160a060020a03161415611865576001915061186d565b60010161181e565b8115156118cd57600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b6006805460001901908190556000106118e5576118f0565b6001909301926117c2565b6006546009546000908152600160205260409020600f01546119129190610d8e565b6006555b6009547f79e5206167d2e49dbde2eda642c77eb0600e8949149fccde7cfd23d5336795ea60078c8c8c8c8c604051808760ff168152602001868152602001858152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019060200280838360005b838110156119a457818101518382015260200161198c565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156119e35781810151838201526020016119cb565b505050509050019850505050505050505060405180910390a28515611a0a57611a0a611ba9565b50505050505050505050565b60055481565b600054600160a060020a03163314611a3357600080fd5b33ff5b60085460ff161515600114611a83576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a03163314611a9a57600080fd5b60095460009081526001602052604090206003015460ff1615611b07576040805160e560020a62461bcd02815260206004820152601860248201527f7468697320726f756e64206e6f74206c697665207965742e0000000000000000604482015290519081900360640190fd5b600954600090815260016020526040902060060154611b269034610d8e565b6009805460009081526001602052604080822060060193909355905481522060070154611b539034610d8e565b600954600090815260016020526040902060070155611b7134610dd8565b6009546040805134815290517f3c17e88c8194f5c001432db2492cd3fae87e067b9350d5aef53fcdfc5fe8d31a9181900360200190a2565b600854600090819060ff161515600114611bfb576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a03163314611c1257600080fd5b60095460009081526001602052604090206003015460ff16600714611ca7576040805160e560020a62461bcd02815260206004820152602d60248201527f7468697320726f756e64206e6f7420656e646564207965742c20706c6561736560448201527f20656e6420697420666972737400000000000000000000000000000000000000606482015290519081900360840190fd5b60095460009081526001602052604090206007810154600e90910154611ccd9190612423565b60095460009081526001602052604081206008810154600d9091015492945092501015611cf8575060005b611d028282612435565b60095460408051600081526020810185905281517f5aec57d81928b24d30b1a2aec0d23d693412c37d7ec106b5d8259413716bb1f4929181900390910190a25050565b60065481565b606060006060806060600080600080896040518082805190602001908083835b60208310611d8a5780518252601f199092019160209182019101611d6b565b51815160209384036101000a600019018019909216911617905260408051929094018290038220602880845261052084019095529d5090945091925050820161050080388339505060408051600a808252610160820190925292995090506020820161014080388339505060408051600680825260e0820190925292985090506020820160c080388339019050509450600093505b6028841015611e7257836001018785815181101515611e3a57fe5b60209081029091010152600a841015611e6757838685815181101515611e5c57fe5b602090810290910101525b600190930192611e1f565b600093505b6005841015611fa15760288490039250600183016018896003600488020160208110611e9f57fe5b1a60f860020a0260f860020a90049060020a0260108a87600402600201602081101515611ec857fe5b1a60f860020a0260f860020a90049060020a0260088b88600402600101602081101515611ef157fe5b1a60f860020a0260f860020a90049060020a028b88600402602081101515611f1557fe5b1a60f860020a0260f860020a9004010101811515611f2f57fe5b0691508682815181101515611f4057fe5b906020019060200201518585815181101515611f5857fe5b60209081029091010152865187906000198501908110611f7457fe5b906020019060200201518783815181101515611f8c57fe5b60209081029091010152600190930192611e77565b600a6018896003600488020160208110611fb757fe5b1a60f860020a0260f860020a90049060020a0260108a87600402600201602081101515611fe057fe5b1a60f860020a0260f860020a90049060020a0260088b8860040260010160208110151561200957fe5b1a60f860020a0260f860020a90049060020a028b8860040260208110151561202d57fe5b1a60f860020a0260f860020a900401010181151561204757fe5b069050858181518110151561205857fe5b9060200190602002015185600581518110151561207157fe5b6020908102919091010152509298975050505050505050565b60085460ff1615156001146120d7576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a031633146120ee57600080fd5b60095460009081526001602081905260409091206003015460ff1614612184576040805160e560020a62461bcd02815260206004820152602f60248201527f7468697320726f756e64206e6f74206c6f636b6564207965742c20706c65617360448201527f65206c6f636b2069742066697273740000000000000000000000000000000000606482015290519081900360840190fd5b6009546000908152600160205260409020600a0154821161223b576040805160e560020a62461bcd02815260206004820152604960248201527f7468652062746320626c6f636b206e6f2073686f756c6420686967686572207460448201527f68616e207468652062746320626c6f636b206e6f207768656e206c6f636b207460648201527f68697320726f756e640000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61224481611d4b565b600160006009548152602001908152602001600020600401908051906020019061226f929190612489565b506009546000908152600160209081526040909120825161229892600c90920191840190612560565b50600980546000908152600160209081526040808320600b0186905583548352808320600301805460ff1916600290811790915593548084528184208251868152606081860181815289519183019190915288518a9894977ff38b9cc42d21935e0d4f210911989fe9b7af94f81c9ae8ddc09f1490dd2d1d4d9795968b96600490960195908501926080860192918801918190849084905b83811015612348578181015183820152602001612330565b50505050905090810190601f1680156123755780820380516001836020036101000a031916815260200191505b5083810382528481815481526020019150805480156123b357602002820191906000526020600020905b81548152602001906001019080831161239f575b50509550505050505060405180910390a35050565b600054600160a060020a031633146123df57600080fd5b600160a060020a03811615156123f457600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561242f57fe5b50900390565b60098054600190810180835560008181526020839052604080822092835542929093019190915582548152818120600301805460ff1916905582548152818120600701949094559054835290912060080155565b8280548282559060005260206000209081019282156124c4579160200282015b828111156124c45782518255916020019190600101906124a9565b506124d09291506125cd565b5090565b828054828255906000526020600020908101928215612536579160200282015b82811115612536578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039091161782556020909201916001909101906124f4565b506124d09291506125e7565b5080546000825590600052602060002090810190610e4a91906125cd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125a157805160ff19168380011785556124c4565b828001600101855582156124c457918201828111156124c45782518255916020019190600101906124a9565b61120191905b808211156124d057600081556001016125d3565b61120191905b808211156124d057805473ffffffffffffffffffffffffffffffffffffffff191681556001016125ed5600697473206e6f74207265616479207965742e0000000000000000000000000000a165627a7a72305820fb57afed3519663974c6d5003a39a0c8a95b111e235d02bd192c77c4d4a0b9e70029
Deployed Bytecode
0x6080604052600436106101275763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630f15f4c081146108f9578063186601ca14610910578063192d65c9146109395780632150c518146109a157806350197646146109c857806351b42b00146109dd57806387c1ed12146109f25780638ab4ca8a146109fd5780638c65c81f14610a155780638da5cb5b14610b06578063a035b1fe14610b37578063a374e43f14610b4c578063aab38aa614610b9e578063abfcc7d814610bbf578063b32b01d814610c5a578063b9750acf14610c6f578063c3c0befb14610c84578063c5b1d9aa14610c8c578063cc4422a214610ca1578063cfbbd90214610cb6578063ee7e18df14610d0f578063f2fde38b14610d6d575b6000808080606081808080338132821461014057600080fd5b50803b8015610199576040805160e560020a62461bcd02815260206004820152601160248201527f736f7272792068756d616e73206f6e6c79000000000000000000000000000000604482015290519081900360640190fd5b60085460ff1615156001146101e6576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331415610249576040805160e560020a62461bcd02815260206004820152601160248201527f6f776e65722063616e6e6f74206275792e000000000000000000000000000000604482015290519081900360640190fd5b303314156102a1576040805160e560020a62461bcd02815260206004820152601460248201527f636f6e74726163742063616e6e6f74206275792e000000000000000000000000604482015290519081900360640190fd5b60095460009081526001602052604090206003015460ff1615610334576040805160e560020a62461bcd02815260206004820152602660248201527f7468697320726f756e64206e6f74207374617274207965742c20706c6561736560448201527f20776169742e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6009361161038c576040805160e560020a62461bcd02815260206004820152601560248201527f6461746120737472756374206e6f742076616c69640000000000000000000000604482015290519081900360640190fd5b600160093606146103e7576040805160e560020a62461bcd02815260206004820152601560248201527f6461746120737472756374206e6f742076616c69640000000000000000000000604482015290519081900360640190fd5b6064600036818181106103f657fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900410151561046f576040805160e560020a62461bcd02815260206004820152601a60248201527f6f7574206f6620627579206c696d6974206f6e652074696d652e000000000000604482015290519081900360640190fd5b6007546000368181811061047f57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900402341415156104fa576040805160e560020a62461bcd02815260206004820152601e60248201527f7072696365206e6f742072696768742c20706c6561736520636865636b2e0000604482015290519081900360640190fd5b60019a505b368b10156107935760018b019a600090369081811061051a57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900499506000368c806001019d50818110151561055357fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a90049850600080368d806001019e50818110151561058d57fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a900411975060066040519080825280602002602001820160405280156105dd578160200160208202803883390190505b509650600095505b60068610156106465760018b019a600090369081811061060157fe5b9050013560f860020a900460f860020a02600160f860020a03191660f860020a9004878781518110151561063157fe5b602090810290910101526001909501946105e5565b600094505b8985101561078e5760009350600089118015610674575033600090815260036020526040812054115b1561069c57336000908152600360205260409020805460001990810190915590980197600193505b6009546000818152600260208181526040808420815160c0810183529586523386840190815242928701928352606087018e81528f151560808901528b151560a0890152825460018082018086559489529786902089516005909202019081559151968201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390981697909717909655915193820193909355925180519294939261074d9260038501920190612489565b5060808201516004909101805460a09093015115156101000261ff001992151560ff199094169390931791909116919091179055506001949094019361064b565b6104ff565b6009546000908152600160205260409020600601546107b29034610d8e565b6009805460009081526001602052604080822060060193909355905481522060070154600a346004020493506107e89084610d8e565b60098054600090815260016020526040808220600701939093559054815220600801546108159084610d8e565b60098054600090815260016020526040808220600801939093558154815291909120015461084d90610848856002610da4565b610d8e565b600980546000908152600160205260409020015561086a83610dd8565b6009546000818152600160209081526040808320600781015460089091015482519384018290529183018290526060808452369084018190523395947fb99d53e7294a22cbb003f32a3494460628d0609d14a8f6f032cabd76362d659f949093919291908060808101868680828437604051920182900397509095505050505050a35050505050505050505050005b34801561090557600080fd5b5061090e610e4d565b005b34801561091c57600080fd5b50610925610e9f565b604080519115158252519081900360200190f35b34801561094557600080fd5b50610951600435610ea8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561098d578181015183820152602001610975565b505050509050019250505060405180910390f35b3480156109ad57600080fd5b506109b66111f0565b60408051918252519081900360200190f35b3480156109d457600080fd5b506109b6611204565b3480156109e957600080fd5b5061090e61120a565b61090e600435611259565b348015610a0957600080fd5b5061090e6004356112d7565b348015610a2157600080fd5b50610a2d600435611434565b604051808f81526020018e81526020018d81526020018c60ff1660ff1681526020018b81526020018a815260200189815260200188815260200187815260200186815260200180602001858152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015610abe578181015183820152602001610aa6565b50505050905090810190601f168015610aeb5780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b348015610b1257600080fd5b50610b1b611545565b60408051600160a060020a039092168252519081900360200190f35b348015610b4357600080fd5b506109b6611554565b348015610b5857600080fd5b50610b6760043560243561155a565b60408051958652600160a060020a039094166020860152848401929092521515606084015215156080830152519081900360a00190f35b348015610baa57600080fd5b506109b6600160a060020a03600435166115b4565b348015610bcb57600080fd5b50604080516020600460443581810135838102808601850190965280855261090e958335956024803596369695606495939492019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497505050509135151592506115c6915050565b348015610c6657600080fd5b506109b6611a16565b348015610c7b57600080fd5b5061090e611a1c565b61090e611a36565b348015610c9857600080fd5b5061090e611ba9565b348015610cad57600080fd5b506109b6611d45565b348015610cc257600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610951943694929360249392840191908190840183828082843750949750611d4b9650505050505050565b348015610d1b57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261090e95833595369560449491939091019190819084018382808284375094975061208a9650505050505050565b348015610d7957600080fd5b5061090e600160a060020a03600435166123c8565b600082820183811015610d9d57fe5b9392505050565b600080808311610db057fe5b8284811515610dbb57fe5b0490508284811515610dc957fe5b068184020184141515610d9d57fe5b610de460055482610d8e565b6005819055685150ae84a8cdf0000011610e4a57610e1b600160006009548152602001908152602001600020600f01546001610d8e565b6009546000908152600160205260409020600f0155600554610e4690685150ae84a8cdf00000612423565b6005555b50565b600054600160a060020a03163314610e6457600080fd5b6008805460ff191660011790556009546040517f3ec796be1be7d03bff3a62b9fa594a60e947c1809bced06d929f145308ae57ce90600090a2565b60085460ff1681565b6060600080600954841115610ebc576111e9565b60408051601280825261026082019092529060208201610240803883395050815191945050600183019285918591908110610ef357fe5b60209081029091018101919091526000858152600191829052604090206003015484519184019360ff909116918591908110610f2b57fe5b60209081029091018101919091526000858152600191829052604090206006015484519184019390918591908110610f5f57fe5b60209081029091018101919091526000858152600191829052604090206007015484519184019390918591908110610f9357fe5b60209081029091018101919091526000858152600191829052604090206008015484519184019390918591908110610fc757fe5b60209081029091018101919091526000858152600191829052604090206009015484519184019390918591908110610ffb57fe5b6020908102909101810191909152600085815260019091526040902060040154151561105a575060005b60068110156110555782516001830192600091859190811061104357fe5b60209081029091010152600101611025565b6110b3565b5060005b60068110156110b357600084815260016020526040902060040180548290811061108457fe5b60009182526020909120015483516001840193859181106110a157fe5b6020908102909101015260010161105e565b6000848152600160208190526040909120600d0154845191840193909185919081106110db57fe5b6020908102909101810191909152600085815260019182905260409020600e01548451918401939091859190811061110f57fe5b6020908102909101810191909152600085815260019182905260409020600f01548451918401939091859190811061114357fe5b6020908102909101810191909152600085815260019182905260409020600b01548451918401939091859190811061117757fe5b6020908102909101810191909152600085815260019182905260409020810154845191840193909185919081106111aa57fe5b602090810290910181019190915260008581526001918290526040902060020154845191840193909185919081106111de57fe5b602090810290910101525b5050919050565b336000908152600360205260409020545b90565b60095481565b600054600160a060020a0316331461122157600080fd5b6008805460ff191690556009546040517fed48e4e899b34abded07dd8f092a22585a3fdec7db6b83f3927af165bf04cb1e90600090a2565b600054600160a060020a0316331461127057600080fd5b604051339082156108fc029083906000818181858888f1935050505015801561129d573d6000803e3d6000fd5b506009546040805183815290517f19f4d08442a3f0e59d6f5ed694fded7ab1ddd74be5cc60b2c3dd8fa891687f8f9181900360200190a250565b60085460ff161515600114611324576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331461133b57600080fd5b60095460009081526001602052604090206003015460ff16156113ce576040805160e560020a62461bcd02815260206004820152602560248201527f7468697320726f756e64206e6f74206c697665207965742c206e6f206e65656460448201527f206c6f636b000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600980546000908152600160208181526040808420600a018690558454845292839020600301805460ff19168317905592548251918252915184937f8cce2cd32b6fe99b5bfd14b18d216efc4141239cfc480872bc95986699f6774d928290030190a350565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff169080600601549080600701549080600801549080600901549080600a01549080600b01549080600c018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156115295780601f106114fe57610100808354040283529160200191611529565b820191906000526020600020905b81548152906001019060200180831161150c57829003601f168201915b50505050509080600d01549080600e01549080600f015490508e565b600054600160a060020a031681565b60075481565b60026020528160005260406000208181548110151561157557fe5b60009182526020909120600590910201805460018201546002830154600490930154919450600160a060020a0316925060ff8082169161010090041685565b60036020526000908152604090205481565b600854600090819081908190819060ff16151560011461161e576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a0316331461163557600080fd5b60095460009081526001602052604090206003015460ff166002146116ca576040805160e560020a62461bcd02815260206004820152602f60248201527f7468697320726f756e64206e6f7420647261776564207965742c20706c65617360448201527f6520647261772069742066697273740000000000000000000000000000000000606482015290519081900360840190fd5b600980546000908152600160209081526040808320600301805460ff19166007179055835483528083204260029091015583548352808320600e018e905583548352808320600d018d9055925482529190208951611730926005909201918b01906124d4565b5060008851118015611742575060008a115b156117b2576000600681905594505b6004548510156117a15760006003600060048881548110151561177057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205560019490940193611751565b6117ad60046000612542565b611916565b600060065411156118f057600093505b86518410156118f05786848151811015156117d957fe5b602090810290910101519250600160a060020a0383163014156117fb576118e5565b5050600160a060020a038116600090815260036020526040812080546001019055805b60045481101561186d5782600160a060020a031660048281548110151561184157fe5b600091825260209091200154600160a060020a03161415611865576001915061186d565b60010161181e565b8115156118cd57600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385161790555b6006805460001901908190556000106118e5576118f0565b6001909301926117c2565b6006546009546000908152600160205260409020600f01546119129190610d8e565b6006555b6009547f79e5206167d2e49dbde2eda642c77eb0600e8949149fccde7cfd23d5336795ea60078c8c8c8c8c604051808760ff168152602001868152602001858152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019060200280838360005b838110156119a457818101518382015260200161198c565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156119e35781810151838201526020016119cb565b505050509050019850505050505050505060405180910390a28515611a0a57611a0a611ba9565b50505050505050505050565b60055481565b600054600160a060020a03163314611a3357600080fd5b33ff5b60085460ff161515600114611a83576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a03163314611a9a57600080fd5b60095460009081526001602052604090206003015460ff1615611b07576040805160e560020a62461bcd02815260206004820152601860248201527f7468697320726f756e64206e6f74206c697665207965742e0000000000000000604482015290519081900360640190fd5b600954600090815260016020526040902060060154611b269034610d8e565b6009805460009081526001602052604080822060060193909355905481522060070154611b539034610d8e565b600954600090815260016020526040902060070155611b7134610dd8565b6009546040805134815290517f3c17e88c8194f5c001432db2492cd3fae87e067b9350d5aef53fcdfc5fe8d31a9181900360200190a2565b600854600090819060ff161515600114611bfb576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a03163314611c1257600080fd5b60095460009081526001602052604090206003015460ff16600714611ca7576040805160e560020a62461bcd02815260206004820152602d60248201527f7468697320726f756e64206e6f7420656e646564207965742c20706c6561736560448201527f20656e6420697420666972737400000000000000000000000000000000000000606482015290519081900360840190fd5b60095460009081526001602052604090206007810154600e90910154611ccd9190612423565b60095460009081526001602052604081206008810154600d9091015492945092501015611cf8575060005b611d028282612435565b60095460408051600081526020810185905281517f5aec57d81928b24d30b1a2aec0d23d693412c37d7ec106b5d8259413716bb1f4929181900390910190a25050565b60065481565b606060006060806060600080600080896040518082805190602001908083835b60208310611d8a5780518252601f199092019160209182019101611d6b565b51815160209384036101000a600019018019909216911617905260408051929094018290038220602880845261052084019095529d5090945091925050820161050080388339505060408051600a808252610160820190925292995090506020820161014080388339505060408051600680825260e0820190925292985090506020820160c080388339019050509450600093505b6028841015611e7257836001018785815181101515611e3a57fe5b60209081029091010152600a841015611e6757838685815181101515611e5c57fe5b602090810290910101525b600190930192611e1f565b600093505b6005841015611fa15760288490039250600183016018896003600488020160208110611e9f57fe5b1a60f860020a0260f860020a90049060020a0260108a87600402600201602081101515611ec857fe5b1a60f860020a0260f860020a90049060020a0260088b88600402600101602081101515611ef157fe5b1a60f860020a0260f860020a90049060020a028b88600402602081101515611f1557fe5b1a60f860020a0260f860020a9004010101811515611f2f57fe5b0691508682815181101515611f4057fe5b906020019060200201518585815181101515611f5857fe5b60209081029091010152865187906000198501908110611f7457fe5b906020019060200201518783815181101515611f8c57fe5b60209081029091010152600190930192611e77565b600a6018896003600488020160208110611fb757fe5b1a60f860020a0260f860020a90049060020a0260108a87600402600201602081101515611fe057fe5b1a60f860020a0260f860020a90049060020a0260088b8860040260010160208110151561200957fe5b1a60f860020a0260f860020a90049060020a028b8860040260208110151561202d57fe5b1a60f860020a0260f860020a900401010181151561204757fe5b069050858181518110151561205857fe5b9060200190602002015185600581518110151561207157fe5b6020908102919091010152509298975050505050505050565b60085460ff1615156001146120d7576040805160e560020a62461bcd0281526020600482015260126024820152600080516020612619833981519152604482015290519081900360640190fd5b600054600160a060020a031633146120ee57600080fd5b60095460009081526001602081905260409091206003015460ff1614612184576040805160e560020a62461bcd02815260206004820152602f60248201527f7468697320726f756e64206e6f74206c6f636b6564207965742c20706c65617360448201527f65206c6f636b2069742066697273740000000000000000000000000000000000606482015290519081900360840190fd5b6009546000908152600160205260409020600a0154821161223b576040805160e560020a62461bcd02815260206004820152604960248201527f7468652062746320626c6f636b206e6f2073686f756c6420686967686572207460448201527f68616e207468652062746320626c6f636b206e6f207768656e206c6f636b207460648201527f68697320726f756e640000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61224481611d4b565b600160006009548152602001908152602001600020600401908051906020019061226f929190612489565b506009546000908152600160209081526040909120825161229892600c90920191840190612560565b50600980546000908152600160209081526040808320600b0186905583548352808320600301805460ff1916600290811790915593548084528184208251868152606081860181815289519183019190915288518a9894977ff38b9cc42d21935e0d4f210911989fe9b7af94f81c9ae8ddc09f1490dd2d1d4d9795968b96600490960195908501926080860192918801918190849084905b83811015612348578181015183820152602001612330565b50505050905090810190601f1680156123755780820380516001836020036101000a031916815260200191505b5083810382528481815481526020019150805480156123b357602002820191906000526020600020905b81548152602001906001019080831161239f575b50509550505050505060405180910390a35050565b600054600160a060020a031633146123df57600080fd5b600160a060020a03811615156123f457600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008282111561242f57fe5b50900390565b60098054600190810180835560008181526020839052604080822092835542929093019190915582548152818120600301805460ff1916905582548152818120600701949094559054835290912060080155565b8280548282559060005260206000209081019282156124c4579160200282015b828111156124c45782518255916020019190600101906124a9565b506124d09291506125cd565b5090565b828054828255906000526020600020908101928215612536579160200282015b82811115612536578251825473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039091161782556020909201916001909101906124f4565b506124d09291506125e7565b5080546000825590600052602060002090810190610e4a91906125cd565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125a157805160ff19168380011785556124c4565b828001600101855582156124c457918201828111156124c45782518255916020019190600101906124a9565b61120191905b808211156124d057600081556001016125d3565b61120191905b808211156124d057805473ffffffffffffffffffffffffffffffffffffffff191681556001016125ed5600697473206e6f74207265616479207965742e0000000000000000000000000000a165627a7a72305820fb57afed3519663974c6d5003a39a0c8a95b111e235d02bd192c77c4d4a0b9e70029
Swarm Source
bzzr://fb57afed3519663974c6d5003a39a0c8a95b111e235d02bd192c77c4d4a0b9e7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.