Sponsored Link:   SocialMedia.Market - The most cost effective advertising platform with 1069% ROI. Join ICO Now!
Contract Overview
ETH Balance: 108.253898999999997109 Ether
ETH USD Value: $96,658.82 (@ $892.89/ETH)
No Of Transactions: 8596 txns
  Latest 25 txns from a total Of 8596 transactions View All

TxHash Age From To Value [TxFee]
0x1debae29738c4b57e8de4204833c3d3d8bb4d8175c37dc594282cfac3788c8cd23 hrs 26 mins ago0x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa6  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000044598
0x1e72cc67f5d682a41717bcb5329ef5e617034e2daa0624846800b18162d1ffa61 day 4 hrs ago0xc3860372a52ccc14ef6e61da4795d05c29d76168  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000129348
0xfb0f6645fd0752ca3feabe1276d9f53202942b9526d3c25122accea7f11e2f891 day 5 hrs ago0xc3860372a52ccc14ef6e61da4795d05c29d76168  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000602796
0x9ebde3f30c7f31dd145b0b8f33c836b6e3773e33da23008d1951cea4033662df1 day 5 hrs ago0x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa6  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000258696
0xc416712f41b0483e37c8cefcee56def0825d7f40a8a0c8693ace76407fa05aae1 day 6 hrs ago0x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa6  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.04 Ether0.001218156
0xccc6c6e5623120d64a24d4bbb46c2d6f6a7a47c3c915d70560fd3714d6c8997f1 day 6 hrs ago0x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa6  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.02 Ether0.00101513
0x36c62042a87ba1b3934b71a28ed52a7ea9d2d0c3464ff36f73605d79e6f7ff701 day 6 hrs ago0x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa6  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000929345
0x485cfa32d1b4e2c98f771d7fe5e2ce68087b2975a05b269417bac43e29e933531 day 10 hrs ago0x053133f3c79dfbfc81d8fe4dc098c6bcde091613  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.001 Ether0.00055
0xa035414ae29437c951ecc10cc41365b7575219f8d1d6fb21978b39ff92dad1d11 day 10 hrs ago0x053133f3c79dfbfc81d8fe4dc098c6bcde091613  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.001 Ether0.0005
0x9154096bc5dee1a80cbf1da91e1cf0022a77f4958f26914c33e4fedf3afa0a1d2 days 9 hrs ago0x75691c629acb48f8907889e515806f86d10d212b  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.000635142
0xdce1cdc1c78e36ff0661ced33ff52358938113ac3baffc4b133249a7597b75942 days 9 hrs ago0x75691c629acb48f8907889e515806f86d10d212b  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.05 Ether0.000558594
0x80e8d022d266deccaad4a70d5c010b2b6154931b8b458c35ce1753aa28d3b6573 days 16 hrs ago0xc6945b49433727a14f626365dccb8f8ede98d596  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000043116
0xc892d748667892a828568ad7bd19fa38c40040d5e3e145276f419acdbadae6cd3 days 17 hrs ago0xc6945b49433727a14f626365dccb8f8ede98d596  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000929345
0x3f8012e79e9205b38896cd5b9d97086928bb2506f2dfc4f734d5d767030ce7344 days 40 mins ago0x59907262716493e5a296b647677c7a747a7048c8  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000200932
0xaa0b878d6993f2111d98699254323017f9ea4f3031d99d8fbc5038aad437a0e24 days 7 hrs ago0xd7052b7d0c99f47338a731c833e45ce139d25313  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.002 Ether0.000275
0xf6169770523bd3f4f82ae31d358c45568038c9bf20ac9dec0dd393e000562a3c4 days 7 hrs ago0xd7052b7d0c99f47338a731c833e45ce139d25313  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.002 Ether0.00025
0xea591f1386f08664de4905db55f220b64e5ec867c110bd41a24fcbb4d47f5b5e4 days 8 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000208757
0xeab6e62ac817f8eecb8d25e2c9577dea022a1f6dd77f7112b711e1e0533cc3e14 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000202656
0x654e4dac96e6072daa00fb53de06187c242b76d3b757cf44378311cad85c4cdd4 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.00019665
0x6d9f82861a7b373ce9119194f17364cc7d0a5e44175a914f03626be7eb1ecc0f4 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.00019665
0xf146fef2b1ede327036cde9d9186f6abce6901a317eb9e55a2bb68cef87871a94 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000224476
0xf3495cc78002a0f9a2b64718cce4d8d937114c8e464e8d35ddefeaa9f61794f54 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.0005
0xbbd2db4360c4f80c8d8e5a556583c74d104f3360f6bcf345d67bd66ea3355bcc4 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.0005
0xa46f857c03b8f281a96a0e85fcf06670541332b710d94cfdd6f2b7ff4d49ad194 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230 Ether0.000028116
0x68e7da1be9114ad47abee9d71dcf42e00d0a057e4abac59d47cbc7e7839cf8d14 days 13 hrs ago0x6d97271157bbffe0889c7b099cc747f92e609c47  IN   0x91a57b2f6fa86b373bce5716eb26c81cbb0042230.01 Ether0.000341846
[ 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
0xc416712f41b0483e37c8cefcee56def0825d7f40a8a0c8693ace76407fa05aae51197251 day 6 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa61 wei
0xccc6c6e5623120d64a24d4bbb46c2d6f6a7a47c3c915d70560fd3714d6c8997f51196981 day 6 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x774aa528d55c223cd19fbb5dca31a9eaa1ef8aa61 wei
0x9154096bc5dee1a80cbf1da91e1cf0022a77f4958f26914c33e4fedf3afa0a1d51130762 days 9 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x75691c629acb48f8907889e515806f86d10d212b1 wei
0xea591f1386f08664de4905db55f220b64e5ec867c110bd41a24fcbb4d47f5b5e51012034 days 8 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0xeab6e62ac817f8eecb8d25e2c9577dea022a1f6dd77f7112b711e1e0533cc3e151000644 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.03 Ether
0x654e4dac96e6072daa00fb53de06187c242b76d3b757cf44378311cad85c4cdd51000514 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0x6d9f82861a7b373ce9119194f17364cc7d0a5e44175a914f03626be7eb1ecc0f51000474 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c471 wei
0xf146fef2b1ede327036cde9d9186f6abce6901a317eb9e55a2bb68cef87871a951000394 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xf3495cc78002a0f9a2b64718cce4d8d937114c8e464e8d35ddefeaa9f61794f551000274 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xbbd2db4360c4f80c8d8e5a556583c74d104f3360f6bcf345d67bd66ea3355bcc51000154 days 13 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x6d97271157bbffe0889c7b099cc747f92e609c470.02 Ether
0xf9a03c6c09a97e2eb8ab2a17f08dc14ee6208c3cd8a6077c2607fce46d6c05f1503619815 days 6 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xfcb503e67696365b5a4e9c59b8c0bac08f92b76b0.02 Ether
0xaaee9cd371e034d506eb08199cbe5fdda581db0db1ef4d9a5690ef96459d0d27497103126 days 6 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b1 wei
0xbfb7aeb13ad0dc5c6991524ed354bcfbf3594dd5042413e4ee709812265bf98e497102126 days 6 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b0.04 Ether
0xf8a90bfe9e8552c0a91b148785078d7609a5cefae8672db1fda9aa611a6a069a497090626 days 7 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b1 wei
0x16a96d99b06ba1a959b251b841c65c2973279558b628bbfd69e4800d48f656b0497076826 days 7 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b0.04 Ether
0xdb4cc7cdc9b433bc42c677cff2e05442fa152047e7b3fcd9a8c0c74ff2d1e84f497065226 days 8 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b1 wei
0x997733c6a5220032963343c460384ba2f91a9887b3ff6af71b7b2ba45879ca85497063326 days 8 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230x33126ec6e590e7f890105dfb1408361756bf493b0.02 Ether
0xd43f53dd8731fba7e2096fcf4d407f4d58e9626ad1f681f3b94577989c32115d493872731 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xa097114d2263283dafd5ad587883e4cabe6da0ba256ffeba0a3cc6105a34ed8f493871331 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xf936ec29c809f26a8a28f4a3bcde4f60eb36a5b0b5c374e8c0a3607d6743a10a493869831 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0xe066c0c1955a5198ab62d5af7f0495053c2e9b089943f728c424a1151b0a2c3a493869031 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8190.02 Ether
0x55d63af83664d4e6d3e684d3756b7297b62cc8e61db084daab5fbbd895ded81d493868331 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0x4b950d2fed6dc656c8f6a35c6c64741d8ed392db1051441c510964fd17cbf0be493867331 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8190.02 Ether
0x983d84dce30f25657c18934d97688766079dd0173c3bd8489c6e1ab47c93c70e493866031 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
0x2ba32f3eb4a6a368425cc60236cb44403d6596b611020f1224c4ba63153d6ab0493864831 days 18 hrs ago0x91a57b2f6fa86b373bce5716eb26c81cbb0042230xc18926cb21791bfbc2c8b5b80fdfe68a6757d8191 wei
[ Download CSV Export  ] 
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.