Sponsored Link: Crowdsale has finished. Check out the KICKICO platform to find new ICOs to start.
Contract Overview
ETH Balance: 101.629898999999997626 Ether
ETH USD Value: $27,150.43 (@ $267.15/ETH)
No Of Transactions: 7511 txns
  Latest 25 txns from a total Of 7511 transactions View All

TxHash Age From To Value [TxFee]
0x491923a81c9510c8b983596d4108c41839f3e4bde65d47c46ed0cf7e78ea71f221 hrs 39 mins ago0x9b231950070308a3930a08020316dbb6999924c2  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000185869
0xbe69df97efce2df3412dc513403919140bf1cc3e315ce68dd1a3a80123ebf67d1 day 3 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.001369655
0xcbc4c9fa6e67841b8830704f3ec2775ee164e429b460c43b8b8780799d58f1d51 day 3 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.001087615
0xdfb43d32241141d37666c415a1c75b3ac2cf0cb488592a51ca31628c2e5816481 day 3 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.000982385
0xe440a7af2f76f736e3c353c05289c4d197fa39c9a7a79d9e43d48c4614183d381 day 4 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.00217652
0xce01825c79037a79f8dca8b59ae78d08ea006335c15f32a44533387dcc75f60c1 day 4 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.00303492
0x99310c52e81c43ea62bda474d5f78980045cd33f8952fe85c401748b48d1b3c01 day 4 hrs ago0xc18926cb21791bfbc2c8b5b80fdfe68a6757d819  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.004129187924
0xe2213a3ae334a92ac9940af647a067b8b8fb088e0963eeebf96de418eb8eae8b1 day 8 hrs ago0xaf4e0057e163b408ac5a9cd29370f4ec56c11b86  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.003260901
0x3fdd5601c47c01772be249d27a1ca196aaaa6b3967c23f56594a22b706368e5c4 days 11 hrs ago0xb5fc907f72beef43a35f1ac50efd9b6b5a64290e  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.018 Ether0.003910158
0x4a46e160cc0b972688db31432404240b80ff3fb85bc1b8689f33fbe2aa49076a11 days 10 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0002821
0xd9235b9d2fa757bd02bdd1ae3f349dd8c7b1dec0928a808c37c32555af813d5c11 days 10 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.35 Ether0.003273249
0x4307422ffd1edcb64b3b27c0dba377de0c2b53f6a83b483bfde852d050f8694311 days 10 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0002821
0x37f0dd5e18954a8a2ede7d694a7bac0211d057985083b43c1db5f92f62cf22d511 days 10 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.4 Ether0.003273249
0x2a2d8b6342420efae9e688bec0cd1cd5d3e722f1fbd442d1972a9f711f593d7b11 days 10 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0002821
0x97e087e5b0a1615d41ff40e09780cec6913d4ec171fbdd337f123f562188594711 days 10 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.4 Ether0.003273249
0xf2f2a763f3fe400586164db574fe33945932cd713cfc601e398afff4218ec84811 days 10 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0002821
0x0a22921200229e3c1a3d47ddf6c77714c24eefa4cf9d6ab5af8bfbe8ebef77cd11 days 10 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.6 Ether0.003273249
0x28c989f49fd539cd18c100d6cc320a2efe56b6c569c8c524bf2a66c4ae2ad4dc11 days 10 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0002821
0x97c34d6d24aabed43188e044bcf7bf2a1faa2a6aab30e48bbd142976dd7e123c11 days 10 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.6 Ether0.003273249
0x4c5a8fadd9a7e11d2564bab91139ed4935764ed9a95e88229ea41dd02d38c17e11 days 11 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000278516
0x74d50964cf0bf4e1222da428c6137d69519e6fdbfd43bd31c55fd4ecdc7c450511 days 11 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.4 Ether0.003276945
0x9be12fb3bd18f7f44dbd03680a8ab8ef58a5719a79510acea32d0608a2d7a4f211 days 11 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000279032
0xb2f8f522c3e8e73dcf92a6a8e2276811129d75495eb8fcb4904ab63121ce39cc11 days 11 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.5 Ether0.003277407
0x82bcd68c16ebf72917db53fd834d31252ec59a6b3225fef058b7be067edf227011 days 11 hrs ago0x09820a2fae3bd73b5009e89ccb7bb236ff59b744  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000296176
0x0ad7e896dfe044dbace932fab1cc705bef8701c693825b4b0336beb26428b88711 days 11 hrs ago0xb5f8a1dcd91368f7be3443d5f7eea7b08a0a1028  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.5 Ether0.003273249
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0xbe69df97efce2df3412dc513403919140bf1cc3e315ce68dd1a3a80123ebf67d43005881 day 3 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xcbc4c9fa6e67841b8830704f3ec2775ee164e429b460c43b8b8780799d58f1d543005591 day 3 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8190.06 Ether
0xdfb43d32241141d37666c415a1c75b3ac2cf0cb488592a51ca31628c2e58164843005451 day 3 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xe440a7af2f76f736e3c353c05289c4d197fa39c9a7a79d9e43d48c4614183d3843005251 day 4 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8190.06 Ether
0xce01825c79037a79f8dca8b59ae78d08ea006335c15f32a44533387dcc75f60c43005161 day 4 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8190.1 Ether
0x4a46e160cc0b972688db31432404240b80ff3fb85bc1b8689f33fbe2aa49076a426354611 days 10 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0x4307422ffd1edcb64b3b27c0dba377de0c2b53f6a83b483bfde852d050f86943426354211 days 10 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0x2a2d8b6342420efae9e688bec0cd1cd5d3e722f1fbd442d1972a9f711f593d7b426353611 days 10 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0xf2f2a763f3fe400586164db574fe33945932cd713cfc601e398afff4218ec848426353111 days 10 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0x28c989f49fd539cd18c100d6cc320a2efe56b6c569c8c524bf2a66c4ae2ad4dc426352211 days 10 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0x4c5a8fadd9a7e11d2564bab91139ed4935764ed9a95e88229ea41dd02d38c17e426351111 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10280.8 Ether
0x9be12fb3bd18f7f44dbd03680a8ab8ef58a5719a79510acea32d0608a2d7a4f2426349511 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 Ether
0x82bcd68c16ebf72917db53fd834d31252ec59a6b3225fef058b7be067edf2270426348111 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 Ether
0xd69edb106536dc289fdad491fd1a8a5af7ce1d969826a04cddf734935826384e426347211 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 wei
0xf8f5cf8fc41b1f5afed8a693c05cabbcbdcbe5bb5b70eb47d98b25c1ca7c913f426347111 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10280.8 Ether
0x1a0faeba81997302bf809fb71d22b4f97a4c112b987348c8e2115851b755cb58426346611 days 11 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb5f8a1dcd91368f7be3443d5f7eea7b08a0a10281 Ether
0x9e45606ee7835a0f9d9139a6a04f6a695484fc9735ed6803ce2585ebaf50177f426238611 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf4822cdc6d9eb1deaa108b970847e078f5e80e9c1 wei
0x9fa89d520c6e91a1dff2d2bb59d0beeb86c3a0b8fded9b51fdd1f1cc0eff2d83426230611 days 19 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf4822cdc6d9eb1deaa108b970847e078f5e80e9c0.022 Ether
0x8811754866227d5366cdec2e20fcaea27df8fa41d64687a9b2a95441f03c8b35425228214 days 14 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xb07c41177114eb5770150a0c2d27067502f60ae80.02 Ether
0x78a11b6c903d9f4dcff57ade9b2f3af45ab7a3c097f2d22468bee4923204fff2424714116 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x3e3ddf1bc030645d61b5f082a19ff049bc93b29e1 wei
0x0c83f546505c2b9f65ee25229464a5dbe233faa15c53779d8136271044b4a3cf423408919 days 17 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x30035d68c8fa4dce23df3d7f202008e6d0205b3c1 wei
0x252db53bf59fd9b5f5b9c6d1fe88f0acb489ccba7f10843f3d84828ad887e21c422558522 days 3 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xb4009e9200e80a0938433d9eafb56595925aecbf0f3c47cf5bc9c17481461c0d422557922 days 3 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0x841a6f17157d1e74fea8e4fc9aa760daae102e894879391ee642176ee58ede0d422554722 days 4 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0x9c4bac41cf6b08f0f3368855c5d56d490ed79d10d547858193efb581d16c514f422554022 days 4 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: Rouleth
Compiler Version: v0.4.8+commit.60cc1668
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.8;

