ETH Price: $3,957.46 (-0.53%)

Contract

0x6DBEDC242428353601429f29Da7BD6eB9c141f1F
 

Overview

ETH Balance

0.0116 ETH

Eth Value

$45.91 (@ $3,957.46/ETH)

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer68749862018-12-12 20:39:112505 days ago1544647151IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000267413
Transfer68749622018-12-12 20:33:192505 days ago1544646799IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000267413
Transfer68749372018-12-12 20:27:222505 days ago1544646442IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.00028883.24
Transfer68749062018-12-12 20:20:132505 days ago1544646013IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.0007032811.5
Transfer68749042018-12-12 20:19:312505 days ago1544645971IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000256712.88
Transfer68748672018-12-12 20:10:442505 days ago1544645444IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000320893.6
Transfer68659542018-12-11 8:45:392506 days ago1544517939IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000534826
Transfer68650462018-12-11 5:02:422506 days ago1544504562IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000445685
Transfer68650362018-12-11 5:01:142506 days ago1544504474IN
0x6DBEDC24...B9c141f1F
0 ETH0.000256155
Transfer68649922018-12-11 4:49:192506 days ago1544503759IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000445685
Transfer68649502018-12-11 4:37:182506 days ago1544503038IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000713098
Transfer68631182018-12-10 21:25:052506 days ago1544477105IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000445685
Transfer68630692018-12-10 21:16:312506 days ago1544476591IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000445685
Transfer68602372018-12-10 10:05:262507 days ago1544436326IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000623957
Transfer68591782018-12-10 6:00:352507 days ago1544421635IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000489248
Transfer68591672018-12-10 5:57:452507 days ago1544421465IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000428087
Transfer68591532018-12-10 5:53:482507 days ago1544421228IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000623957
Transfer68591142018-12-10 5:47:182507 days ago1544420838IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000445685
Transfer68574112018-12-09 23:11:392507 days ago1544397099IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000267413
Transfer68564212018-12-09 19:21:502508 days ago1544383310IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000244624
Transfer68564202018-12-09 19:21:212508 days ago1544383281IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000356544
Transfer68553472018-12-09 15:04:522508 days ago1544367892IN
0x6DBEDC24...B9c141f1F
0 ETH0.000153693
Transfer68508812018-12-08 21:21:132508 days ago1544304073IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000267413
Transfer68470402018-12-08 6:10:552509 days ago1544249455IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000356544
Transfer68457512018-12-08 1:08:042509 days ago1544231284IN
0x6DBEDC24...B9c141f1F
0.01 ETH0.000534826
View all transactions

Latest 25 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-68749862018-12-12 20:39:112505 days ago1544647151
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68749862018-12-12 20:39:112505 days ago1544647151
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68749622018-12-12 20:33:192505 days ago1544646799
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68749622018-12-12 20:33:192505 days ago1544646799
0x6DBEDC24...B9c141f1F
0.0116 ETH
-68749372018-12-12 20:27:222505 days ago1544646442
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68749372018-12-12 20:27:222505 days ago1544646442
0x6DBEDC24...B9c141f1F
0.0133 ETH
-68749062018-12-12 20:20:132505 days ago1544646013
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68749042018-12-12 20:19:312505 days ago1544645971
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68749042018-12-12 20:19:312505 days ago1544645971
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68748672018-12-12 20:10:442505 days ago1544645444
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68748672018-12-12 20:10:442505 days ago1544645444
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68659542018-12-11 8:45:392506 days ago1544517939
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68659542018-12-11 8:45:392506 days ago1544517939
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68650462018-12-11 5:02:422506 days ago1544504562
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68650462018-12-11 5:02:422506 days ago1544504562
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68650362018-12-11 5:01:142506 days ago1544504474
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68649922018-12-11 4:49:192506 days ago1544503759
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68649922018-12-11 4:49:192506 days ago1544503759
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68649502018-12-11 4:37:182506 days ago1544503038
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68649502018-12-11 4:37:182506 days ago1544503038
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68631182018-12-10 21:25:052506 days ago1544477105
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68631182018-12-10 21:25:052506 days ago1544477105
0x6DBEDC24...B9c141f1F
0.0083 ETH
-68630692018-12-10 21:16:312506 days ago1544476591
0x6DBEDC24...B9c141f1F
0.0017 ETH
-68630692018-12-10 21:16:312506 days ago1544476591
0x6DBEDC24...B9c141f1F
0.0149 ETH
-68602372018-12-10 10:05:262507 days ago1544436326
0x6DBEDC24...B9c141f1F
0.0017 ETH
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LastHero

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-12-03
*/

