Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
 Latest 25 txns from a total Of 8623 transactions
View All

TxHash Age From To Value [TxFee]
0x1b99f134022c25518b5046737572c15d6007a6a3cda37e02979d61fafff90dd440 days 16 hrs ago0xfbfbc303356a7c9fe931d512e19cee848a979aac  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.001141343
0x5adb0b876294e9194b97b74fab6bdc690998652762dd1576dc40e52d59f49c73106 days 22 hrs ago0x296ae1d2d9a8701e113ecdf6ce986a4a7d0a6dc5  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.00030266
0x6c4071d1864fcbf1a72b3c5b026c6b590212a5aa648159edc3431f4f2e53997c106 days 22 hrs ago0x296ae1d2d9a8701e113ecdf6ce986a4a7d0a6dc5  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.00024222
0x1e714871c76b96e5263edde7f6d57912beeaae672e68b12bba27bb3e5b7dae1e107 days 23 hrs ago0x89b2191b5b8db94aae968ee30e49a8dc1459f34b  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000129348
0x8a0fa2e6d0fff5ba1594e6df1cb5476d245be98a79b9b3613c013bb2d536da15108 days 21 mins ago0x89b2191b5b8db94aae968ee30e49a8dc1459f34b  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.13 Ether0.002788035
0xcbc66e2955e673a9a9fc840ffd00b4e67fbf2093172a3471bf72871c0b6d50d9108 days 2 hrs ago0xf6310b07f0c7e5fd142b648d448ee75d4fbf82b7  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000156093
0x03fa00bcfaaf2837aac6497308f5a6d0d3191dc5bf2321a62fc9d5567fc75f91108 days 2 hrs ago0xf6310b07f0c7e5fd142b648d448ee75d4fbf82b7  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.0001379712
0x31dee59fb8c3d07333744d1ca248722ba7e30048c9c0893130a22f10858edfac108 days 3 hrs ago0xf6310b07f0c7e5fd142b648d448ee75d4fbf82b7  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.000557607
0xa4554da04be9f9ee3d8c724e2dd67a833f84e6556572e3cd2d5c421a78fc5e30110 days 9 hrs ago0x2829f8689dc90a60b1d011af2dfb0cf859bd4c48  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000422858
0xed20a3ccd7611cc4c864f9eb201b8298dfa37f7e5db82432147bff2e0d8c0283110 days 9 hrs ago0x2829f8689dc90a60b1d011af2dfb0cf859bd4c48  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000402242
0x05530572d6c70d3a7e1f21459ca378df9fa6cd44ec29c24df153d2c40c3ed059113 days 2 hrs ago0x41d18a06d79395041f6de055922845ac2580a1de  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.00104297
0x4735ae5e33b6b6aaac36ffeca28ab92a7cbdad7d67d516ca314c83a651e33159113 days 12 hrs ago0xb50cdea200bb55b7d4bcfd3d280a12b37da44ce2  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000043116
0xca403dfc0a9402df3849fc9c2dcf76aede15a650247bc3264b8345f263f52866114 days 3 hrs ago0x41d18a06d79395041f6de055922845ac2580a1de  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.001207572
0xc25ae9a8ae8709879758021a7630dc4e969453c2a89604c6074905040b595983114 days 10 hrs ago0xb50cdea200bb55b7d4bcfd3d280a12b37da44ce2  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000371738
0x1dc23a0692f43487104a0b9ae5b9725622068de783788e1f78f1847afffacc5b116 days 13 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.03 Ether0.00040257
0x34e646181d28a712e17c9340c3c6fc29f19ecc4f37563430276d849867d0e095116 days 13 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.000428736
0x2bce1ddd6d261c88938b07f0dbfcc8b5e0e4cd6f8e93a80dbd93fc51a4e4ee31116 days 14 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.000416836
0x93ecfae56f516d4116b798c81c04df8e91517b55f9a84ece903b0f6a817e3a33116 days 20 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.000672603
0xac1b55f01182c9e04a4af7324c7fc3a05f042a9830cff338a911f07984777562116 days 20 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.000672603
0xb2eee683b60a52e2de02ca9e18f3b667a2a18bdc041835be6debda6ae35c1f49116 days 21 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.000672603
0xbe73a884526d554d2c506f11c2952be4ba7fdc4e5418efa6400c05cfcc4c982e116 days 21 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.000869496
0xd1aa6815af3efa504228ca2102d0508a7d41f2168fdc0657ef3ed1b889a9f4b3116 days 21 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000857472
0x279c7644955ca9e3acf3b1304476d45ea4ae891684e2dad8d19b70a90994a932116 days 22 hrs ago0xf7375812cf5b5bb76d32572a5313092bdf583bca  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000401846
0x0dfce7e79ebb57a9ead6663695485cf1060f23f237125195cea1eb9193848b20118 days 48 mins ago0xed081ea02ca571e61309f163226abe4a4685684d  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.002212331
0xbc0a155f8b1d64d424b10d0a77c16ab4348f65645180cf8f382ef9484e7bef67118 days 4 hrs ago0xe378f04f96fc532fa3345bb3d10696b9d00cb8a0  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000557607
[ 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
0x1b99f134022c25518b5046737572c15d6007a6a3cda37e02979d61fafff90dd4559094140 days 16 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xfbfbc303356a7c9fe931d512e19cee848a979aac0.02 Ether
0x5adb0b876294e9194b97b74fab6bdc690998652762dd1576dc40e52d59f49c735201043106 days 22 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x296ae1d2d9a8701e113ecdf6ce986a4a7d0a6dc5108.713898999999997102 Ether
0xa4554da04be9f9ee3d8c724e2dd67a833f84e6556572e3cd2d5c421a78fc5e305180617110 days 9 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x2829f8689dc90a60b1d011af2dfb0cf859bd4c481 wei
0x05530572d6c70d3a7e1f21459ca378df9fa6cd44ec29c24df153d2c40c3ed0595164587113 days 2 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x41d18a06d79395041f6de055922845ac2580a1de1 wei
0x1dc23a0692f43487104a0b9ae5b9725622068de783788e1f78f1847afffacc5b5144233116 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca1 wei
0x34e646181d28a712e17c9340c3c6fc29f19ecc4f37563430276d849867d0e0955144217116 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca1 wei
0x2bce1ddd6d261c88938b07f0dbfcc8b5e0e4cd6f8e93a80dbd93fc51a4e4ee315144201116 days 14 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca1 wei
0x93ecfae56f516d4116b798c81c04df8e91517b55f9a84ece903b0f6a817e3a335142587116 days 20 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca0.04 Ether
0xac1b55f01182c9e04a4af7324c7fc3a05f042a9830cff338a911f079847775625142513116 days 20 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca0.04 Ether
0xb2eee683b60a52e2de02ca9e18f3b667a2a18bdc041835be6debda6ae35c1f495142405116 days 21 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca0.04 Ether
0xbe73a884526d554d2c506f11c2952be4ba7fdc4e5418efa6400c05cfcc4c982e5142335116 days 21 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca1 wei
0xd1aa6815af3efa504228ca2102d0508a7d41f2168fdc0657ef3ed1b889a9f4b35142311116 days 21 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xf7375812cf5b5bb76d32572a5313092bdf583bca1 wei
0xc416712f41b0483e37c8cefcee56def0825d7f40a8a0c8693ace76407fa05aae5119725120 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa61 wei
0xccc6c6e5623120d64a24d4bbb46c2d6f6a7a47c3c915d70560fd3714d6c8997f5119698120 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa61 wei
0x9154096bc5dee1a80cbf1da91e1cf0022a77f4958f26914c33e4fedf3afa0a1d5113076121 days 21 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x75691c629acb48f8907889e515806f86d10d212b1 wei
0xea591f1386f08664de4905db55f220b64e5ec867c110bd41a24fcbb4d47f5b5e5101203123 days 20 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0xeab6e62ac817f8eecb8d25e2c9577dea022a1f6dd77f7112b711e1e0533cc3e15100064124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.03 Ether
0x654e4dac96e6072daa00fb53de06187c242b76d3b757cf44378311cad85c4cdd5100051124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0x6d9f82861a7b373ce9119194f17364cc7d0a5e44175a914f03626be7eb1ecc0f5100047124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0xf146fef2b1ede327036cde9d9186f6abce6901a317eb9e55a2bb68cef87871a95100039124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xf3495cc78002a0f9a2b64718cce4d8d937114c8e464e8d35ddefeaa9f61794f55100027124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xbbd2db4360c4f80c8d8e5a556583c74d104f3360f6bcf345d67bd66ea3355bcc5100015124 days 1 hr ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xf9a03c6c09a97e2eb8ab2a17f08dc14ee6208c3cd8a6077c2607fce46d6c05f15036198134 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xfcb503e67696365b5a4e9c59b8c0bac08f92b76b0.02 Ether
0xaaee9cd371e034d506eb08199cbe5fdda581db0db1ef4d9a5690ef96459d0d274971031145 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b1 wei
0xbfb7aeb13ad0dc5c6991524ed354bcfbf3594dd5042413e4ee709812265bf98e4971021145 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b0.04 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity), SkipEmptyStringLiteral (low-severity), ConstantOptimizerSubtraction (low-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
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 is the last bytes of the Contract Creation Code 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.