contract OwnedByWinsome {

  address public owner;
  mapping (address => bool) allowedWorker;

  function initOwnership(address _owner, address _worker) internal{
    owner = _owner;
    allowedWorker[_owner] = true;
    allowedWorker[_worker] = true;
  }

  function allowWorker(address _new_worker) onlyOwner{
    allowedWorker[_new_worker] = true;
  }
  function removeWorker(address _old_worker) onlyOwner{
    allowedWorker[_old_worker] = false;
  }
  function changeOwner(address _new_owner) onlyOwner{
    owner = _new_owner;
  }
						    
  modifier onlyAllowedWorker{
    if (!allowedWorker[msg.sender]){
      throw;
    }
    _;
  }

  modifier onlyOwner{
    if (msg.sender != owner){
      throw;
    }
    _;
  }

  
}

/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    assert(b > 0);
    uint c = a / b;
    assert(a == b * c + a % b);
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function add(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}


/*
 * Basic token
 * Basic version of StandardToken, with no allowances
 */
contract BasicToken {
  using SafeMath for uint;
  event Transfer(address indexed from, address indexed to, uint value);
  mapping(address => uint) balances;
  uint public     totalSupply =    0;    			 // Total supply of 500 million Tokens
  
  /*
   * Fix for the ERC20 short address attack  
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }
  
}


contract StandardToken is BasicToken{
  
  event Approval(address indexed owner, address indexed spender, uint value);

  
  mapping (address => mapping (address => uint)) allowed;

  function transferFrom(address _from, address _to, uint _value) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  function approve(address _spender, uint _value) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
  }

  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}


contract WinToken is StandardToken, OwnedByWinsome{

  string public   name =           "Winsome.io Token";
  string public   symbol =         "WIN";
  uint public     decimals =       18;
  
  mapping (address => bool) allowedMinter;

  function WinToken(address _owner){
    allowedMinter[_owner] = true;
    initOwnership(_owner, _owner);
  }

  function allowMinter(address _new_minter) onlyOwner{
    allowedMinter[_new_minter] = true;
  }
  function removeMinter(address _old_minter) onlyOwner{
    allowedMinter[_old_minter] = false;
  }

  modifier onlyAllowedMinter{
    if (!allowedMinter[msg.sender]){
      throw;
    }
    _;
  }
  function mintTokens(address _for, uint _value_wei) onlyAllowedMinter {
    balances[_for] = balances[_for].add(_value_wei);
    totalSupply = totalSupply.add(_value_wei) ;
    Transfer(address(0), _for, _value_wei);
  }
  function destroyTokens(address _for, uint _value_wei) onlyAllowedMinter {
    balances[_for] = balances[_for].sub(_value_wei);
    totalSupply = totalSupply.sub(_value_wei);
    Transfer(_for, address(0), _value_wei);    
  }
  
}

contract Rouleth
{
  //Game and Global Variables, Structure of gambles
  address public developer;
  uint8 public blockDelay; //nb of blocks to wait before spin
  uint8 public blockExpiration; //nb of blocks before bet expiration (due to hash storage limits)
  uint256 public maxGamble; //max gamble value manually set by config
  uint256 public minGamble; //min gamble value manually set by config

  mapping (address => uint) pendingTokens;
  
  address public WINTOKENADDRESS;
  WinToken winTokenInstance;

  uint public emissionRate;
  
  //Gambles
  enum BetTypes{number, color, parity, dozen, column, lowhigh} 
  struct Gamble
  {
    address player;
    bool spinned; //Was the rouleth spinned ?
    bool win;
    //Possible bet types
    BetTypes betType;
    uint input; //stores number, color, dozen or oddeven
    uint256 wager;
    uint256 blockNumber; //block of bet
    uint256 blockSpinned; //block of spin
    uint8 wheelResult;
  }
  Gamble[] private gambles;

  //Tracking progress of players
  mapping (address=>uint) gambleIndex; //current gamble index of the player
  //records current status of player
  enum Status {waitingForBet, waitingForSpin} mapping (address=>Status) playerStatus; 


  //**********************************************
  //        Management & Config FUNCTIONS        //
  //**********************************************

  function  Rouleth(address _developer, address _winToken) //creation settings
  {
    WINTOKENADDRESS = _winToken;
    winTokenInstance = WinToken(_winToken);
    developer = _developer;
    blockDelay=0; //indicates which block after bet will be used for RNG
    blockExpiration=245; //delay after which gamble expires
    minGamble=10 finney; //configurable min bet
    maxGamble=1 ether; //configurable max bet
    emissionRate = 5;
  }
    
  modifier onlyDeveloper() 
  {
    if (msg.sender!=developer) throw;
    _;
  }

  function addBankroll()
    onlyDeveloper
    payable {
  }

  function removeBankroll(uint256 _amount_wei)
    onlyDeveloper
  {
    if (!developer.send(_amount_wei)) throw;
  }
    
  function changeDeveloper_only_Dev(address new_dev)
    onlyDeveloper
  {
    developer=new_dev;
  }





  //Change some settings within safety bounds
  function changeSettings_only_Dev(uint256 newMinGamble, uint256 newMaxGamble, uint8 newBlockDelay, uint8 newBlockExpiration, uint newEmissionRate)
    onlyDeveloper
  {
    emissionRate = newEmissionRate;
    //MAX BET : limited by payroll/(casinoStatisticalLimit*35)
    if (newMaxGamble<newMinGamble) throw;  
    maxGamble=newMaxGamble; 
    minGamble=newMinGamble;
    //Delay before spin :
    blockDelay=newBlockDelay;
    if (newBlockExpiration < blockDelay + 250) throw;
    blockExpiration=newBlockExpiration;
  }


  //**********************************************
  //                 BETTING FUNCTIONS                    //
  //**********************************************

  //***//basic betting without Mist or contract call
  //activates when the player only sends eth to the contract
  //without specifying any type of bet.
  function ()
    payable
    {
      //defaut bet : bet on red
      betOnColor(false);
    } 

  //***//Guarantees that gamble is under max bet and above min.
  // returns bet value
  function checkBetValue() private returns(uint256)
  {
    if (msg.value < minGamble) throw;
    if (msg.value > maxGamble){
      return maxGamble;
    }
    else{
      return msg.value;
    }
  }



  //Function record bet called by all others betting functions
  function placeBet(BetTypes betType, uint input) private
  {

    if (playerStatus[msg.sender] != Status.waitingForBet) {
      if (!SpinTheWheel(msg.sender)) throw;
    }

    //Once this is done, we can record the new bet
    playerStatus[msg.sender] = Status.waitingForSpin;
    gambleIndex[msg.sender] = gambles.length;
    
    //adapts wager to casino limits
    uint256 betValue = checkBetValue();
    pendingTokens[msg.sender] += betValue * emissionRate;

    
    gambles.push(Gamble(msg.sender, false, false, betType, input, betValue, block.number, 0, 37)); //37 indicates not spinned yet
    
    //refund excess bet (at last step vs re-entry)
    if (betValue < msg.value) {
      if (msg.sender.send(msg.value-betValue)==false) throw;
    }
  }

  function getPendingTokens(address account) constant returns (uint){
    return pendingTokens[account];
  }
  
  function redeemTokens(){
    uint totalTokens = pendingTokens[msg.sender];
    if (totalTokens == 0) return;
    pendingTokens[msg.sender] = 0;

    //ADD POTENTIAL BONUS BASED ON How long waited!
    
    //mint WIN Tokens
    winTokenInstance.mintTokens(msg.sender, totalTokens);
  }

  

  //***//bet on Number	
  function betOnNumber(uint numberChosen)
    payable
  {
    //check that number chosen is valid and records bet
    if (numberChosen>36) throw;
    placeBet(BetTypes.number, numberChosen);
  }

  //***// function betOnColor
  //bet type : color
  //input : 0 for red
  //input : 1 for black
  function betOnColor(bool Black)
    payable
  {
    uint input;
    if (!Black) 
      { 
	input=0;
      }
    else{
      input=1;
    }
    placeBet(BetTypes.color, input);
  }

  //***// function betOnLow_High
  //bet type : lowhigh
  //input : 0 for low
  //input : 1 for low
  function betOnLowHigh(bool High)
    payable
  {
    uint input;
    if (!High) 
      { 
	input=0;
      }
    else 
      {
	input=1;
      }
    placeBet(BetTypes.lowhigh, input);
  }

  //***// function betOnOddEven
  //bet type : parity
  //input : 0 for even
  //input : 1 for odd
  function betOnOddEven(bool Odd)
    payable
  {
    uint input;
    if (!Odd) 
      { 
	input=0;
      }
    else{
      input=1;
    }
    placeBet(BetTypes.parity, input);
  }

  //***// function betOnDozen
  //     //bet type : dozen
  //     //input : 0 for first dozen
  //     //input : 1 for second dozen
  //     //input : 2 for third dozen
  function betOnDozen(uint dozen_selected_0_1_2)
    payable

  {
    if (dozen_selected_0_1_2 > 2) throw;
    placeBet(BetTypes.dozen, dozen_selected_0_1_2);
  }


  // //***// function betOnColumn
  //     //bet type : column
  //     //input : 0 for first column
  //     //input : 1 for second column
  //     //input : 2 for third column
  function betOnColumn(uint column_selected_0_1_2)
    payable
  {
    if (column_selected_0_1_2 > 2) throw;
    placeBet(BetTypes.column, column_selected_0_1_2);
  }

  //**********************************************
  // Spin The Wheel & Check Result FUNCTIONS//
  //**********************************************

  event Win(address player, uint8 result, uint value_won, bytes32 bHash, bytes32 sha3Player, uint gambleId, uint bet);
  event Loss(address player, uint8 result, uint value_loss, bytes32 bHash, bytes32 sha3Player, uint gambleId, uint bet);

  //***//function to spin callable
  // no eth allowed
  function spinTheWheel(address spin_for_player)
  {
    SpinTheWheel(spin_for_player);
  }


  function SpinTheWheel(address playerSpinned) private returns(bool)
  {
    if (playerSpinned==0)
      {
	playerSpinned=msg.sender;         //if no index spins for the sender
      }

    //check that player has to spin
    if (playerStatus[playerSpinned] != Status.waitingForSpin) return false;

    //redundent double check : check that gamble has not been spinned already
    if (gambles[gambleIndex[playerSpinned]].spinned == true) throw;

    
    //check that the player waited for the delay before spin
    //and also that the bet is not expired
    uint playerblock = gambles[gambleIndex[playerSpinned]].blockNumber;
    //too early to spin
    if (block.number <= playerblock+blockDelay) throw;
    //too late, bet expired, player lost
    else if (block.number > playerblock+blockExpiration) solveBet(playerSpinned, 255, false, 1, 0, 0) ;
    //spin !
    else
      {
	uint8 wheelResult;
	//Spin the wheel, 
	bytes32 blockHash= block.blockhash(playerblock+blockDelay);
	//security check that the Hash is not empty
	if (blockHash==0) throw;
	// generate the hash for RNG from the blockHash and the player's address
	bytes32 shaPlayer = sha3(playerSpinned, blockHash, this);
	// get the final wheel result
	wheelResult = uint8(uint256(shaPlayer)%37);
	//check result against bet and pay if win
	checkBetResult(wheelResult, playerSpinned, blockHash, shaPlayer);
      }
    return true;
  }
    

  //CHECK BETS FUNCTIONS private
  function checkBetResult(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    BetTypes betType=gambles[gambleIndex[player]].betType;
    //bet on Number
    if (betType==BetTypes.number) checkBetNumber(result, player, blockHash, shaPlayer);
    else if (betType==BetTypes.parity) checkBetParity(result, player, blockHash, shaPlayer);
    else if (betType==BetTypes.color) checkBetColor(result, player, blockHash, shaPlayer);
    else if (betType==BetTypes.lowhigh) checkBetLowhigh(result, player, blockHash, shaPlayer);
    else if (betType==BetTypes.dozen) checkBetDozen(result, player, blockHash, shaPlayer);
    else if (betType==BetTypes.column) checkBetColumn(result, player, blockHash, shaPlayer);
  }

  // function solve Bet once result is determined : sends to winner, adds loss to profit
  function solveBet(address player, uint8 result, bool win, uint8 multiplier, bytes32 blockHash, bytes32 shaPlayer) private
  {
    //Update status and record spinned
    playerStatus[player]=Status.waitingForBet;
    gambles[gambleIndex[player]].wheelResult=result;
    gambles[gambleIndex[player]].spinned=true;
    gambles[gambleIndex[player]].blockSpinned=block.number;
    uint bet_v = gambles[gambleIndex[player]].wager;
	
    if (win)
      {
	gambles[gambleIndex[player]].win=true;
	uint win_v = (multiplier-1)*bet_v;
	Win(player, result, win_v, blockHash, shaPlayer, gambleIndex[player], bet_v);
	//send win!
	//safe send vs potential callstack overflowed spins
	if (player.send(win_v+bet_v)==false) throw;
      }
    else
      {
	Loss(player, result, bet_v-1, blockHash, shaPlayer, gambleIndex[player], bet_v);
	//send 1 wei to confirm spin if loss
	if (player.send(1)==false) throw;
      }

  }

  // checkbeton number(input)
  // bet type : number
  // input : chosen number
  function checkBetNumber(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    bool win;
    //win
    if (result==gambles[gambleIndex[player]].input)
      {
	win=true;  
      }
    solveBet(player, result,win,36, blockHash, shaPlayer);
  }


  // checkbet on oddeven
  // bet type : parity
  // input : 0 for even, 1 for odd
  function checkBetParity(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    bool win;
    //win
    if (result%2==gambles[gambleIndex[player]].input && result!=0)
      {
	win=true;                
      }
    solveBet(player,result,win,2, blockHash, shaPlayer);
  }
    
  // checkbet on lowhigh
  // bet type : lowhigh
  // input : 0 low, 1 high
  function checkBetLowhigh(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    bool win;
    //win
    if (result!=0 && ( (result<19 && gambles[gambleIndex[player]].input==0)
		       || (result>18 && gambles[gambleIndex[player]].input==1)
		       ) )
      {
	win=true;
      }
    solveBet(player,result,win,2, blockHash, shaPlayer);
  }

  // checkbet on color
  // bet type : color
  // input : 0 red, 1 black
  uint[18] red_list=[1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36];
  function checkBetColor(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    bool red;
    //check if red
    for (uint8 k; k<18; k++)
      { 
	if (red_list[k]==result) 
	  { 
	    red=true; 
	    break;
	  }
      }
    bool win;
    //win
    if ( result!=0
	 && ( (gambles[gambleIndex[player]].input==0 && red)  
	      || ( gambles[gambleIndex[player]].input==1 && !red)  ) )
      {
	win=true;
      }
    solveBet(player,result,win,2, blockHash, shaPlayer);
  }

  // checkbet on dozen
  // bet type : dozen
  // input : 0 first, 1 second, 2 third
  function checkBetDozen(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  { 
    bool win;
    //win on first dozen
    if ( result!=0 &&
	 ( (result<13 && gambles[gambleIndex[player]].input==0)
	   ||
	   (result>12 && result<25 && gambles[gambleIndex[player]].input==1)
	   ||
	   (result>24 && gambles[gambleIndex[player]].input==2) ) )
      {
	win=true;                
      }
    solveBet(player,result,win,3, blockHash, shaPlayer);
  }

  // checkbet on column
  // bet type : column
  // input : 0 first, 1 second, 2 third
  function checkBetColumn(uint8 result, address player, bytes32 blockHash, bytes32 shaPlayer) private
  {
    bool win;
    //win
    if ( result!=0
	 && ( (gambles[gambleIndex[player]].input==0 && result%3==1)  
	      || ( gambles[gambleIndex[player]].input==1 && result%3==2)
	      || ( gambles[gambleIndex[player]].input==2 && result%3==0)  ) )
      {
	win=true;
      }
    solveBet(player,result,win,3, blockHash, shaPlayer);
  }


  function checkMyBet(address player) constant returns(Status player_status, BetTypes bettype, uint input, uint value, uint8 result, bool wheelspinned, bool win, uint blockNb, uint blockSpin, uint gambleID)
  {
    player_status=playerStatus[player];
    bettype=gambles[gambleIndex[player]].betType;
    input=gambles[gambleIndex[player]].input;
    value=gambles[gambleIndex[player]].wager;
    result=gambles[gambleIndex[player]].wheelResult;
    wheelspinned=gambles[gambleIndex[player]].spinned;
    win=gambles[gambleIndex[player]].win;
    blockNb=gambles[gambleIndex[player]].blockNumber;
    blockSpin=gambles[gambleIndex[player]].blockSpinned;
    gambleID=gambleIndex[player];
    return;
  }

  function getTotalGambles() constant returns(uint){
    return gambles.length;
  }

  
  function getGamblesList(uint256 index) constant returns(address player, BetTypes bettype, uint input, uint value, uint8 result, bool wheelspinned, bool win, uint blockNb, uint blockSpin)
  {
    player=gambles[index].player;
    bettype=gambles[index].betType;
    input=gambles[index].input;
    value=gambles[index].wager;
    result=gambles[index].wheelResult;
    wheelspinned=gambles[index].spinned;
    win=gambles[index].win;
    blockNb=gambles[index].blockNumber;
    blockSpin=gambles[index].blockSpinned;
    return;
  }

} //end of contract

  Contract ABI  
[{"constant":false,"inputs":[],"name":"addBankroll","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_amount_wei","type":"uint256"}],"name":"removeBankroll","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newMinGamble","type":"uint256"},{"name":"newMaxGamble","type":"uint256"},{"name":"newBlockDelay","type":"uint8"},{"name":"newBlockExpiration","type":"uint8"},{"name":"newEmissionRate","type":"uint256"}],"name":"changeSettings_only_Dev","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTotalGambles","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"Black","type":"bool"}],"name":"betOnColor","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"numberChosen","type":"uint256"}],"name":"betOnNumber","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"minGamble","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"column_selected_0_1_2","type":"uint256"}],"name":"betOnColumn","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"}],"name":"checkMyBet","outputs":[{"name":"player_status","type":"uint8"},{"name":"bettype","type":"uint8"},{"name":"input","type":"uint256"},{"name":"value","type":"uint256"},{"name":"result","type":"uint8"},{"name":"wheelspinned","type":"bool"},{"name":"win","type":"bool"},{"name":"blockNb","type":"uint256"},{"name":"blockSpin","type":"uint256"},{"name":"gambleID","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_dev","type":"address"}],"name":"changeDeveloper_only_Dev","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxGamble","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"emissionRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"Odd","type":"bool"}],"name":"betOnOddEven","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"High","type":"bool"}],"name":"betOnLowHigh","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getGamblesList","outputs":[{"name":"player","type":"address"},{"name":"bettype","type":"uint8"},{"name":"input","type":"uint256"},{"name":"value","type":"uint256"},{"name":"result","type":"uint8"},{"name":"wheelspinned","type":"bool"},{"name":"win","type":"bool"},{"name":"blockNb","type":"uint256"},{"name":"blockSpin","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"developer","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"blockExpiration","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"blockDelay","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"WINTOKENADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"spin_for_player","type":"address"}],"name":"spinTheWheel","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"dozen_selected_0_1_2","type":"uint256"}],"name":"betOnDozen","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"redeemTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"getPendingTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_developer","type":"address"},{"name":"_winToken","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"player","type":"address"},{"indexed":false,"name":"result","type":"uint8"},{"indexed":false,"name":"value_won","type":"uint256"},{"indexed":false,"name":"bHash","type":"bytes32"},{"indexed":false,"name":"sha3Player","type":"bytes32"},{"indexed":false,"name":"gambleId","type":"uint256"},{"indexed":false,"name":"bet","type":"uint256"}],"name":"Win","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"player","type":"address"},{"indexed":false,"name":"result","type":"uint8"},{"indexed":false,"name":"value_loss","type":"uint256"},{"indexed":false,"name":"bHash","type":"bytes32"},{"indexed":false,"name":"sha3Player","type":"bytes32"},{"indexed":false,"name":"gambleId","type":"uint256"},{"indexed":false,"name":"bet","type":"uint256"}],"name":"Loss","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6102a06040819052600160609081526003608052600560a052600760c052600960e052600c61010052600e6101205260106101405260126101605260136101805260156101a05260176101c05260196101e052601b61020052601e61022052602061024052602261026052602461028052600a91601c919083905b8281111561009a578251829060ff1690559160200191906001019061007a565b5b506100bb9291505b808211156100b757600081556001016100a3565b5090565b50503461000057604051604080611af88339810160405280516020909101515b60048054600160a060020a0319908116600160a060020a038481169182179093556005805483169091178155600080549092169285169290921760a060020a61ffff02191675f5000000000000000000000000000000000000000000179055662386f26fc10000600255670de0b6b3a76400006001556006555b50505b611991806101676000396000f300606060405236156101175763ffffffff60e060020a600035041663148105ab811461012a5780633bafc5c0146101345780633c837b7d14610146578063402e62301461016a5780635521d17b146101895780635808e1c2146101985780635a975128146101a5578063677e6fa4146101c45780636e1b6bcc146101d15780637c9cd7df1461025a5780638cd4fdf11461027557806396afc450146102945780639ff00adc146102b3578063ac940823146102c2578063bcb3b5d2146102d1578063ca4b208b14610349578063d4595aaa14610372578063d98f608814610395578063db2ac8d8146103b8578063e56c8552146103e1578063e765c69a146103fc578063e9a9c50c14610409578063fb2f506414610418575b6101285b6101256000610443565b5b565b005b610128610468565b005b3461000057610128600435610487565b005b346100005761012860043560243560ff604435811690606435166084356104da565b005b346100005761017761056f565b60408051918252519081900360200190f35b6101286004351515610443565b005b610128600435610576565b005b3461000057610177610593565b60408051918252519081900360200190f35b610128600435610599565b005b34610000576101ea600160a060020a03600435166105b6565b604051808b600181116100005760ff1681526020018a600581116100005760ff9081168252602082019a909a52604080820199909952969098166060870152931515608086015291151560a085015260c084015260e0830152610100820152905190819003610120019350915050f35b3461000057610128600160a060020a036004351661080a565b005b3461000057610177610852565b60408051918252519081900360200190f35b3461000057610177610858565b60408051918252519081900360200190f35b610128600435151561085e565b005b6101286004351515610883565b005b34610000576102e16004356108a8565b604051600160a060020a038a1681526020810189600581116100005760ff90811682526020820199909952604080820198909852959097166060860152921515608085015290151560a084015260c083015260e0820152905190819003610100019350915050f35b3461000057610356610a44565b60408051600160a060020a039092168252519081900360200190f35b346100005761037f610a53565b6040805160ff9092168252519081900360200190f35b346100005761037f610a63565b6040805160ff9092168252519081900360200190f35b3461000057610356610a73565b60408051600160a060020a039092168252519081900360200190f35b3461000057610128600160a060020a0360043516610a82565b005b610128600435610a90565b005b3461000057610128610aad565b005b3461000057610177600160a060020a0360043516610b58565b60408051918252519081900360200190f35b600081151561045457506000610458565b5060015b610463600182610b77565b5b5050565b60005433600160a060020a0390811691161461012557610000565b5b5b565b60005433600160a060020a039081169116146104a257610000565b60008054604051600160a060020a039091169183156108fc02918491818181858888f1935050505015156104d557610000565b5b5b50565b60005433600160a060020a039081169116146104f557610000565b60068190558484101561050757610000565b600184905560028590556000805460a060020a60ff02191660a060020a60ff86811682029290921792839055909104811660fa018116908316101561054b57610000565b6000805460a860020a60ff02191660a860020a60ff8516021790555b5b5050505050565b6007545b90565b602481111561058457610000565b6104d5600082610b77565b5b50565b60025481565b60028111156105a757610000565b6104d5600482610b77565b5b50565b600160a060020a03811660009081526009602090815260408083205460089092528220546007805460ff9093169392839283928392839283928392839283929181101561000057906000526020600020906006020160005b5054600160a060020a038c166000908152600860205260409020546007805460b060020a90930460ff169b509181101561000057906000526020600020906006020160005b5060010154600160a060020a038c1660009081526008602052604090205460078054929a509181101561000057906000526020600020906006020160005b5060020154600160a060020a038c16600090815260086020526040902054600780549299509181101561000057906000526020600020906006020160005b5060050154600160a060020a038c166000908152600860205260409020546007805460ff90931698509181101561000057906000526020600020906006020160005b5054600160a060020a038c166000908152600860205260409020546007805460a060020a90930460ff1697509181101561000057906000526020600020906006020160005b5054600160a060020a038c166000908152600860205260409020546007805460a860020a90930460ff1696509181101561000057906000526020600020906006020160005b5060030154600160a060020a038c16600090815260086020526040902054600780549295509181101561000057906000526020600020906006020160005b5060040154600160a060020a038c1660009081526008602052604090205490925090505b9193959799509193959799565b60005433600160a060020a0390811691161461082557610000565b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60015481565b60065481565b600081151561086f57506000610873565b5060015b610463600282610b77565b5b5050565b600081151561089457506000610898565b5060015b610463600582610b77565b5b5050565b60006000600060006000600060006000600060078a815481101561000057906000526020600020906006020160005b505460078054600160a060020a039092169a50908b9081101561000057906000526020600020906006020160005b5060000160169054906101000a900460ff16975060078a815481101561000057906000526020600020906006020160005b5060010154965060078a815481101561000057906000526020600020906006020160005b5060020154955060078a815481101561000057906000526020600020906006020160005b50600501546007805460ff9092169650908b9081101561000057906000526020600020906006020160005b5060000160149054906101000a900460ff16935060078a815481101561000057906000526020600020906006020160005b5060000160159054906101000a900460ff16925060078a815481101561000057906000526020600020906006020160005b5060030154915060078a815481101561000057906000526020600020906006020160005b506004015490505b9193959799909294969850565b600054600160a060020a031681565b60005460a860020a900460ff1681565b60005460a060020a900460ff1681565b600454600160a060020a031681565b61046381610e43565b505b50565b6002811115610a9e57610000565b6104d5600382610b77565b5b50565b600160a060020a033316600090815260036020526040902054801515610ad2576104d5565b600160a060020a0333811660008181526003602052604080822082905560055481517ff0dda65c000000000000000000000000000000000000000000000000000000008152600481019490945260248401869052905193169263f0dda65c92604480820193929182900301818387803b156100005760325a03f115610000575050505b50565b600160a060020a0381166000908152600360205260409020545b919050565b600080600160a060020a03331660009081526009602052604090205460ff16600181116100005714610bb757610bac33610e43565b1515610bb757610000565b5b33600160a060020a03166000908152600960209081526040808320805460ff19166001179055600754600890925290912055610bf2610fe6565b60065433600160a060020a0316600090815260036020526040902080549183029091019055600780546001810180835592935090918281838015829011610ca857600602816006028360005260206000209182019101610ca891905b80821115610ca457805476ffffffffffffffffffffffffffffffffffffffffffffff191681556000600182018190556002820181905560038201819055600482015560058101805460ff19169055600601610c4e565b5090565b5b505050916000526020600020906006020160005b6101206040519081016040528033600160a060020a031681526020016000151581526020016000151581526020018760058111610000578152602080820188905260408083018890524360608085019190915260006080850152602560a09094019390935283518654928501519185015173ffffffffffffffffffffffffffffffffffffffff19909316600160a060020a039091161760a060020a60ff02191660a060020a911515919091021760a860020a60ff02191660a860020a91151591909102178085559082015191939250829076ff00000000000000000000000000000000000000000000191660b060020a83600581116100005702179055506080820151600182015560a0820151600282015560c0820151600382015560e08201516004820155610100909101516005909101805460ff191660ff9092169190911790555034811015610e3c57604051600160a060020a033316903483900380156108fc02916000818181858888f115159350610e3c9250505057610000565b5b5b505050565b600080808080600160a060020a0386161515610e5d573395505b6001600160a060020a03871660009081526009602052604090205460ff16600181116100005714610e915760009450610fdd565b600160a060020a0386166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b505460a060020a900460ff16151560011415610ee457610000565b600160a060020a0386166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b506003015460005490945060a060020a900460ff1684014311610f3e57610000565b60005460a860020a900460ff168401431115610f6a57610f658660ff600060018180611015565b610fd6565b60005460a060020a900460ff168401409150811515610f8857610000565b50604080516c01000000000000000000000000600160a060020a03808916820283526014830185905230160260348201529051908190036048019020602581069250610fd68387848461131d565b5b5b600194505b50505050919050565b6000600254341015610ff757610000565b60015434111561100a5750600154610573565b5034610573565b5b90565b600160a060020a0386166000908152600960209081526040808320805460ff19169055600890915281205460078054839289929181101561000057906000526020600020906006020160005b50600501805460ff191660ff92909216919091179055600160a060020a038816600090815260086020526040902054600780546001929081101561000057906000526020600020906006020160005b50805491151560a060020a0260a060020a60ff0219909216919091179055600160a060020a0388166000908152600860205260409020546007805443929081101561000057906000526020600020906006020160005b5060040155600160a060020a0388166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b50600201549150851561126957600160a060020a038816600090815260086020526040902054600780546001929081101561000057906000526020600020906006020160005b50805491151560a860020a0260a860020a60ff021990921691909117905550600160a060020a03871660008181526008602090815260409182902054825193845260ff8a81169285019290925260001988019091168402838301819052606084018790526080840186905260a084019190915260c08301849052905190917fad9b4fc5fa2170ef9fea52053cf1e3b4f10aac5af5f1ddd2f4a8ca05ef8650f9919081900360e00190a1604051600160a060020a0389169082840180156108fc02916000818181858888f1151593506112649250505057610000565b611311565b600160a060020a03881660008181526008602090815260409182902054825193845260ff8b1691840191909152600019850183830152606083018790526080830186905260a083015260c08201849052517f414db054afc9efbe838527c7cb664cbed63622d9fd658409ab7f6e3f11587eb79181900360e00190a1604051600160a060020a0389169060009060019082818181858883f1151593506113119250505057610000565b5b5b5050505050505050565b600160a060020a0383166000908152600860205260408120546007805490919081101561000057906000526020600020906006020160005b505460b060020a900460ff169050600081600581116100005714156113855761138085858585611438565b610567565b600281600581116100005714156113a7576113808585858561149a565b610567565b600181600581116100005714156113c95761138085858585611510565b610567565b600581600581116100005714156113eb576113808585858561161f565b610567565b6003816005811161000057141561140d57611380858585856116f2565b610567565b60048160058111610000571415610567576105678585858561182a565b5b5b5b5b5b5b5b5050505050565b600160a060020a0383166000908152600860205260408120546007805490919081101561000057906000526020600020906006020160005b50600101548560ff161415611483575060015b61056784868360248787611015565b5b5050505050565b600160a060020a0383166000908152600860205260408120546007805490919081101561000057906000526020600020906006020160005b5060010154600260ff87160660ff161480156114f0575060ff851615155b156114f9575060015b61056784868360028787611015565b5b5050505050565b6000600060005b60128260ff161015611557578660ff16600a8360ff166012811015610000570160005b5054141561154b5760019250611557565b5b600190910190611517565b60ff8716158015906115fb5750600160a060020a0386166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b50600101541580156115ab5750825b806115fb5750600160a060020a0386166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b506001015460011480156115fb575082155b5b5b15611606575060015b61161586888360028989611015565b5b50505050505050565b600060ff8516158015906114f0575060138560ff1610801561167b5750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b5060010154155b806114f0575060128560ff161180156114f05750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b50600101546001145b5b5b156114f9575060015b61056784868360028787611015565b5b5050505050565b600060ff8516158015906118085750600d8560ff1610801561174e5750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b5060010154155b806117b25750600c8560ff1611801561176a575060198560ff16105b80156117b25750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b50600101546001145b5b80611808575060188560ff161180156118085750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b50600101546002145b5b5b15611813575060015b61056784868360038787611015565b5b5050505050565b600060ff8516158015906118085750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b506001015415801561188c5750600360ff86160660ff166001145b806118e75750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b506001015460011480156118e75750600360ff86160660ff166002145b5b806118085750600160a060020a0384166000908152600860205260409020546007805490919081101561000057906000526020600020906006020160005b506001015460021480156118085750600360ff86160660ff166000145b5b5b15611813575060015b61056784868360038787611015565b5b50505050505600a165627a7a72305820cc53c7cb3c8596830a60ee3fb03a406a3363fadeef58def7670e2d55ae21050f00290000000000000000000000000c26a6dbf6b285145ca4f64397a521f8b5e49a790000000000000000000000009e3f0fc2a9ea1ec8d9e51a7a34c20b777021b030

    Constructor Arguments (ABI-encoded and appended to the ByteCode above)
0000000000000000000000000c26a6dbf6b285145ca4f64397a521f8b5e49a790000000000000000000000009e3f0fc2a9ea1ec8d9e51a7a34c20b777021b030

-----Decoded View---------------
Found 2 constructor arguments :
Arg [0] : 0000000000000000000000000c26a6dbf6b285145ca4f64397a521f8b5e49a79
Arg [1] : 0000000000000000000000009e3f0fc2a9ea1ec8d9e51a7a34c20b777021b030


   Swarm Source:
bzzr://cc53c7cb3c8596830a60ee3fb03a406a3363fadeef58def7670e2d55ae21050f
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.