pragma solidity 0.4.25;


/**
* ETH CRYPTOCURRENCY DISTRIBUTION PROJECT
* 
* Web              - https://333eth.io
* 
* Twitter          - https://twitter.com/333eth_io
* 
* Telegram_channel - https://t.me/Ethereum333
* 
* EN  Telegram_chat: https://t.me/Ethereum333_chat_en
* 
* RU  Telegram_chat: https://t.me/Ethereum333_chat_ru
* 
* KOR Telegram_chat: https://t.me/Ethereum333_chat_kor
* 
* Email:             mailto:support(at sign)333eth.io
* 
* 
* 
* When the timer reaches zero then latest bettor takes the bank. Each bet restart a timer again.
* 
* Bet 0.01 ETH - if balance < 100 ETH
* Bet 0.02 ETH - if 100 ETH <= balance <= 200 ETH
* Bet 0.03 ETH - if 200 ETH < balance
* 
* The timer turns on for 5 minutes always. 
*    
* You need to send such bet`s amounts. If more was sent, then contract will return the difference to the wallet. For example, sending 0.03 ETH system will perceive as a contribution to 0.01 ETH and difference 0.02
* 
* The game does not have a fraudulent Ponzi scheme. No fraudulent referral programs.
* 
* In the contract of the game realized the refusal of ownership. It is impossible to stop the flow of bets. Bet from smart contracts is prohibited.
* 
* Eth distribution:
* 50% paid to the winner.
* 33% is transferred to the next level of the game with the same rules and so on.
* 17% commission.
* 
* RECOMMENDED GAS LIMIT: 150000
* 
* RECOMMENDED GAS PRICE: https://ethgasstation.info/
*/



library Percent {
  // Solidity automatically throws when dividing by 0
  struct percent {
    uint num;
    uint den;
  }
  
  // storage
  function mul(percent storage p, uint a) internal view returns (uint) {
    if (a == 0) {
      return 0;
    }
    return a*p.num/p.den;
  }

  function div(percent storage p, uint a) internal view returns (uint) {
    return a/p.num*p.den;
  }

  function sub(percent storage p, uint a) internal view returns (uint) {
    uint b = mul(p, a);
    if (b >= a) {
      return 0;
    }
    return a - b;
  }

  function add(percent storage p, uint a) internal view returns (uint) {
    return a + mul(p, a);
  }

  function toMemory(percent storage p) internal view returns (Percent.percent memory) {
    return Percent.percent(p.num, p.den);
  }

  // memory 
  function mmul(percent memory p, uint a) internal pure returns (uint) {
    if (a == 0) {
      return 0;
    }
    return a*p.num/p.den;
  }

  function mdiv(percent memory p, uint a) internal pure returns (uint) {
    return a/p.num*p.den;
  }

  function msub(percent memory p, uint a) internal pure returns (uint) {
    uint b = mmul(p, a);
    if (b >= a) {
      return 0;
    }
    return a - b;
  }

  function madd(percent memory p, uint a) internal pure returns (uint) {
    return a + mmul(p, a);
  }
}


