More Info
Private Name Tags
ContractCreator
Transactions Sent
Latest:
N/A
First:
N/A
Latest 25 from a total of 4,645 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Hara Kiri | 3611954 | 2701 days ago | IN | 0 ETH | 0.00027898 | ||||
Winner Decided | 3601869 | 2702 days ago | IN | 0 ETH | 0.00193868 | ||||
Handle Bet | 3601866 | 2702 days ago | IN | 0.01 ETH | 0.00049418 | ||||
Handle Bet | 3601866 | 2702 days ago | IN | 0.01 ETH | 0.00049418 | ||||
Handle Bet | 3601866 | 2702 days ago | IN | 0.01 ETH | 0.00049418 | ||||
Handle Bet | 3601866 | 2702 days ago | IN | 0.002 ETH | 0.00070043 | ||||
House Keep | 3601859 | 2702 days ago | IN | 0 ETH | 0.002545 | ||||
Handle Bet | 3601839 | 2702 days ago | IN | 0.02 ETH | 0.00077928 | ||||
Handle Bet | 3601838 | 2702 days ago | IN | 0.01 ETH | 0.00077928 | ||||
Handle Bet | 3601838 | 2702 days ago | IN | 0.002 ETH | 0.00109803 | ||||
Winner Decided | 3601837 | 2702 days ago | IN | 0 ETH | 0.00192314 | ||||
Start Game | 3601833 | 2702 days ago | IN | 0 ETH | 0.00341561 | ||||
Handle Bet | 3601830 | 2702 days ago | IN | 0.01 ETH | 0.00049418 | ||||
Handle Bet | 3601830 | 2702 days ago | IN | 0.01 ETH | 0.00049418 | ||||
Handle Bet | 3601830 | 2702 days ago | IN | 0.01 ETH | 0.00077928 | ||||
Handle Bet | 3601830 | 2702 days ago | IN | 0.002 ETH | 0.00070043 | ||||
Handle Bet | 3601830 | 2702 days ago | IN | 0.002 ETH | 0.00109803 | ||||
Start Game | 3601828 | 2702 days ago | IN | 0 ETH | 0.00340665 | ||||
House Keep | 3601753 | 2702 days ago | IN | 0 ETH | 0.00253603 | ||||
Winner Decided | 3601748 | 2702 days ago | IN | 0 ETH | 0.00194004 | ||||
Handle Bet | 3601739 | 2702 days ago | IN | 0.001 ETH | 0.00049418 | ||||
Handle Bet | 3601739 | 2702 days ago | IN | 0.002 ETH | 0.00070043 | ||||
Handle Bet | 3601720 | 2702 days ago | IN | 0.001 ETH | 0.00077928 | ||||
Handle Bet | 3601720 | 2702 days ago | IN | 0.002 ETH | 0.00109803 | ||||
Start Game | 3601717 | 2702 days ago | IN | 0 ETH | 0.00340665 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
3611954 | 2701 days ago | 0.0633 ETH | ||||
3601869 | 2702 days ago | 0.06272 ETH | ||||
3601837 | 2702 days ago | 0.03332 ETH | ||||
3601748 | 2702 days ago | 0.00588 ETH | ||||
3601717 | 2702 days ago | 0.01176 ETH | ||||
3601706 | 2702 days ago | 0.00588 ETH | ||||
3601686 | 2702 days ago | 0.00392 ETH | ||||
3601662 | 2702 days ago | 0.00392 ETH | ||||
3601641 | 2702 days ago | 0.04312 ETH | ||||
3601619 | 2702 days ago | 0.00588 ETH | ||||
3601454 | 2702 days ago | 0.04312 ETH | ||||
3601300 | 2702 days ago | 0.00392 ETH | ||||
3601125 | 2702 days ago | 0.00392 ETH | ||||
3601061 | 2703 days ago | 0.00392 ETH | ||||
3600943 | 2703 days ago | 0.01568 ETH | ||||
3600942 | 2703 days ago | 0.03332 ETH | ||||
3600901 | 2703 days ago | 0.01372 ETH | ||||
3600901 | 2703 days ago | 0.0098 ETH | ||||
3600893 | 2703 days ago | 0.03332 ETH | ||||
3600892 | 2703 days ago | 0.00392 ETH | ||||
3600887 | 2703 days ago | 0.00392 ETH | ||||
3600881 | 2703 days ago | 0.01372 ETH | ||||
3600876 | 2703 days ago | 0.00882 ETH | ||||
3600871 | 2703 days ago | 0.00392 ETH | ||||
3600867 | 2703 days ago | 0.01568 ETH |
Loading...
Loading
Contract Self Destruct called at Txn Hash 0xf59e745b53a3960b90de9b1d2a61c9074e49d64cc577bfbd3c2dbc8de5f0c926
Contract Name:
E4RowEscrowU
Compiler Version
v0.4.8+commit.60cc1668
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-04-12 */ pragma solidity ^0.4.6; contract iE4RowEscrow { function getNumGamesStarted() constant returns (int ngames); } contract E4RowEscrowU is iE4RowEscrow { event StatEvent(string msg); event StatEventI(string msg, uint val); event StatEventA(string msg, address addr); uint constant MAX_PLAYERS = 5; enum EndReason {erWinner, erTimeOut, erCheat} enum SettingStateValue {debug, release, lockedRelease} struct gameInstance { address[5] players; uint[5] playerPots; uint numPlayers; bool active; // active bool allocd; // allocated already. uint started; // time game started uint lastMoved; // time game last moved uint payout; // payout amont address winner; // address of winner EndReason reasonEnded; // enum reason of ended } struct arbiter { mapping (uint => uint) gameIndexes; // game handles uint arbToken; // 2 bytes uint gameSlots; // a counter of alloc'd game structs (they can be reused) uint gamesStarted; // total games started uint gamesCompleted; uint gamesCheated; uint gamesTimedout; uint numPlayers; bool registered; bool locked; } address public owner; // owner is address that deployed contract address public tokenPartner; // the address of partner that receives rake fees uint public numArbiters; // number of arbiters int numGamesStarted; // total stats from all arbiters uint public numGamesCompleted; // ... uint public numGamesCheated; // ... uint public numGamesTimedOut; // ... uint public houseFeeHoldover; // hold fee till threshold uint public lastPayoutTime; // timestamp of last payout time // configurables uint public gameTimeOut; uint public registrationFee; uint public houseFeeThreshold; uint public payoutInterval; uint raGas; // for register arb uint sgGas;// for start game uint wpGas; // for winner paid uint rfGas; // for refund uint feeGas; // for rake fee payout SettingStateValue public settingsState = SettingStateValue.debug; mapping (address => arbiter) arbiters; mapping (uint => address) arbiterTokens; mapping (uint => address) arbiterIndexes; mapping (uint => gameInstance) games; function E4RowEscrowU() public { owner = msg.sender; } function applySettings(SettingStateValue _state, uint _fee, uint _threshold, uint _timeout, uint _interval) { if (msg.sender != owner) throw; // ---------------------------------------------- // these items are tweakable for game optimization // ---------------------------------------------- houseFeeThreshold = _threshold; gameTimeOut = _timeout; payoutInterval = _interval; if (settingsState == SettingStateValue.lockedRelease) { StatEvent("Settings Tweaked"); return; } settingsState = _state; registrationFee = _fee; // set default op gas - any futher settings done in set up gas raGas = 150000; sgGas = 110000; wpGas = 20000; rfGas = 20000; feeGas = 360000; StatEvent("Settings Changed"); } //----------------------------- // return an arbiter token from an hGame //----------------------------- function ArbTokFromHGame(uint _hGame) returns (uint _tok) { _tok = (_hGame / (2 ** 48)) & 0xffff; } //----------------------------- // suicide the contract, not called for release //----------------------------- function HaraKiri() { if ((msg.sender == owner) && (settingsState != SettingStateValue.lockedRelease)) suicide(tokenPartner); else StatEvent("Kill attempt failed"); } //----------------------------- // default function //----------------------------- function() payable { throw; } //------------------------------------------------------ // check active game and valid player, return player index //------------------------------------------------------- function validPlayer(uint _hGame, address _addr) internal returns( bool _valid, uint _pidx) { _valid = false; if (activeGame(_hGame)) { for (uint i = 0; i < games[_hGame].numPlayers; i++) { if (games[_hGame].players[i] == _addr) { _valid=true; _pidx = i; break; } } } } //------------------------------------------------------ // check valid player, return player index //------------------------------------------------------- function validPlayer2(uint _hGame, address _addr) internal returns( bool _valid, uint _pidx) { _valid = false; for (uint i = 0; i < games[_hGame].numPlayers; i++) { if (games[_hGame].players[i] == _addr) { _valid=true; _pidx = i; break; } } } //------------------------------------------------------ // check the arbiter is valid by comparing token //------------------------------------------------------ function validArb(address _addr, uint _tok) internal returns( bool _valid) { _valid = false; if ((arbiters[_addr].registered) && (arbiters[_addr].arbToken == _tok)) _valid = true; } //------------------------------------------------------ // check the arbiter is valid without comparing token //------------------------------------------------------ function validArb2(address _addr) internal returns( bool _valid) { _valid = false; if (arbiters[_addr].registered) _valid = true; } //------------------------------------------------------ // check if arbiter is locked out //------------------------------------------------------ function arbLocked(address _addr) internal returns( bool _locked) { _locked = false; if (validArb2(_addr)) _locked = arbiters[_addr].locked; } //------------------------------------------------------ // return if game is active //------------------------------------------------------ function activeGame(uint _hGame) internal returns( bool _valid) { _valid = false; if ((_hGame > 0) && (games[_hGame].active)) _valid = true; } //------------------------------------------------------ // register game arbiter, max players of 5, pass in exact registration fee //------------------------------------------------------ function registerArbiter(uint _numPlayers, uint _arbToken) public payable { if (msg.value != registrationFee) { throw; //Insufficient Fee } if (_arbToken == 0) { throw; // invalid token } if (arbTokenExists(_arbToken & 0xffff)) { throw; // Token Already Exists } if (arbiters[msg.sender].registered) { throw; // Arb Already Registered } if (_numPlayers > MAX_PLAYERS) { throw; // Exceeds Max Players } arbiters[msg.sender].gamesStarted = 0; arbiters[msg.sender].gamesCompleted = 0; arbiters[msg.sender].gamesCheated = 0; arbiters[msg.sender].gamesTimedout = 0; arbiters[msg.sender].locked = false; arbiters[msg.sender].arbToken = _arbToken & 0xffff; arbiters[msg.sender].numPlayers = _numPlayers; arbiters[msg.sender].registered = true; arbiterTokens[(_arbToken & 0xffff)] = msg.sender; arbiterIndexes[numArbiters++] = msg.sender; if (!tokenPartner.call.gas(raGas).value(msg.value)()) { //Statvent("Send Error"); // event never registers throw; } StatEventI("Arb Added", _arbToken); } //------------------------------------------------------ // start game. pass in valid hGame containing token in top two bytes //------------------------------------------------------ function startGame(uint _hGame, int _hkMax, address[] _players) public { uint ntok = ArbTokFromHGame(_hGame); if (!validArb(msg.sender, ntok )) { StatEvent("Invalid Arb"); return; } if (arbLocked(msg.sender)) { StatEvent("Arb Locked"); return; } arbiter xarb = arbiters[msg.sender]; if (_players.length != xarb.numPlayers) { StatEvent("Incorrect num players"); return; } if (_hkMax > 0) houseKeep(_hkMax, ntok); if (!games[_hGame].allocd) { games[_hGame].allocd = true; xarb.gameIndexes[xarb.gameSlots++] = _hGame; } numGamesStarted++; // always inc this one xarb.gamesStarted++; games[_hGame].active = true; games[_hGame].started = now; games[_hGame].lastMoved = now; games[_hGame].payout = 0; games[_hGame].winner = address(0); games[_hGame].numPlayers = _players.length; // we'll be the judge of how many unique players for (uint i = 0; i< _players.length && i < MAX_PLAYERS; i++) { games[_hGame].players[i] = _players[i]; games[_hGame].playerPots[i] = 0; } StatEventI("Game Added", _hGame); } //------------------------------------------------------ // clean up game, set to inactive, refund any balances // called by housekeep ONLY //------------------------------------------------------ function abortGame(address _arb, uint _hGame, EndReason _reason) private returns(bool _success) { gameInstance nGame = games[_hGame]; // find game in game id, if (nGame.active) { _success = true; for (uint i = 0; i < nGame.numPlayers; i++) { if (nGame.playerPots[i] > 0) { address a = nGame.players[i]; uint nsend = nGame.playerPots[i]; nGame.playerPots[i] = 0; if (!a.call.gas(rfGas).value(nsend)()) { houseFeeHoldover += nsend; // cannot refund due to error, give to the house StatEventA("Cannot Refund Address", a); } } } nGame.active = false; nGame.reasonEnded = _reason; if (_reason == EndReason.erCheat) { numGamesCheated++; arbiters[_arb].gamesCheated++; StatEvent("Game Aborted-Cheat"); } else if (_reason == EndReason.erTimeOut) { numGamesTimedOut++; arbiters[_arb].gamesTimedout++; StatEvent("Game Aborted-TimeOut"); } else StatEvent("Game Aborted!"); } } //------------------------------------------------------ // called by arbiter when winner is decided //------------------------------------------------------ function winnerDecided(uint _hGame, address _winner, uint _winnerBal) public { if (!validArb(msg.sender, ArbTokFromHGame(_hGame))) { StatEvent("Invalid Arb"); return; // no throw no change made } var (valid, pidx) = validPlayer(_hGame, _winner); if (!valid) { StatEvent("Invalid Player"); return; } arbiter xarb = arbiters[msg.sender]; gameInstance xgame = games[_hGame]; uint totalPot = 0; if (xgame.playerPots[pidx] != _winnerBal) { abortGame(msg.sender, _hGame, EndReason.erCheat); return; } for (uint i = 0; i < xgame.numPlayers; i++) { totalPot += xgame.playerPots[i]; } uint nportion; uint nremnant; if (totalPot > 0) { nportion = totalPot/50; // 2 percent fixed nremnant = totalPot-nportion; } else { nportion = 0; nremnant = 0; } xgame.lastMoved = now; xgame.active = false; xgame.reasonEnded = EndReason.erWinner; xgame.winner = _winner; xgame.payout = nremnant; if (nportion > 0) { houseFeeHoldover += nportion; if ((houseFeeHoldover > houseFeeThreshold) && (now > (lastPayoutTime + payoutInterval))) { uint ntmpho = houseFeeHoldover; houseFeeHoldover = 0; lastPayoutTime = now; // reset regardless of succeed/fail if (!tokenPartner.call.gas(feeGas).value(ntmpho)()) { houseFeeHoldover = ntmpho; // put it back StatEvent("House-Fee Error1"); } } } for (i = 0; i < xgame.numPlayers; i++) { xgame.playerPots[i] = 0; } xarb.gamesCompleted++; numGamesCompleted++; if (nremnant > 0) { if (!_winner.call.gas(wpGas).value(uint(nremnant))()) { // StatEvent("Send Error"); throw; // if you cant pay the winner - very bad } else { StatEventI("Winner Paid", _hGame); } } } //------------------------------------------------------ // handle a bet made by a player, validate the player and game // add to players balance //------------------------------------------------------ function handleBet(uint _hGame) public payable { address narb = arbiterTokens[ArbTokFromHGame(_hGame)]; if (narb == address(0)) { StatEvent("Invalid hGame"); if (settingsState != SettingStateValue.debug) throw; else return; } var (valid, pidx) = validPlayer(_hGame, msg.sender); if (!valid) { StatEvent("Invalid Player"); if (settingsState != SettingStateValue.debug) throw; else return; } games[_hGame].playerPots[pidx] += msg.value; games[_hGame].lastMoved = now; StatEventI("Bet Added", _hGame); } //------------------------------------------------------ // return if arb token exists //------------------------------------------------------ function arbTokenExists(uint _tok) constant returns (bool _exists) { _exists = false; if ((_tok > 0) && (arbiterTokens[_tok] != address(0)) && arbiters[arbiterTokens[_tok]].registered) _exists = true; } //------------------------------------------------------ // called by ico token contract //------------------------------------------------------ function getNumGamesStarted() constant returns (int _games) { _games = numGamesStarted; } //------------------------------------------------------ // return arbiter game stats //------------------------------------------------------ function getArbInfo(uint _idx) constant returns (address _addr, uint _started, uint _completed, uint _cheated, uint _timedOut) { if (_idx >= numArbiters) { StatEvent("Invalid Arb"); return; } _addr = arbiterIndexes[_idx]; if ((_addr == address(0)) || (!arbiters[_addr].registered)) { StatEvent("Invalid Arb"); return; } arbiter xarb = arbiters[_addr]; _started = xarb.gamesStarted; _completed = xarb.gamesCompleted; _timedOut = xarb.gamesTimedout; _cheated = xarb.gamesCheated; } //------------------------------------------------------ // scan for a game 10 minutes old // if found abort the game, causing funds to be returned //------------------------------------------------------ function houseKeep(int _max, uint _arbToken) public { uint gi; address a; int aborted = 0; arbiter xarb = arbiters[msg.sender];// have to set it to something if (msg.sender == owner) { for (uint ar = 0; (ar < numArbiters) && (aborted < _max) ; ar++) { a = arbiterIndexes[ar]; xarb = arbiters[a]; for ( gi = 0; (gi < xarb.gameSlots) && (aborted < _max); gi++) { gameInstance ngame0 = games[xarb.gameIndexes[gi]]; if ((ngame0.active) && ((now - ngame0.lastMoved) > gameTimeOut)) { abortGame(a, xarb.gameIndexes[gi], EndReason.erTimeOut); ++aborted; } } } } else { if (!validArb(msg.sender, _arbToken)) StatEvent("Housekeep invalid arbiter"); else { a = msg.sender; xarb = arbiters[a]; for (gi = 0; (gi < xarb.gameSlots) && (aborted < _max); gi++) { gameInstance ngame1 = games[xarb.gameIndexes[gi]]; if ((ngame1.active) && ((now - ngame1.lastMoved) > gameTimeOut)) { abortGame(a, xarb.gameIndexes[gi], EndReason.erTimeOut); ++aborted; } } } } } //------------------------------------------------------ // return game info //------------------------------------------------------ function getGameInfo(uint _hGame) constant returns (EndReason _reason, uint _players, uint _payout, bool _active, address _winner ) { gameInstance ngame = games[_hGame]; _active = ngame.active; _players = ngame.numPlayers; _winner = ngame.winner; _payout = ngame.payout; _reason = ngame.reasonEnded; } //------------------------------------------------------ // return arbToken and low bytes from an HGame //------------------------------------------------------ function checkHGame(uint _hGame) constant returns(uint _arbTok, uint _lowWords) { _arbTok = ArbTokFromHGame(_hGame); _lowWords = _hGame & 0xffffffffffff; } //------------------------------------------------------ // get operation gas amounts //------------------------------------------------------ function getOpGas() constant returns (uint _ra, uint _sg, uint _wp, uint _rf, uint _fg) { _ra = raGas; // register arb _sg = sgGas; // start game _wp = wpGas; // winner paid _rf = rfGas; // refund _fg = feeGas; // rake fee gas } //------------------------------------------------------ // set operation gas amounts for forwading operations //------------------------------------------------------ function setOpGas(uint _ra, uint _sg, uint _wp, uint _rf, uint _fg) { if (msg.sender != owner) throw; raGas = _ra; sgGas = _sg; wpGas = _wp; rfGas = _rf; feeGas = _fg; } //------------------------------------------------------ // set a micheivous arbiter to locked //------------------------------------------------------ function setArbiterLocked(address _addr, bool _lock) public { if (owner != msg.sender) { throw; } else if (!validArb2(_addr)) { StatEvent("invalid arb"); } else { arbiters[_addr].locked = _lock; } } //------------------------------------------------------ // flush the house fees whenever commanded to. // ignore the threshold and the last payout time // but this time only reset lastpayouttime upon success //------------------------------------------------------ function flushHouseFees() { if (msg.sender != owner) { StatEvent("only owner calls this function"); } else if (houseFeeHoldover > 0) { uint ntmpho = houseFeeHoldover; houseFeeHoldover = 0; if (!tokenPartner.call.gas(feeGas).value(ntmpho)()) { houseFeeHoldover = ntmpho; // put it back StatEvent("House-Fee Error2"); } else { lastPayoutTime = now; StatEvent("House-Fee Paid"); } } } //------------------------------------------------------ // set the token partner //------------------------------------------------------ function setTokenPartner(address _addr) public { if (msg.sender != owner) { throw; } if ((settingsState == SettingStateValue.lockedRelease) && (tokenPartner == address(0))) { tokenPartner = _addr; StatEvent("Token Partner Final!"); } else if (settingsState != SettingStateValue.lockedRelease) { tokenPartner = _addr; StatEvent("Token Partner Assigned!"); } } // ---------------------------- // swap executor // ---------------------------- function changeOwner(address _addr) { if (msg.sender != owner || settingsState == SettingStateValue.lockedRelease) throw; owner = _addr; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_numPlayers","type":"uint256"},{"name":"_arbToken","type":"uint256"}],"name":"registerArbiter","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"payoutInterval","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getNumGamesStarted","outputs":[{"name":"_games","type":"int256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_state","type":"uint8"},{"name":"_fee","type":"uint256"},{"name":"_threshold","type":"uint256"},{"name":"_timeout","type":"uint256"},{"name":"_interval","type":"uint256"}],"name":"applySettings","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"registrationFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numArbiters","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"houseFeeThreshold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hGame","type":"uint256"}],"name":"ArbTokFromHGame","outputs":[{"name":"_tok","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_hGame","type":"uint256"}],"name":"getGameInfo","outputs":[{"name":"_reason","type":"uint8"},{"name":"_players","type":"uint256"},{"name":"_payout","type":"uint256"},{"name":"_active","type":"bool"},{"name":"_winner","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hGame","type":"uint256"}],"name":"handleBet","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"gameTimeOut","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_idx","type":"uint256"}],"name":"getArbInfo","outputs":[{"name":"_addr","type":"address"},{"name":"_started","type":"uint256"},{"name":"_completed","type":"uint256"},{"name":"_cheated","type":"uint256"},{"name":"_timedOut","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lastPayoutTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"settingsState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hGame","type":"uint256"},{"name":"_winner","type":"address"},{"name":"_winnerBal","type":"uint256"}],"name":"winnerDecided","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setTokenPartner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numGamesTimedOut","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_lock","type":"bool"}],"name":"setArbiterLocked","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_max","type":"int256"},{"name":"_arbToken","type":"uint256"}],"name":"houseKeep","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getOpGas","outputs":[{"name":"_ra","type":"uint256"},{"name":"_sg","type":"uint256"},{"name":"_wp","type":"uint256"},{"name":"_rf","type":"uint256"},{"name":"_fg","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numGamesCheated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_hGame","type":"uint256"}],"name":"checkHGame","outputs":[{"name":"_arbTok","type":"uint256"},{"name":"_lowWords","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numGamesCompleted","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hGame","type":"uint256"},{"name":"_hkMax","type":"int256"},{"name":"_players","type":"address[]"}],"name":"startGame","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_ra","type":"uint256"},{"name":"_sg","type":"uint256"},{"name":"_wp","type":"uint256"},{"name":"_rf","type":"uint256"},{"name":"_fg","type":"uint256"}],"name":"setOpGas","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"houseFeeHoldover","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"flushHouseFees","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenPartner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tok","type":"uint256"}],"name":"arbTokenExists","outputs":[{"name":"_exists","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"HaraKiri","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"msg","type":"string"}],"name":"StatEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"msg","type":"string"},{"indexed":false,"name":"val","type":"uint256"}],"name":"StatEventI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"msg","type":"string"},{"indexed":false,"name":"addr","type":"address"}],"name":"StatEventA","type":"event"}]
Contract Creation Code
60606040526000601260006101000a81548160ff02191690836002811161000057021790555034610000575b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b61320f8061007d6000396000f30060606040523615610194576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303015ea3146101a157806309e785e1146101c25780631123efd5146101e557806313bd53e61461020857806314c44e091461024c578063189ae13c1461026f5780631e83ce17146102925780632c78ba6f146102b557806347e1d550146102e65780634f28af6a1461036e57806351c08f4d146103865780635364f721146103a957806358a1cabf146104225780635f437e48146104455780636df088bf146104735780637612115d146104b857806380943252146104eb5780638a75f56a1461050e5780638da5cb5b1461054c5780639307ca0f1461059b5780639a6921e4146105c15780639e31f9b6146106005780639e6d95c714610623578063a6f9dae11461065b578063b05455321461068e578063b26f7efc146106b1578063bcdaea3614610717578063c9fa8f2d14610758578063ca2785bf1461077b578063dcb4775e1461078a578063e7d87cda146107d9578063f081d9bd1461080e575b61019f5b610000565b565b005b6101c0600480803590602001909190803590602001909190505061081d565b005b34610000576101cf610caf565b6040518082815260200191505060405180910390f35b34610000576101f2610cb5565b6040518082815260200191505060405180910390f35b346100005761024a600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610cc0565b005b3461000057610259610e8d565b6040518082815260200191505060405180910390f35b346100005761027c610e93565b6040518082815260200191505060405180910390f35b346100005761029f610e99565b6040518082815260200191505060405180910390f35b34610000576102d06004808035906020019091905050610e9f565b6040518082815260200191505060405180910390f35b34610000576103016004808035906020019091905050610ebd565b6040518086600281116100005760ff168152602001858152602001848152602001831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390f35b6103846004808035906020019091905050610f46565b005b34610000576103936111ce565b6040518082815260200191505060405180910390f35b34610000576103c460048080359060200190919050506111d4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b346100005761042f6113f0565b6040518082815260200191505060405180910390f35b34610000576104526113f6565b6040518082600281116100005760ff16815260200191505060405180910390f35b34610000576104b6600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611409565b005b34610000576104e9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118db565b005b34610000576104f8611b3f565b6040518082815260200191505060405180910390f35b346100005761054a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611b45565b005b3461000057610559611c7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576105bf6004808035906020019091908035906020019091905050611ca4565b005b34610000576105ce61200e565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b346100005761060d612039565b6040518082815260200191505060405180910390f35b346100005761063e600480803590602001909190505061203f565b604051808381526020018281526020019250505060405180910390f35b346100005761068c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061205f565b005b346100005761069b61212a565b6040518082815260200191505060405180910390f35b3461000057610715600480803590602001909190803590602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612130565b005b346100005761075660048080359060200190919080359060200190919080359060200190919080359060200190919080359060200190919050506125e9565b005b3461000057610765612670565b6040518082815260200191505060405180910390f35b3461000057610788612676565b005b3461000057610797612899565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576107f460048080359060200190919050506128bf565b604051808215151515815260200191505060405180910390f35b346100005761081b6129d0565b005b600a543414151561082d57610000565b600081141561083b57610000565b61084861ffff82166128bf565b1561085257610000565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff16156108ac57610000565b60058211156108ba57610000565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160016101000a81548160ff02191690831515021790555061ffff8116601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160006101000a81548160ff021916908315150217905550336014600061ffff8416815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601560006002600081548092919060010191905055815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600d5434604051809050600060405180830381858888f193505050501515610c3a57610000565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d816040518080602001838152602001828103825260098152602001807f41726220416464656400000000000000000000000000000000000000000000008152506020019250505060405180910390a15b5050565b600c5481565b600060035490505b90565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1c57610000565b82600b819055508160098190555080600c8190555060026002811161000057601260009054906101000a900460ff1660028111610000571415610dc6577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f53657474696e677320547765616b65640000000000000000000000000000000081525060200191505060405180910390a1610e86565b84601260006101000a81548160ff02191690836002811161000057021790555083600a81905550620249f0600d819055506201adb0600e81905550614e20600f81905550614e2060108190555062057e406011819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f53657474696e6773204368616e6765640000000000000000000000000000000081525060200191505060405180910390a15b5050505050565b600a5481565b60025481565b600b5481565b600061ffff660100000000000083811561000057041690505b919050565b60006000600060006000600060166000888152602001908152602001600020905080600b0160009054906101000a900460ff16925080600a0154945080600f0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915080600e0154935080600f0160149054906101000a900460ff1695505b5091939590929450565b60006000600060146000610f5986610e9f565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561105b577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600d8152602001807f496e76616c6964206847616d650000000000000000000000000000000000000081525060200191505060405180910390a160006002811161000057601260009054906101000a900460ff16600281116100005714151561105557610000565b6111c8565b5b6110658433612af9565b9150915081151561110c577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f496e76616c696420506c6179657200000000000000000000000000000000000081525060200191505060405180910390a160006002811161000057601260009054906101000a900460ff16600281116100005714151561110657610000565b6111c8565b5b3460166000868152602001908152602001600020600501826005811015610000570160005b82825401925050819055504260166000868152602001908152602001600020600d01819055507f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d846040518080602001838152602001828103825260098152602001807f42657420416464656400000000000000000000000000000000000000000000008152506020019250505060405180910390a15b50505050565b60095481565b60006000600060006000600060025487101515611258577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16113e6565b6015600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806113165750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff16155b15611388577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16113e6565b601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806003015494508060040154935080600601549150806005015492505b5091939590929450565b60085481565b601260009054906101000a900460ff1681565b60006000600060006000600060006000600061142d336114288e610e9f565b612bce565b15156114a0577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16118cd565b6114aa8c8c612af9565b98509850881515611522577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f496e76616c696420506c6179657200000000000000000000000000000000000081525060200191505060405180910390a16118cd565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209650601660008d81526020019081526020016000209550600094508986600501896005811015610000570160005b50541415156115aa576115a4338d6002612c82565b506118cd565b600093505b85600a01548410156115e15785600501846005811015610000570160005b5054850194505b83806001019450506115af565b6000851115611600576032858115610000570492508285039150611609565b60009250600091505b4286600d0181905550600086600b0160006101000a81548160ff021916908315150217905550600086600f0160146101000a81548160ff0219169083600281116100005702179055508a86600f0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508186600e018190555060008311156117b55782600760008282540192505081905550600b546007541180156116cf5750600c546008540142115b156117b4576007549050600060078190555042600881905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660115482604051809050600060405180830381858888f1935050505015156117b357806007819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f486f7573652d466565204572726f72310000000000000000000000000000000081525060200191505060405180910390a15b5b5b600093505b85600a01548410156117ed57600086600501856005811015610000570160005b50819055505b83806001019450506117ba565b866004016000815480929190600101919050555060046000815480929190600101919050555060008211156118cc578a73ffffffffffffffffffffffffffffffffffffffff16600f5483604051809050600060405180830381858888f19350505050151561185a57610000565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d8c60405180806020018381526020018281038252600b8152602001807f57696e6e657220506169640000000000000000000000000000000000000000008152506020019250505060405180910390a15b5b5b505050505050505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193757610000565b60026002811161000057601260009054906101000a900460ff1660028111610000571480156119b45750600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611a675780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260148152602001807f546f6b656e20506172746e65722046696e616c2100000000000000000000000081525060200191505060405180910390a1611b3b565b60026002811161000057601260009054906101000a900460ff166002811161000057141515611b3a5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260178152602001807f546f6b656e20506172746e65722041737369676e65642100000000000000000081525060200191505060405180910390a15b5b5b50565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ba157610000565b611baa826130ca565b1515611c1d577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f696e76616c69642061726200000000000000000000000000000000000000000081525060200191505060405180910390a1611c78565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160016101000a81548160ff0219169083151502179055505b5b5b5050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060006000600060006000600060009450601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e9857600092505b60025483108015611d6257508885125b15611e93576015600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600096505b836002015487108015611df557508885125b15611e8557601660008560000160008a8152602001908152602001600020548152602001908152602001600020915081600b0160009054906101000a900460ff168015611e49575060095482600d01544203115b15611e7757611e6f868560000160008a8152602001908152602001600020546001612c82565b508460010194505b5b8680600101975050611de3565b5b8280600101935050611d52565b612002565b611ea23389612bce565b1515611f15577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260198152602001807f486f7573656b65657020696e76616c696420617262697465720000000000000081525060200191505060405180910390a1612001565b339550601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600096505b836002015487108015611f7057508885125b1561200057601660008560000160008a8152602001908152602001600020548152602001908152602001600020905080600b0160009054906101000a900460ff168015611fc4575060095481600d01544203115b15611ff257611fea868560000160008a8152602001908152602001600020546001612c82565b508460010194505b5b8680600101975050611f5e565b5b5b5b505050505050505050565b60006000600060006000600d549450600e549350600f549250601054915060115490505b9091929394565b60055481565b6000600061204c83610e9f565b915065ffffffffffff831690505b915091565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806120db575060026002811161000057601260009054906101000a900460ff166002811161000057145b156120e557610000565b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60045481565b60006000600061213f86610e9f565b925061214b3384612bce565b15156121be577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16125e1565b6121c733613130565b15612239577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600a8152602001807f417262204c6f636b65640000000000000000000000000000000000000000000081525060200191505060405180910390a16125e1565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816007015484511415156122f5577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260158152602001807f496e636f7272656374206e756d20706c6179657273000000000000000000000081525060200191505060405180910390a16125e1565b6000851315612309576123088584611ca4565b5b60166000878152602001908152602001600020600b0160019054906101000a900460ff16151561238f57600160166000888152602001908152602001600020600b0160016101000a81548160ff02191690831515021790555085826000016000846002016000815480929190600101919050558152602001908152602001600020819055505b6003600081548092919060010191905055508160030160008154809291906001019190505550600160166000888152602001908152602001600020600b0160006101000a81548160ff0219169083151502179055504260166000888152602001908152602001600020600c01819055504260166000888152602001908152602001600020600d0181905550600060166000888152602001908152602001600020600e0181905550600060166000888152602001908152602001600020600f0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550835160166000888152602001908152602001600020600a0181905550600090505b8351811080156124bd5750600581105b156125705783818151811015610000579060200190602002015160166000888152602001908152602001600020600001826005811015610000570160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060166000888152602001908152602001600020600501826005811015610000570160005b50819055505b80806001019150506124ad565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d8660405180806020018381526020018281038252600a8152602001807f47616d65204164646564000000000000000000000000000000000000000000008152506020019250505060405180910390a15b505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264557610000565b84600d8190555083600e8190555082600f8190555081601081905550806011819055505b5050505050565b60075481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273c577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252601e8152602001807f6f6e6c79206f776e65722063616c6c7320746869732066756e6374696f6e000081525060200191505060405180910390a1612895565b600060075411156128945760075490506000600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660115482604051809050600060405180830381858888f19350505050151561282357806007819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f486f7573652d466565204572726f72320000000000000000000000000000000081525060200191505060405180910390a1612893565b426008819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f486f7573652d466565205061696400000000000000000000000000000000000081525060200191505060405180910390a15b5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600090506000821180156129355750600073ffffffffffffffffffffffffffffffffffffffff166014600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156129c05750601360006014600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff165b156129ca57600190505b5b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612a4d575060026002811161000057601260009054906101000a900460ff16600281116100005714155b15612a8d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b7f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260138152602001807f4b696c6c20617474656d7074206661696c65640000000000000000000000000081525060200191505060405180910390a15b5b565b60006000600060009250612b0c8561319d565b15612bc557600090505b60166000868152602001908152602001600020600a0154811015612bc4578373ffffffffffffffffffffffffffffffffffffffff1660166000878152602001908152602001600020600001826005811015610000570160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bb65760019250809150612bc4565b5b8080600101915050612b16565b5b5b509250929050565b600060009050601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff168015612c71575081601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154145b15612c7b57600190505b5b92915050565b6000600060006000600060166000888152602001908152602001600020935083600b0160009054906101000a900460ff16156130be5760019450600092505b83600a0154831015612e4057600084600501846005811015610000570160005b50541115612e325783600001836005811015610000570160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915083600501836005811015610000570160005b50549050600084600501846005811015610000570160005b50819055508173ffffffffffffffffffffffffffffffffffffffff1660105482604051809050600060405180830381858888f193505050501515612e3157806007600082825401925050819055507fe0e85fe8d69ca593247064bffd9438c76090518a0ec0f0c452c31218c8b9e6a48260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825260158152602001807f43616e6e6f7420526566756e64204164647265737300000000000000000000008152506020019250505060405180910390a15b5b5b8280600101935050612cc1565b600084600b0160006101000a81548160ff0219169083151502179055508584600f0160146101000a81548160ff021916908360028111610000570217905550600260028111610000578660028111610000571415612f6957600560008154809291906001019190505550601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600081548092919060010191905055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260128152602001807f47616d652041626f727465642d4368656174000000000000000000000000000081525060200191505060405180910390a16130bd565b60016002811161000057866002811161000057141561305357600660008154809291906001019190505550601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600081548092919060010191905055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260148152602001807f47616d652041626f727465642d54696d654f757400000000000000000000000081525060200191505060405180910390a16130bc565b7f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600d8152602001807f47616d652041626f72746564210000000000000000000000000000000000000081525060200191505060405180910390a15b5b5b5b505050509392505050565b600060009050601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff161561312a57600190505b5b919050565b60006000905061313f826130ca565b1561319757601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160019054906101000a900460ff1690505b5b919050565b6000600090506000821180156131d3575060166000838152602001908152602001600020600b0160009054906101000a900460ff165b156131dd57600190505b5b9190505600a165627a7a723058200e27c804ca1236762feefdc5eb6488ff76511c869956199bc92a1aa566ecebe00029
Deployed Bytecode
0x60606040523615610194576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303015ea3146101a157806309e785e1146101c25780631123efd5146101e557806313bd53e61461020857806314c44e091461024c578063189ae13c1461026f5780631e83ce17146102925780632c78ba6f146102b557806347e1d550146102e65780634f28af6a1461036e57806351c08f4d146103865780635364f721146103a957806358a1cabf146104225780635f437e48146104455780636df088bf146104735780637612115d146104b857806380943252146104eb5780638a75f56a1461050e5780638da5cb5b1461054c5780639307ca0f1461059b5780639a6921e4146105c15780639e31f9b6146106005780639e6d95c714610623578063a6f9dae11461065b578063b05455321461068e578063b26f7efc146106b1578063bcdaea3614610717578063c9fa8f2d14610758578063ca2785bf1461077b578063dcb4775e1461078a578063e7d87cda146107d9578063f081d9bd1461080e575b61019f5b610000565b565b005b6101c0600480803590602001909190803590602001909190505061081d565b005b34610000576101cf610caf565b6040518082815260200191505060405180910390f35b34610000576101f2610cb5565b6040518082815260200191505060405180910390f35b346100005761024a600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610cc0565b005b3461000057610259610e8d565b6040518082815260200191505060405180910390f35b346100005761027c610e93565b6040518082815260200191505060405180910390f35b346100005761029f610e99565b6040518082815260200191505060405180910390f35b34610000576102d06004808035906020019091905050610e9f565b6040518082815260200191505060405180910390f35b34610000576103016004808035906020019091905050610ebd565b6040518086600281116100005760ff168152602001858152602001848152602001831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390f35b6103846004808035906020019091905050610f46565b005b34610000576103936111ce565b6040518082815260200191505060405180910390f35b34610000576103c460048080359060200190919050506111d4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b346100005761042f6113f0565b6040518082815260200191505060405180910390f35b34610000576104526113f6565b6040518082600281116100005760ff16815260200191505060405180910390f35b34610000576104b6600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611409565b005b34610000576104e9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118db565b005b34610000576104f8611b3f565b6040518082815260200191505060405180910390f35b346100005761054a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611b45565b005b3461000057610559611c7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576105bf6004808035906020019091908035906020019091905050611ca4565b005b34610000576105ce61200e565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b346100005761060d612039565b6040518082815260200191505060405180910390f35b346100005761063e600480803590602001909190505061203f565b604051808381526020018281526020019250505060405180910390f35b346100005761068c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061205f565b005b346100005761069b61212a565b6040518082815260200191505060405180910390f35b3461000057610715600480803590602001909190803590602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612130565b005b346100005761075660048080359060200190919080359060200190919080359060200190919080359060200190919080359060200190919050506125e9565b005b3461000057610765612670565b6040518082815260200191505060405180910390f35b3461000057610788612676565b005b3461000057610797612899565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34610000576107f460048080359060200190919050506128bf565b604051808215151515815260200191505060405180910390f35b346100005761081b6129d0565b005b600a543414151561082d57610000565b600081141561083b57610000565b61084861ffff82166128bf565b1561085257610000565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff16156108ac57610000565b60058211156108ba57610000565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600401819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160016101000a81548160ff02191690831515021790555061ffff8116601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555081601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701819055506001601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160006101000a81548160ff021916908315150217905550336014600061ffff8416815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601560006002600081548092919060010191905055815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600d5434604051809050600060405180830381858888f193505050501515610c3a57610000565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d816040518080602001838152602001828103825260098152602001807f41726220416464656400000000000000000000000000000000000000000000008152506020019250505060405180910390a15b5050565b600c5481565b600060035490505b90565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1c57610000565b82600b819055508160098190555080600c8190555060026002811161000057601260009054906101000a900460ff1660028111610000571415610dc6577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f53657474696e677320547765616b65640000000000000000000000000000000081525060200191505060405180910390a1610e86565b84601260006101000a81548160ff02191690836002811161000057021790555083600a81905550620249f0600d819055506201adb0600e81905550614e20600f81905550614e2060108190555062057e406011819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f53657474696e6773204368616e6765640000000000000000000000000000000081525060200191505060405180910390a15b5050505050565b600a5481565b60025481565b600b5481565b600061ffff660100000000000083811561000057041690505b919050565b60006000600060006000600060166000888152602001908152602001600020905080600b0160009054906101000a900460ff16925080600a0154945080600f0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915080600e0154935080600f0160149054906101000a900460ff1695505b5091939590929450565b60006000600060146000610f5986610e9f565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561105b577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600d8152602001807f496e76616c6964206847616d650000000000000000000000000000000000000081525060200191505060405180910390a160006002811161000057601260009054906101000a900460ff16600281116100005714151561105557610000565b6111c8565b5b6110658433612af9565b9150915081151561110c577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f496e76616c696420506c6179657200000000000000000000000000000000000081525060200191505060405180910390a160006002811161000057601260009054906101000a900460ff16600281116100005714151561110657610000565b6111c8565b5b3460166000868152602001908152602001600020600501826005811015610000570160005b82825401925050819055504260166000868152602001908152602001600020600d01819055507f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d846040518080602001838152602001828103825260098152602001807f42657420416464656400000000000000000000000000000000000000000000008152506020019250505060405180910390a15b50505050565b60095481565b60006000600060006000600060025487101515611258577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16113e6565b6015600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614806113165750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff16155b15611388577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16113e6565b601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806003015494508060040154935080600601549150806005015492505b5091939590929450565b60085481565b601260009054906101000a900460ff1681565b60006000600060006000600060006000600061142d336114288e610e9f565b612bce565b15156114a0577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16118cd565b6114aa8c8c612af9565b98509850881515611522577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f496e76616c696420506c6179657200000000000000000000000000000000000081525060200191505060405180910390a16118cd565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209650601660008d81526020019081526020016000209550600094508986600501896005811015610000570160005b50541415156115aa576115a4338d6002612c82565b506118cd565b600093505b85600a01548410156115e15785600501846005811015610000570160005b5054850194505b83806001019450506115af565b6000851115611600576032858115610000570492508285039150611609565b60009250600091505b4286600d0181905550600086600b0160006101000a81548160ff021916908315150217905550600086600f0160146101000a81548160ff0219169083600281116100005702179055508a86600f0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508186600e018190555060008311156117b55782600760008282540192505081905550600b546007541180156116cf5750600c546008540142115b156117b4576007549050600060078190555042600881905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660115482604051809050600060405180830381858888f1935050505015156117b357806007819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f486f7573652d466565204572726f72310000000000000000000000000000000081525060200191505060405180910390a15b5b5b600093505b85600a01548410156117ed57600086600501856005811015610000570160005b50819055505b83806001019450506117ba565b866004016000815480929190600101919050555060046000815480929190600101919050555060008211156118cc578a73ffffffffffffffffffffffffffffffffffffffff16600f5483604051809050600060405180830381858888f19350505050151561185a57610000565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d8c60405180806020018381526020018281038252600b8152602001807f57696e6e657220506169640000000000000000000000000000000000000000008152506020019250505060405180910390a15b5b5b505050505050505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193757610000565b60026002811161000057601260009054906101000a900460ff1660028111610000571480156119b45750600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611a675780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260148152602001807f546f6b656e20506172746e65722046696e616c2100000000000000000000000081525060200191505060405180910390a1611b3b565b60026002811161000057601260009054906101000a900460ff166002811161000057141515611b3a5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260178152602001807f546f6b656e20506172746e65722041737369676e65642100000000000000000081525060200191505060405180910390a15b5b5b50565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ba157610000565b611baa826130ca565b1515611c1d577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f696e76616c69642061726200000000000000000000000000000000000000000081525060200191505060405180910390a1611c78565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160016101000a81548160ff0219169083151502179055505b5b5b5050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060006000600060006000600060009450601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611e9857600092505b60025483108015611d6257508885125b15611e93576015600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600096505b836002015487108015611df557508885125b15611e8557601660008560000160008a8152602001908152602001600020548152602001908152602001600020915081600b0160009054906101000a900460ff168015611e49575060095482600d01544203115b15611e7757611e6f868560000160008a8152602001908152602001600020546001612c82565b508460010194505b5b8680600101975050611de3565b5b8280600101935050611d52565b612002565b611ea23389612bce565b1515611f15577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260198152602001807f486f7573656b65657020696e76616c696420617262697465720000000000000081525060200191505060405180910390a1612001565b339550601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209350600096505b836002015487108015611f7057508885125b1561200057601660008560000160008a8152602001908152602001600020548152602001908152602001600020905080600b0160009054906101000a900460ff168015611fc4575060095481600d01544203115b15611ff257611fea868560000160008a8152602001908152602001600020546001612c82565b508460010194505b5b8680600101975050611f5e565b5b5b5b505050505050505050565b60006000600060006000600d549450600e549350600f549250601054915060115490505b9091929394565b60055481565b6000600061204c83610e9f565b915065ffffffffffff831690505b915091565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806120db575060026002811161000057601260009054906101000a900460ff166002811161000057145b156120e557610000565b80600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60045481565b60006000600061213f86610e9f565b925061214b3384612bce565b15156121be577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600b8152602001807f496e76616c69642041726200000000000000000000000000000000000000000081525060200191505060405180910390a16125e1565b6121c733613130565b15612239577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600a8152602001807f417262204c6f636b65640000000000000000000000000000000000000000000081525060200191505060405180910390a16125e1565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209150816007015484511415156122f5577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260158152602001807f496e636f7272656374206e756d20706c6179657273000000000000000000000081525060200191505060405180910390a16125e1565b6000851315612309576123088584611ca4565b5b60166000878152602001908152602001600020600b0160019054906101000a900460ff16151561238f57600160166000888152602001908152602001600020600b0160016101000a81548160ff02191690831515021790555085826000016000846002016000815480929190600101919050558152602001908152602001600020819055505b6003600081548092919060010191905055508160030160008154809291906001019190505550600160166000888152602001908152602001600020600b0160006101000a81548160ff0219169083151502179055504260166000888152602001908152602001600020600c01819055504260166000888152602001908152602001600020600d0181905550600060166000888152602001908152602001600020600e0181905550600060166000888152602001908152602001600020600f0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550835160166000888152602001908152602001600020600a0181905550600090505b8351811080156124bd5750600581105b156125705783818151811015610000579060200190602002015160166000888152602001908152602001600020600001826005811015610000570160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060166000888152602001908152602001600020600501826005811015610000570160005b50819055505b80806001019150506124ad565b7f9e229c55f86322ec7d67b654476e2d52934c738b3cd58c026b5b2b6e9b7b992d8660405180806020018381526020018281038252600a8152602001807f47616d65204164646564000000000000000000000000000000000000000000008152506020019250505060405180910390a15b505050505050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561264557610000565b84600d8190555083600e8190555082600f8190555081601081905550806011819055505b5050505050565b60075481565b6000600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561273c577f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252601e8152602001807f6f6e6c79206f776e65722063616c6c7320746869732066756e6374696f6e000081525060200191505060405180910390a1612895565b600060075411156128945760075490506000600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660115482604051809050600060405180830381858888f19350505050151561282357806007819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260108152602001807f486f7573652d466565204572726f72320000000000000000000000000000000081525060200191505060405180910390a1612893565b426008819055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600e8152602001807f486f7573652d466565205061696400000000000000000000000000000000000081525060200191505060405180910390a15b5b5b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600090506000821180156129355750600073ffffffffffffffffffffffffffffffffffffffff166014600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156129c05750601360006014600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff165b156129ca57600190505b5b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612a4d575060026002811161000057601260009054906101000a900460ff16600281116100005714155b15612a8d57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b7f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260138152602001807f4b696c6c20617474656d7074206661696c65640000000000000000000000000081525060200191505060405180910390a15b5b565b60006000600060009250612b0c8561319d565b15612bc557600090505b60166000868152602001908152602001600020600a0154811015612bc4578373ffffffffffffffffffffffffffffffffffffffff1660166000878152602001908152602001600020600001826005811015610000570160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bb65760019250809150612bc4565b5b8080600101915050612b16565b5b5b509250929050565b600060009050601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff168015612c71575081601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154145b15612c7b57600190505b5b92915050565b6000600060006000600060166000888152602001908152602001600020935083600b0160009054906101000a900460ff16156130be5760019450600092505b83600a0154831015612e4057600084600501846005811015610000570160005b50541115612e325783600001836005811015610000570160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915083600501836005811015610000570160005b50549050600084600501846005811015610000570160005b50819055508173ffffffffffffffffffffffffffffffffffffffff1660105482604051809050600060405180830381858888f193505050501515612e3157806007600082825401925050819055507fe0e85fe8d69ca593247064bffd9438c76090518a0ec0f0c452c31218c8b9e6a48260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825260158152602001807f43616e6e6f7420526566756e64204164647265737300000000000000000000008152506020019250505060405180910390a15b5b5b8280600101935050612cc1565b600084600b0160006101000a81548160ff0219169083151502179055508584600f0160146101000a81548160ff021916908360028111610000570217905550600260028111610000578660028111610000571415612f6957600560008154809291906001019190505550601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600501600081548092919060010191905055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260128152602001807f47616d652041626f727465642d4368656174000000000000000000000000000081525060200191505060405180910390a16130bd565b60016002811161000057866002811161000057141561305357600660008154809291906001019190505550601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601600081548092919060010191905055507f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e6486040518080602001828103825260148152602001807f47616d652041626f727465642d54696d654f757400000000000000000000000081525060200191505060405180910390a16130bc565b7f1df4241f9d28385037b9339fabdb2fac8a42cb5e489c20da7a82bb32f517e64860405180806020018281038252600d8152602001807f47616d652041626f72746564210000000000000000000000000000000000000081525060200191505060405180910390a15b5b5b5b505050509392505050565b600060009050601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900460ff161561312a57600190505b5b919050565b60006000905061313f826130ca565b1561319757601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160019054906101000a900460ff1690505b5b919050565b6000600090506000821180156131d3575060166000838152602001908152602001600020600b0160009054906101000a900460ff165b156131dd57600190505b5b9190505600a165627a7a723058200e27c804ca1236762feefdc5eb6488ff76511c869956199bc92a1aa566ecebe00029
Swarm Source
bzzr://0e27c804ca1236762feefdc5eb6488ff76511c869956199bc92a1aa566ecebe0
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 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.