contract Accessibility {
  enum AccessRank { None, PayIn, Manager, Full }
  mapping(address => AccessRank) public admins;
  modifier onlyAdmin(AccessRank  r) {
    require(
      admins[msg.sender] == r || admins[msg.sender] == AccessRank.Full,
      "access denied"
    );
    _;
  }
  event LogProvideAccess(address indexed whom, AccessRank rank, uint when);

  constructor() public {
    admins[msg.sender] = AccessRank.Full;
    emit LogProvideAccess(msg.sender, AccessRank.Full, now);
  }

  function provideAccess(address addr, AccessRank rank) public onlyAdmin(AccessRank.Manager) {
    require(rank <= AccessRank.Manager, "cannot to give full access rank");
    if (admins[addr] != rank) {
      admins[addr] = rank;
      emit LogProvideAccess(addr, rank, now);
    }
  }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    uint256 c = _a * _b;
    require(c / _a == _b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b <= _a);
    uint256 c = _a - _b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
    uint256 c = _a + _b;
    require(c >= _a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}



library Timer {
  struct timer {
    uint startup;
    uint duration;
  }
  function start(timer storage t, uint duration) internal {
    t.startup = now;
    t.duration = duration;
  }

  function timeLeft(timer storage t) internal view returns (uint) {
    if (now >= t.startup + t.duration) {
      return 0;
    }
    return t.startup + t.duration - now;
  }
}




contract LastHero is Accessibility {
  using Percent for Percent.percent;
  using Timer for Timer.timer;
  
  Percent.percent public bankPercent = Percent.percent(50, 100);
  Percent.percent public nextLevelPercent = Percent.percent(33, 100);
  Percent.percent public adminsPercent = Percent.percent(17, 100);

  bool public isActive;
  uint public nextLevelBankAmount;
  uint private m_bankAmount;
  uint public jackpot;
  uint public level;
  uint public constant betDuration = 5 minutes;
  address public adminsAddress;
  address public bettor;
  Timer.timer public timer;

  modifier notFromContract() {
    require(msg.sender == tx.origin, "only externally accounts");
    _;

    // we can use 'transfer' for all bettors with it - no thx
  }

  event LogSendExcessOfEther(address indexed addr, uint excess, uint when);
  event LogNewWinner(address indexed addr, uint indexed level, uint amount, uint when);
  event LogNewLevel(uint indexed level, uint bankAmount, uint when);
  event LogNewBet(address indexed addr, uint indexed amount, uint duration, uint indexed level, uint when);


  constructor() public {
    adminsAddress = msg.sender;
    timer.duration = uint(-1); // 2^256 - 1
    nextLevel();
  }

  function() external payable {
    if (admins[msg.sender] == AccessRank.PayIn) {
      if (level <= 3) {
        increaseJackpot();
      } else {
        increaseBank();
      }
      return ;
    }

    bet();
  }

  function timeLeft() external view returns(uint duration) {
    duration = timer.timeLeft();
  }

  function setAdminsAddress(address addr) external onlyAdmin(AccessRank.Full) {
    require(addr != address(0), "require not zero address");
    adminsAddress = addr;
  }

  function activate() external onlyAdmin(AccessRank.Full) {
    isActive = true;
  }

  function betAmountAtNow() public view returns(uint amount) {
    uint balance = address(this).balance;

    // (1) 0.01 ETH - if balance < 100 ETH
    // (2) 0.02 ETH - if 100 ETH <= balance <= 200 ETH
    // (3) 0.03 ETH - if 200 ETH < balance

    if (balance < 100 ether) {
      amount = 0.01 ether;
    } else if (100 ether <= balance && balance <= 200 ether) {
      amount = 0.02 ether;
    } else {
      amount = 0.03 ether;
    }
  }
  
  function bankAmount() public view returns(uint) {
    if (level <= 3) {
      return jackpot;
    }
    return m_bankAmount;
  }

  function bet() public payable notFromContract {
    require(isActive, "game is not active");

    if (timer.timeLeft() == 0) {
      uint win = bankAmount();
      if (bettor.send(win)) {
        emit LogNewWinner(bettor, level, win, now);
      }

      if (level > 3) {
        m_bankAmount = nextLevelBankAmount;
        nextLevelBankAmount = 0;
      }

      nextLevel();
    }

    uint betAmount = betAmountAtNow();
    require(msg.value >= betAmount, "too low msg value");
    timer.start(betDuration);
    bettor = msg.sender;

    uint excess = msg.value - betAmount;
    if (excess > 0) {
      if (bettor.send(excess)) {
        emit LogSendExcessOfEther(bettor, excess, now);
      }
    }
 
    nextLevelBankAmount += nextLevelPercent.mul(betAmount);
    m_bankAmount += bankPercent.mul(betAmount);
    adminsAddress.send(adminsPercent.mul(betAmount));

    emit LogNewBet(bettor, betAmount, betDuration, level, now);
  }

  function increaseJackpot() public payable onlyAdmin(AccessRank.PayIn) {
    require(level <= 3, "jackpots only on first three levels");
    jackpot += msg.value / (4 - level); // add for remained levels
  }

  function increaseBank() public payable onlyAdmin(AccessRank.PayIn) {
    require(level > 3, "bank amount only above three level");
    m_bankAmount += msg.value;
    if (jackpot > 0) {
      m_bankAmount += jackpot;
      jackpot = 0;
    }
  }

  function nextLevel() private {
    level++;
    emit LogNewLevel(level, m_bankAmount, now);
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"bankPercent","outputs":[{"name":"num","type":"uint256"},{"name":"den","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"activate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"bet","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"timeLeft","outputs":[{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"betDuration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admins","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jackpot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"level","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"increaseJackpot","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"increaseBank","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"nextLevelPercent","outputs":[{"name":"num","type":"uint256"},{"name":"den","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timer","outputs":[{"name":"startup","type":"uint256"},{"name":"duration","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextLevelBankAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminsPercent","outputs":[{"name":"num","type":"uint256"},{"name":"den","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setAdminsAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bettor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"bankAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"betAmountAtNow","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"rank","type":"uint8"}],"name":"provideAccess","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":"addr","type":"address"},{"indexed":false,"name":"excess","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogSendExcessOfEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewWinner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"bankAmount","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewLevel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addr","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":false,"name":"duration","type":"uint256"},{"indexed":true,"name":"level","type":"uint256"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogNewBet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"whom","type":"address"},{"indexed":false,"name":"rank","type":"uint8"},{"indexed":false,"name":"when","type":"uint256"}],"name":"LogProvideAccess","type":"event"}]

60326080819052606460a08190526001919091556002819055602160c081905260e08290526003556004819055610140604052601161010081905261012082905260055560065534801561005257600080fd5b503360008181526020818152604091829020805460ff191660039081179091558251908152429181019190915281517f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9929181900390910190a2600c8054600160a060020a03191633179055600019600f556100d56401000000006100da810204565b610123565b600b8054600101908190556009546040805191825242602083015280517f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a59281900390910190a2565b610ecc806101326000396000f30060806040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630dc2649281146101705780630f15f4c01461019e57806311610c25146101665780631300a6d1146101b357806322f3e2d4146101da5780633b73ba9814610203578063429b62e51461021857806362d2c5551461025d5780636b31ee011461028e5780636fd5ae15146102a357806376aa2f74146102b85780637a009c22146102c057806387ba67be146102c857806388c9cb3c146102dd5780639059b7b6146102f257806395a23c3a14610307578063984d4a931461031c578063afe9d22f1461033d578063b42a275e14610352578063cd6ebff614610367578063d70d532b1461037c575b60013360009081526020819052604090205460ff16600381111561013c57fe5b141561016657600b54600310610159576101546103a3565b610161565b6101616104d2565b61016e565b61016e610608565b005b34801561017c57600080fd5b5061018561094c565b6040805192835260208301919091528051918290030190f35b3480156101aa57600080fd5b5061016e610955565b3480156101bf57600080fd5b506101c86109f3565b60408051918252519081900360200190f35b3480156101e657600080fd5b506101ef610a04565b604080519115158252519081900360200190f35b34801561020f57600080fd5b506101c8610a0d565b34801561022457600080fd5b50610239600160a060020a0360043516610a13565b6040518082600381111561024957fe5b60ff16815260200191505060405180910390f35b34801561026957600080fd5b50610272610a28565b60408051600160a060020a039092168252519081900360200190f35b34801561029a57600080fd5b506101c8610a37565b3480156102af57600080fd5b506101c8610a3d565b61016e6103a3565b61016e6104d2565b3480156102d457600080fd5b50610185610a43565b3480156102e957600080fd5b50610185610a4c565b3480156102fe57600080fd5b506101c8610a55565b34801561031357600080fd5b50610185610a5b565b34801561032857600080fd5b5061016e600160a060020a0360043516610a64565b34801561034957600080fd5b50610272610b82565b34801561035e57600080fd5b506101c8610b91565b34801561037357600080fd5b506101c8610bb0565b34801561038857600080fd5b5061016e600160a060020a036004351660ff60243516610c19565b6001803360009081526020819052604090205460ff1660038111156103c457fe5b14806103ed575060033360009081526020819052604090205460ff1660038111156103eb57fe5b145b1515610431576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600b54600310156104b2576040805160e560020a62461bcd02815260206004820152602360248201527f6a61636b706f7473206f6e6c79206f6e206669727374207468726565206c657660448201527f656c730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600403348115156104c257fe5b600a805492909104909101905550565b6001803360009081526020819052604090205460ff1660038111156104f357fe5b148061051c575060033360009081526020819052604090205460ff16600381111561051a57fe5b145b1515610560576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600b546003106105e0576040805160e560020a62461bcd02815260206004820152602260248201527f62616e6b20616d6f756e74206f6e6c792061626f7665207468726565206c657660448201527f656c000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6009805434019055600a546000101561060557600a8054600980549091019055600090555b50565b60008080333214610663576040805160e560020a62461bcd02815260206004820152601860248201527f6f6e6c792065787465726e616c6c79206163636f756e74730000000000000000604482015290519081900360640190fd5b60075460ff1615156106bf576040805160e560020a62461bcd02815260206004820152601260248201527f67616d65206973206e6f74206163746976650000000000000000000000000000604482015290519081900360640190fd5b6106c9600e610dd4565b1515610772576106d7610b91565b600d54604051919450600160a060020a03169084156108fc029085906000818181858888f193505050501561075357600b54600d54604080518681524260208201528151600160a060020a03909316927f35cffdaee15eab992eef99bafcff392170910bfa84987a4ea6100b40a7f83aa3929181900390910190a35b6003600b54111561076a5760088054600955600090555b610772610dff565b61077a610bb0565b9150348211156107d4576040805160e560020a62461bcd02815260206004820152601160248201527f746f6f206c6f77206d73672076616c7565000000000000000000000000000000604482015290519081900360640190fd5b6107e7600e61012c63ffffffff610e4816565b50600d805473ffffffffffffffffffffffffffffffffffffffff19163317905534819003600081111561088c57600d54604051600160a060020a039091169082156108fc029083906000818181858888f193505050501561088c57600d54604080518381524260208201528151600160a060020a03909316927fb60e708352ee445685890105302f33d9455095a8800cc9f08462222baeb9f86c929181900390910190a25b61089d60038363ffffffff610e5316565b6008805490910190556108b760018363ffffffff610e5316565b600980549091019055600c54600160a060020a03166108fc6108e060058563ffffffff610e5316565b6040518115909202916000818181858888f15050600b54600d546040805161012c81524260208201528151939650889550600160a060020a0390921693507f96eb29cbf6c6d458440df9b910e3e403851ccda95d8a5f887b1f08b15157694792918290030190a4505050565b60015460025482565b6003803360009081526020819052604090205460ff16600381111561097657fe5b148061099f575060033360009081526020819052604090205460ff16600381111561099d57fe5b145b15156109e3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b506007805460ff19166001179055565b60006109ff600e610dd4565b905090565b60075460ff1681565b61012c81565b60006020819052908152604090205460ff1681565b600c54600160a060020a031681565b600a5481565b600b5481565b60035460045482565b600e54600f5482565b60085481565b60055460065482565b6003803360009081526020819052604090205460ff166003811115610a8557fe5b1480610aae575060033360009081526020819052604090205460ff166003811115610aac57fe5b145b1515610af2576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600160a060020a0382161515610b52576040805160e560020a62461bcd02815260206004820152601860248201527f72657175697265206e6f74207a65726f20616464726573730000000000000000604482015290519081900360640190fd5b50600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d54600160a060020a031681565b60006003600b54111515610ba85750600a54610bad565b506009545b90565b6000303168056bc75e2d63100000811015610bd457662386f26fc100009150610c15565b8068056bc75e2d6310000011158015610bf65750680ad78ebc5ac62000008111155b15610c0a5766470de4df8200009150610c15565b666a94d74f43000091505b5090565b6002803360009081526020819052604090205460ff166003811115610c3a57fe5b1480610c63575060033360009081526020819052604090205460ff166003811115610c6157fe5b145b1515610ca7576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b6002826003811115610cb557fe5b1115610d0b576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f7420746f20676976652066756c6c206163636573732072616e6b00604482015290519081900360640190fd5b816003811115610d1757fe5b600160a060020a03841660009081526020819052604090205460ff166003811115610d3e57fe5b14610dcf57600160a060020a0383166000908152602081905260409020805483919060ff19166001836003811115610d7257fe5b021790555082600160a060020a03167f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9834260405180836003811115610db457fe5b60ff1681526020018281526020019250505060405180910390a25b505050565b60018101548154600091014210610ded57506000610dfa565b5060018101548154429101035b919050565b600b8054600101908190556009546040805191825242602083015280517f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a59281900390910190a2565b428255600190910155565b6000811515610e6457506000610e7a565b600183015483548302811515610e7657fe5b0490505b9291505056006163636573732064656e69656400000000000000000000000000000000000000a165627a7a723058203d424096cc80d0229ac1a90aa6dc279b701ed262b4da2a330ad15ba955b3eb4b0029

Deployed Bytecode

0x60806040526004361061011c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630dc2649281146101705780630f15f4c01461019e57806311610c25146101665780631300a6d1146101b357806322f3e2d4146101da5780633b73ba9814610203578063429b62e51461021857806362d2c5551461025d5780636b31ee011461028e5780636fd5ae15146102a357806376aa2f74146102b85780637a009c22146102c057806387ba67be146102c857806388c9cb3c146102dd5780639059b7b6146102f257806395a23c3a14610307578063984d4a931461031c578063afe9d22f1461033d578063b42a275e14610352578063cd6ebff614610367578063d70d532b1461037c575b60013360009081526020819052604090205460ff16600381111561013c57fe5b141561016657600b54600310610159576101546103a3565b610161565b6101616104d2565b61016e565b61016e610608565b005b34801561017c57600080fd5b5061018561094c565b6040805192835260208301919091528051918290030190f35b3480156101aa57600080fd5b5061016e610955565b3480156101bf57600080fd5b506101c86109f3565b60408051918252519081900360200190f35b3480156101e657600080fd5b506101ef610a04565b604080519115158252519081900360200190f35b34801561020f57600080fd5b506101c8610a0d565b34801561022457600080fd5b50610239600160a060020a0360043516610a13565b6040518082600381111561024957fe5b60ff16815260200191505060405180910390f35b34801561026957600080fd5b50610272610a28565b60408051600160a060020a039092168252519081900360200190f35b34801561029a57600080fd5b506101c8610a37565b3480156102af57600080fd5b506101c8610a3d565b61016e6103a3565b61016e6104d2565b3480156102d457600080fd5b50610185610a43565b3480156102e957600080fd5b50610185610a4c565b3480156102fe57600080fd5b506101c8610a55565b34801561031357600080fd5b50610185610a5b565b34801561032857600080fd5b5061016e600160a060020a0360043516610a64565b34801561034957600080fd5b50610272610b82565b34801561035e57600080fd5b506101c8610b91565b34801561037357600080fd5b506101c8610bb0565b34801561038857600080fd5b5061016e600160a060020a036004351660ff60243516610c19565b6001803360009081526020819052604090205460ff1660038111156103c457fe5b14806103ed575060033360009081526020819052604090205460ff1660038111156103eb57fe5b145b1515610431576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600b54600310156104b2576040805160e560020a62461bcd02815260206004820152602360248201527f6a61636b706f7473206f6e6c79206f6e206669727374207468726565206c657660448201527f656c730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600b54600403348115156104c257fe5b600a805492909104909101905550565b6001803360009081526020819052604090205460ff1660038111156104f357fe5b148061051c575060033360009081526020819052604090205460ff16600381111561051a57fe5b145b1515610560576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600b546003106105e0576040805160e560020a62461bcd02815260206004820152602260248201527f62616e6b20616d6f756e74206f6e6c792061626f7665207468726565206c657660448201527f656c000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6009805434019055600a546000101561060557600a8054600980549091019055600090555b50565b60008080333214610663576040805160e560020a62461bcd02815260206004820152601860248201527f6f6e6c792065787465726e616c6c79206163636f756e74730000000000000000604482015290519081900360640190fd5b60075460ff1615156106bf576040805160e560020a62461bcd02815260206004820152601260248201527f67616d65206973206e6f74206163746976650000000000000000000000000000604482015290519081900360640190fd5b6106c9600e610dd4565b1515610772576106d7610b91565b600d54604051919450600160a060020a03169084156108fc029085906000818181858888f193505050501561075357600b54600d54604080518681524260208201528151600160a060020a03909316927f35cffdaee15eab992eef99bafcff392170910bfa84987a4ea6100b40a7f83aa3929181900390910190a35b6003600b54111561076a5760088054600955600090555b610772610dff565b61077a610bb0565b9150348211156107d4576040805160e560020a62461bcd02815260206004820152601160248201527f746f6f206c6f77206d73672076616c7565000000000000000000000000000000604482015290519081900360640190fd5b6107e7600e61012c63ffffffff610e4816565b50600d805473ffffffffffffffffffffffffffffffffffffffff19163317905534819003600081111561088c57600d54604051600160a060020a039091169082156108fc029083906000818181858888f193505050501561088c57600d54604080518381524260208201528151600160a060020a03909316927fb60e708352ee445685890105302f33d9455095a8800cc9f08462222baeb9f86c929181900390910190a25b61089d60038363ffffffff610e5316565b6008805490910190556108b760018363ffffffff610e5316565b600980549091019055600c54600160a060020a03166108fc6108e060058563ffffffff610e5316565b6040518115909202916000818181858888f15050600b54600d546040805161012c81524260208201528151939650889550600160a060020a0390921693507f96eb29cbf6c6d458440df9b910e3e403851ccda95d8a5f887b1f08b15157694792918290030190a4505050565b60015460025482565b6003803360009081526020819052604090205460ff16600381111561097657fe5b148061099f575060033360009081526020819052604090205460ff16600381111561099d57fe5b145b15156109e3576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b506007805460ff19166001179055565b60006109ff600e610dd4565b905090565b60075460ff1681565b61012c81565b60006020819052908152604090205460ff1681565b600c54600160a060020a031681565b600a5481565b600b5481565b60035460045482565b600e54600f5482565b60085481565b60055460065482565b6003803360009081526020819052604090205460ff166003811115610a8557fe5b1480610aae575060033360009081526020819052604090205460ff166003811115610aac57fe5b145b1515610af2576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b600160a060020a0382161515610b52576040805160e560020a62461bcd02815260206004820152601860248201527f72657175697265206e6f74207a65726f20616464726573730000000000000000604482015290519081900360640190fd5b50600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d54600160a060020a031681565b60006003600b54111515610ba85750600a54610bad565b506009545b90565b6000303168056bc75e2d63100000811015610bd457662386f26fc100009150610c15565b8068056bc75e2d6310000011158015610bf65750680ad78ebc5ac62000008111155b15610c0a5766470de4df8200009150610c15565b666a94d74f43000091505b5090565b6002803360009081526020819052604090205460ff166003811115610c3a57fe5b1480610c63575060033360009081526020819052604090205460ff166003811115610c6157fe5b145b1515610ca7576040805160e560020a62461bcd02815260206004820152600d6024820152600080516020610e81833981519152604482015290519081900360640190fd5b6002826003811115610cb557fe5b1115610d0b576040805160e560020a62461bcd02815260206004820152601f60248201527f63616e6e6f7420746f20676976652066756c6c206163636573732072616e6b00604482015290519081900360640190fd5b816003811115610d1757fe5b600160a060020a03841660009081526020819052604090205460ff166003811115610d3e57fe5b14610dcf57600160a060020a0383166000908152602081905260409020805483919060ff19166001836003811115610d7257fe5b021790555082600160a060020a03167f2a16f14080a28ceceddaa6aaa1e999e6f0644b53fc745cdc40778179014147e9834260405180836003811115610db457fe5b60ff1681526020018281526020019250505060405180910390a25b505050565b60018101548154600091014210610ded57506000610dfa565b5060018101548154429101035b919050565b600b8054600101908190556009546040805191825242602083015280517f8e341c1c92d534c5f272ffff664a270a180cc332c0389592cfcbab9ceca1e4a59281900390910190a2565b428255600190910155565b6000811515610e6457506000610e7a565b600183015483548302811515610e7657fe5b0490505b9291505056006163636573732064656e69656400000000000000000000000000000000000000a165627a7a723058203d424096cc80d0229ac1a90aa6dc279b701ed262b4da2a330ad15ba955b3eb4b0029

Swarm Source

bzzr://3d424096cc80d0229ac1a90aa6dc279b701ed262b4da2a330ad15ba955b3eb4b

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.