ETH Price: $3,710.18 (+3.10%)

Contract

0xDf61756A3F3F97E0Bc6b8DF9CAEBf8C44F548541
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Place Bet81363212019-07-12 12:36:001968 days ago1562934960IN
0xDf61756A...44F548541
0.02 ETH0.00049263.75
Migrate81359672019-07-12 11:15:431968 days ago1562930143IN
0xDf61756A...44F548541
0 ETH0.000282169
Settle Bets81348762019-07-12 7:07:491968 days ago1562915269IN
0xDf61756A...44F548541
0 ETH0.000163027.5
Settle Bets81348742019-07-12 7:07:311968 days ago1562915251IN
0xDf61756A...44F548541
0 ETH0.000261814.5
Place Bet81348692019-07-12 7:06:261968 days ago1562915186IN
0xDf61756A...44F548541
0.01 ETH0.000767735
Place Bet81348512019-07-12 7:01:591968 days ago1562914919IN
0xDf61756A...44F548541
0.03 ETH0.000502782.5
Settle Bets81345562019-07-12 5:51:571968 days ago1562910717IN
0xDf61756A...44F548541
0 ETH0.000051851.5
Place Bet81345502019-07-12 5:50:541968 days ago1562910654IN
0xDf61756A...44F548541
0.02 ETH0.000251011.25
Settle Bets81345382019-07-12 5:48:121968 days ago1562910492IN
0xDf61756A...44F548541
0 ETH0.000051771.5
Place Bet81345352019-07-12 5:47:431968 days ago1562910463IN
0xDf61756A...44F548541
0.02 ETH0.000251011.25
Settle Bets81345202019-07-12 5:44:531968 days ago1562910293IN
0xDf61756A...44F548541
0 ETH0.000156723.825
Place Bet81345172019-07-12 5:44:261968 days ago1562910266IN
0xDf61756A...44F548541
0.03 ETH0.000759433.75
Settle Bets81345112019-07-12 5:43:301968 days ago1562910210IN
0xDf61756A...44F548541
0 ETH0.000174864.5
Place Bet81345082019-07-12 5:43:011968 days ago1562910181IN
0xDf61756A...44F548541
0.02 ETH0.000754663.75
Settle Bets81345002019-07-12 5:40:441968 days ago1562910044IN
0xDf61756A...44F548541
0 ETH0.000152953.8203125
Place Bet81344972019-07-12 5:39:371968 days ago1562909977IN
0xDf61756A...44F548541
0.03 ETH0.000776113.75
Settle Bets81282072019-07-11 5:56:301969 days ago1562824590IN
0xDf61756A...44F548541
0 ETH0.000186275.085
Place Bet81282052019-07-11 5:56:071969 days ago1562824567IN
0xDf61756A...44F548541
0.03 ETH0.000666243.3
Settle Bets81280892019-07-11 5:29:401969 days ago1562822980IN
0xDf61756A...44F548541
0 ETH0.000182294.5
Place Bet81280682019-07-11 5:24:471969 days ago1562822687IN
0xDf61756A...44F548541
0.03 ETH0.000202231
Settle Bets81280292019-07-11 5:18:171969 days ago1562822297IN
0xDf61756A...44F548541
0 ETH0.0005185215
Place Bet81280262019-07-11 5:17:321969 days ago1562822252IN
0xDf61756A...44F548541
0.02 ETH0.0020074610
Settle Bets81280182019-07-11 5:15:331969 days ago1562822133IN
0xDf61756A...44F548541
0 ETH0.0006046915
Place Bet81280152019-07-11 5:15:141969 days ago1562822114IN
0xDf61756A...44F548541
0.03 ETH0.0022245911
Settle Bets81279252019-07-11 4:50:261969 days ago1562820626IN
0xDf61756A...44F548541
0 ETH0.00035139.15
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
81359672019-07-12 11:15:431968 days ago1562930143
0xDf61756A...44F548541
26.88546666 ETH
81348692019-07-12 7:06:261968 days ago1562915186
0xDf61756A...44F548541
0.001 ETH
81348692019-07-12 7:06:261968 days ago1562915186
0xDf61756A...44F548541
0.001 ETH
81348512019-07-12 7:01:591968 days ago1562914919
0xDf61756A...44F548541
0.003 ETH
81348512019-07-12 7:01:591968 days ago1562914919
0xDf61756A...44F548541
0.003 ETH
81345502019-07-12 5:50:541968 days ago1562910654
0xDf61756A...44F548541
0.002 ETH
81345502019-07-12 5:50:541968 days ago1562910654
0xDf61756A...44F548541
0.002 ETH
81345352019-07-12 5:47:431968 days ago1562910463
0xDf61756A...44F548541
0.002 ETH
81345352019-07-12 5:47:431968 days ago1562910463
0xDf61756A...44F548541
0.002 ETH
81345202019-07-12 5:44:531968 days ago1562910293
0xDf61756A...44F548541
0.0128 ETH
81345172019-07-12 5:44:261968 days ago1562910266
0xDf61756A...44F548541
0.003 ETH
81345172019-07-12 5:44:261968 days ago1562910266
0xDf61756A...44F548541
0.003 ETH
81345112019-07-12 5:43:301968 days ago1562910210
0xDf61756A...44F548541
0.0128 ETH
81345082019-07-12 5:43:011968 days ago1562910181
0xDf61756A...44F548541
0.002 ETH
81345082019-07-12 5:43:011968 days ago1562910181
0xDf61756A...44F548541
0.002 ETH
81345002019-07-12 5:40:441968 days ago1562910044
0xDf61756A...44F548541
0.0128 ETH
81344972019-07-12 5:39:371968 days ago1562909977
0xDf61756A...44F548541
0.003 ETH
81344972019-07-12 5:39:371968 days ago1562909977
0xDf61756A...44F548541
0.003 ETH
81282052019-07-11 5:56:071969 days ago1562824567
0xDf61756A...44F548541
0.003 ETH
81282052019-07-11 5:56:071969 days ago1562824567
0xDf61756A...44F548541
0.003 ETH
81280892019-07-11 5:29:401969 days ago1562822980
0xDf61756A...44F548541
0.0256 ETH
81280682019-07-11 5:24:471969 days ago1562822687
0xDf61756A...44F548541
0.003 ETH
81280682019-07-11 5:24:471969 days ago1562822687
0xDf61756A...44F548541
0.003 ETH
81280262019-07-11 5:17:321969 days ago1562822252
0xDf61756A...44F548541
0.002 ETH
81280262019-07-11 5:17:321969 days ago1562822252
0xDf61756A...44F548541
0.002 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EthexLoto

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Multiple files format)

File 1 of 3: EthexLoto.sol
pragma solidity ^0.5.0;

/**
 * (E)t)h)e)x) Loto Contract 
 *  This smart-contract is the part of Ethex Lottery fair game.
 *  See latest version at https://github.com/ethex-bet/ethex-contacts 
 *  http://ethex.bet
 */

import "./EthexJackpot.sol";
import "./EthexHouse.sol";

contract EthexLoto {
    struct Bet {
        uint256 blockNumber;
        uint256 amount;
        bytes16 id;
        bytes6 bet;
        address payable gamer;
    }
    
    struct Payout {
        uint256 amount;
        bytes32 blockHash;
        bytes16 id;
        address payable gamer;
    }
    
    struct Refund {
        uint256 amount;
        bytes16 id;
        address payable gamer;
    }
    
    Bet[] betArray;
    
    address payable public jackpotAddress;
    address payable public houseAddress;
    address payable private owner;

    event Result (
        uint256 amount,
        bytes32 blockHash,
        bytes16 indexed id,
        address indexed gamer
    );
    
    event RefundBet (
        uint256 amount,
        bytes16 indexed id,
        address indexed gamer
    );
    
    uint8 constant N = 16;
    uint256 constant MIN_BET = 0.01 ether;
    uint256 constant PRECISION = 1 ether;
    uint256 constant JACKPOT_PERCENT = 10;
    uint256 constant HOUSE_EDGE = 10;
    
    constructor(address payable jackpot, address payable house) public payable {
        owner = msg.sender;
        jackpotAddress = jackpot;
        houseAddress = house;
    }
    
    function() external payable { }
    
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    function placeBet(bytes22 params) external payable {
        require(msg.value >= MIN_BET, "Bet amount should be greater or equal than minimal amount");
        require(bytes16(params) != 0, "Id should not be 0");
        
        bytes16 id = bytes16(params);
        bytes6 bet = bytes6(params << 128);
        
        uint8 markedCount = 0;
        uint256 coefficient = 0;
        for (uint8 i = 0; i < bet.length; i++) {
            if (bet[i] > 0x13)
                continue;
            markedCount++;
            if (bet[i] < 0x10) {
                coefficient += 300;
                continue;
            }
            if (bet[i] == 0x10) {
                coefficient += 50;
                continue;
            }
            if (bet[i] == 0x11) {
                coefficient += 30;
                continue;
            }
            if (bet[i] == 0x12) {
                coefficient += 60;
                continue;
            }
            if (bet[i] == 0x13) {
                coefficient += 60;
                continue;
            }
        }
        
        require(msg.value <= 180000 ether * markedCount / ((coefficient * N - 300 * markedCount) * (100 - JACKPOT_PERCENT - HOUSE_EDGE)));
        
        uint256 jackpotFee = msg.value * JACKPOT_PERCENT * PRECISION / 100 / PRECISION;
        uint256 houseEdgeFee = msg.value * HOUSE_EDGE * PRECISION / 100 / PRECISION;
        betArray.push(Bet(block.number, msg.value - jackpotFee - houseEdgeFee, id, bet, msg.sender));
        
        if (markedCount > 1)
            EthexJackpot(jackpotAddress).registerTicket(id, msg.sender);
        
        EthexJackpot(jackpotAddress).payIn.value(jackpotFee)();
        EthexHouse(houseAddress).payIn.value(houseEdgeFee)();
    }
    
    function settleBets() external {
        if (betArray.length == 0)
            return;

        Payout[] memory payouts = new Payout[](betArray.length);
        Bet[] memory missedBets = new Bet[](betArray.length);
        Refund[] memory refundedBets = new Refund[](betArray.length);
        address payable[] memory superPrizes = new address payable[](betArray.length);
        uint256 totalPayout;
        uint i = betArray.length;
        do {
            i--;
            if(betArray[i].blockNumber < block.number - 256)
                refundedBets[i] = Refund(betArray[i].amount, betArray[i].id, betArray[i].gamer);
            else {
                if(betArray[i].blockNumber >= block.number)
                    missedBets[i] = betArray[i];
                else {
                    bytes32 blockHash = blockhash(betArray[i].blockNumber);
                    uint256 coefficient = 0;
                    uint8 markedCount;
                    uint8 matchesCount;
                    bool isSuperPrize = true;
                    for (uint8 j = 0; j < betArray[i].bet.length; j++) {
                        if (betArray[i].bet[j] > 0x13) {
                            isSuperPrize = false;
                            continue;
                        }
                        markedCount++;
                        byte field;
                        if (j % 2 == 0)
                            field = blockHash[29 + j / 2] >> 4;
                        else
                            field = blockHash[29 + j / 2] & 0x0F;
                        if (betArray[i].bet[j] < 0x10) {
                            if (field == betArray[i].bet[j]) {
                                matchesCount++;
                                coefficient += 300;
                            }
                            else
                                isSuperPrize = false;
                            continue;
                        }
                        else
                            isSuperPrize = false;
                        if (betArray[i].bet[j] == 0x10) {
                            if (field > 0x09 && field < 0x10) {
                                matchesCount++;
                                coefficient += 50;
                            }
                            continue;
                        }
                        if (betArray[i].bet[j] == 0x11) {
                            if (field < 0x0A) {
                                matchesCount++;
                                coefficient += 30;
                            }
                            continue;
                        }
                        if (betArray[i].bet[j] == 0x12) {
                            if (field < 0x0A && field & 0x01 == 0x01) {
                                matchesCount++;
                                coefficient += 60;
                            }
                            continue;
                        }
                        if (betArray[i].bet[j] == 0x13) {
                            if (field < 0x0A && field & 0x01 == 0x0) {
                                matchesCount++;
                                coefficient += 60;
                            }
                            continue;
                        }
                    }
                
                    if (matchesCount == 0) 
                        coefficient = 0;
                    else                    
                        coefficient *= PRECISION * N;
                    
                    uint payoutAmount = betArray[i].amount * coefficient / (PRECISION * 300 * markedCount);
                    if (payoutAmount == 0 && matchesCount > 0)
                        payoutAmount = matchesCount;
                    payouts[i] = Payout(payoutAmount, blockHash, betArray[i].id, betArray[i].gamer);
                    totalPayout += payoutAmount;
                    if (isSuperPrize == true)
                        superPrizes[i] = betArray[i].gamer;
                }
            }
            betArray.pop();
        } while (i > 0);
        
        i = missedBets.length;
        do {
            i--;
            if (missedBets[i].id != 0)
                betArray.push(missedBets[i]);
        } while (i > 0);
        
        uint balance = address(this).balance;
        for (i = 0; i < refundedBets.length; i++)
            if (refundedBets[i].amount > 0) {
                emit RefundBet(refundedBets[i].amount, refundedBets[i].id, refundedBets[i].gamer);
                balance -= refundedBets[i].amount;
            }
        for (i = 0; i < payouts.length; i++)
            if (payouts[i].id > 0) {
                if (totalPayout > balance)
                    emit Result(balance * payouts[i].amount * PRECISION / totalPayout / PRECISION, payouts[i].blockHash, payouts[i].id, payouts[i].gamer);
                else
                    emit Result(payouts[i].amount, payouts[i].blockHash, payouts[i].id, payouts[i].gamer);
            }
        for (i = 0; i < refundedBets.length; i++)
            if (refundedBets[i].amount > 0)
                refundedBets[i].gamer.transfer(refundedBets[i].amount);
        for (i = 0; i < payouts.length; i++)
            if (payouts[i].amount > 0) {
                if (totalPayout > balance)
                    payouts[i].gamer.transfer(balance * payouts[i].amount * PRECISION / totalPayout / PRECISION);
                else
                    payouts[i].gamer.transfer(payouts[i].amount);
            }
        for (i = 0; i < superPrizes.length; i++)
            if (superPrizes[i] != address(0))
                EthexJackpot(jackpotAddress).paySuperPrize(superPrizes[i]);
    }
    
    function migrate(address payable newContract) external onlyOwner {
        newContract.transfer(address(this).balance);
    }

    function setJackpot(address payable jackpot) external onlyOwner {
        jackpotAddress = jackpot;
    }
}

File 2 of 3: EthexHouse.sol
pragma solidity ^0.5.0;

/**
 * (E)t)h)e)x) House Contract 
 *  This smart-contract is the part of Ethex Lottery fair game.
 *  See latest version at https://github.com/ethex-bet/ethex-contracts 
 *  http://ethex.bet
 */
 
 contract EthexHouse {
     address payable private owner;
     
     constructor() public {
         owner = msg.sender;
     }
     
     modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    function payIn() external payable {
    }
    
    function withdraw() external onlyOwner {
        owner.transfer(address(this).balance);
    }
 }

File 3 of 3: EthexJackpot.sol
pragma solidity ^0.5.0;

/**
 * (E)t)h)e)x) Jackpot Contract 
 *  This smart-contract is the part of Ethex Lottery fair game.
 *  See latest version at https://github.com/ethex-bet/ethex-contracts 
 *  http://ethex.bet
 */

contract EthexJackpot {
    mapping(uint256 => address payable) public tickets;
    uint256 public numberEnd;
    uint256 public firstNumber;
    uint256 public dailyAmount;
    uint256 public weeklyAmount;
    uint256 public monthlyAmount;
    uint256 public seasonalAmount;
    bool public dailyProcessed;
    bool public weeklyProcessed;
    bool public monthlyProcessed;
    bool public seasonalProcessed;
    address payable private owner;
    address public lotoAddress;
    address payable public newVersionAddress;
    EthexJackpot previousContract;
    uint256 public dailyNumberStartPrev;
    uint256 public weeklyNumberStartPrev;
    uint256 public monthlyNumberStartPrev;
    uint256 public seasonalNumberStartPrev;
    uint256 public dailyStart;
    uint256 public weeklyStart;
    uint256 public monthlyStart;
    uint256 public seasonalStart;
    uint256 public dailyEnd;
    uint256 public weeklyEnd;
    uint256 public monthlyEnd;
    uint256 public seasonalEnd;
    uint256 public dailyNumberStart;
    uint256 public weeklyNumberStart;
    uint256 public monthlyNumberStart;
    uint256 public seasonalNumberStart;
    uint256 public dailyNumberEndPrev;
    uint256 public weeklyNumberEndPrev;
    uint256 public monthlyNumberEndPrev;
    uint256 public seasonalNumberEndPrev;
    
    event Jackpot (
        uint256 number,
        uint256 count,
        uint256 amount,
        byte jackpotType
    );
    
    event Ticket (
        bytes16 indexed id,
        uint256 number
    );
    
    event SuperPrize (
        uint256 amount,
        address winner
    );
    
    uint256 constant DAILY = 5000;
    uint256 constant WEEKLY = 35000;
    uint256 constant MONTHLY = 150000;
    uint256 constant SEASONAL = 450000;
    uint256 constant PRECISION = 1 ether;
    uint256 constant DAILY_PART = 84;
    uint256 constant WEEKLY_PART = 12;
    uint256 constant MONTHLY_PART = 3;
    
    constructor() public payable {
        owner = msg.sender;
    }
    
    function() external payable { }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyOwnerOrNewVersion {
        require(msg.sender == owner || msg.sender == newVersionAddress);
        _;
    }
    
    modifier onlyLoto {
        require(msg.sender == lotoAddress, "Loto only");
        _;
    }
    
    function migrate() external onlyOwnerOrNewVersion {
        newVersionAddress.transfer(address(this).balance);
    }

    function registerTicket(bytes16 id, address payable gamer) external onlyLoto {
        uint256 number = numberEnd + 1;
        if (block.number >= dailyEnd) {
            setDaily();
            dailyNumberStart = number;
        }
        else
            if (dailyNumberStart == dailyNumberStartPrev)
                dailyNumberStart = number;
        if (block.number >= weeklyEnd) {
            setWeekly();
            weeklyNumberStart = number;
        }
        else
            if (weeklyNumberStart == weeklyNumberStartPrev)
                weeklyNumberStart = number;
        if (block.number >= monthlyEnd) {
            setMonthly();
            monthlyNumberStart = number;
        }
        else
            if (monthlyNumberStart == monthlyNumberStartPrev)
                monthlyNumberStart = number;
        if (block.number >= seasonalEnd) {
            setSeasonal();
            seasonalNumberStart = number;
        }
        else
            if (seasonalNumberStart == seasonalNumberStartPrev)
                seasonalNumberStart = number;
        numberEnd = number;
        tickets[number] = gamer;
        emit Ticket(id, number);
    }
    
    function setLoto(address loto) external onlyOwner {
        lotoAddress = loto;
    }
    
    function setNewVersion(address payable newVersion) external onlyOwner {
        newVersionAddress = newVersion;
    }
    
    function payIn() external payable {
        uint256 distributedAmount = dailyAmount + weeklyAmount + monthlyAmount + seasonalAmount;
        if (distributedAmount < address(this).balance) {
            uint256 amount = (address(this).balance - distributedAmount) / 4;
            dailyAmount += amount;
            weeklyAmount += amount;
            monthlyAmount += amount;
            seasonalAmount += amount;
        }
    }
    
    function settleJackpot() external {
        if (block.number >= dailyEnd)
            setDaily();
        if (block.number >= weeklyEnd)
            setWeekly();
        if (block.number >= monthlyEnd)
            setMonthly();
        if (block.number >= seasonalEnd)
            setSeasonal();
        
        if (block.number == dailyStart || (dailyStart < block.number - 256))
            return;
        
        uint48 modulo = uint48(bytes6(blockhash(dailyStart) << 29));
        
        uint256 dailyPayAmount;
        uint256 weeklyPayAmount;
        uint256 monthlyPayAmount;
        uint256 seasonalPayAmount;
        uint256 dailyWin;
        uint256 weeklyWin;
        uint256 monthlyWin;
        uint256 seasonalWin;
        if (dailyProcessed == false) {
            dailyPayAmount = dailyAmount * PRECISION / DAILY_PART / PRECISION;
            dailyAmount -= dailyPayAmount;
            dailyProcessed = true;
            dailyWin = getNumber(dailyNumberStartPrev, dailyNumberEndPrev, modulo);
            emit Jackpot(dailyWin, dailyNumberEndPrev - dailyNumberStartPrev + 1, dailyPayAmount, 0x01);
        }
        if (weeklyProcessed == false) {
            weeklyPayAmount = weeklyAmount * PRECISION / WEEKLY_PART / PRECISION;
            weeklyAmount -= weeklyPayAmount;
            weeklyProcessed = true;
            weeklyWin = getNumber(weeklyNumberStartPrev, weeklyNumberEndPrev, modulo);
            emit Jackpot(weeklyWin, weeklyNumberEndPrev - weeklyNumberStartPrev + 1, weeklyPayAmount, 0x02);
        }
        if (monthlyProcessed == false) {
            monthlyPayAmount = monthlyAmount * PRECISION / MONTHLY_PART / PRECISION;
            monthlyAmount -= monthlyPayAmount;
            monthlyProcessed = true;
            monthlyWin = getNumber(monthlyNumberStartPrev, monthlyNumberEndPrev, modulo);
            emit Jackpot(monthlyWin, monthlyNumberEndPrev - monthlyNumberStartPrev + 1, monthlyPayAmount, 0x04);
        }
        if (seasonalProcessed == false) {
            seasonalPayAmount = seasonalAmount;
            seasonalAmount -= seasonalPayAmount;
            seasonalProcessed = true;
            seasonalWin = getNumber(seasonalNumberStartPrev, seasonalNumberEndPrev, modulo);
            emit Jackpot(seasonalWin, seasonalNumberEndPrev - seasonalNumberStartPrev + 1, seasonalPayAmount, 0x08);
        }
        if (dailyPayAmount > 0)
            getAddress(dailyWin).transfer(dailyPayAmount);
        if (weeklyPayAmount > 0)
            getAddress(weeklyWin).transfer(weeklyPayAmount);
        if (monthlyPayAmount > 0)
            getAddress(monthlyWin).transfer(monthlyPayAmount);
        if (seasonalPayAmount > 0)
            getAddress(seasonalWin).transfer(seasonalPayAmount);
    }

    function paySuperPrize(address payable winner) external onlyLoto {
        uint256 superPrizeAmount = dailyAmount + weeklyAmount + monthlyAmount + seasonalAmount;
        dailyAmount = 0;
        weeklyAmount = 0;
        monthlyAmount = 0;
        seasonalAmount = 0;
        emit SuperPrize(superPrizeAmount, winner);
        winner.transfer(superPrizeAmount);
    }
    
    function setOldVersion(address payable oldAddress) external onlyOwner {
        previousContract = EthexJackpot(oldAddress);
        dailyStart = previousContract.dailyStart();
        dailyEnd = previousContract.dailyEnd();
        dailyProcessed = previousContract.dailyProcessed();
        weeklyStart = previousContract.weeklyStart();
        weeklyEnd = previousContract.weeklyEnd();
        weeklyProcessed = previousContract.weeklyProcessed();
        monthlyStart = previousContract.monthlyStart();
        monthlyEnd = previousContract.monthlyEnd();
        monthlyProcessed = previousContract.monthlyProcessed();
        seasonalStart = previousContract.seasonalStart();
        seasonalEnd = previousContract.seasonalEnd();
        seasonalProcessed = previousContract.seasonalProcessed();
        dailyNumberStartPrev = previousContract.dailyNumberStartPrev();
        weeklyNumberStartPrev = previousContract.weeklyNumberStartPrev();
        monthlyNumberStartPrev = previousContract.monthlyNumberStartPrev();
        seasonalNumberStartPrev = previousContract.seasonalNumberStartPrev();
        dailyNumberStart = previousContract.dailyNumberStart();
        weeklyNumberStart = previousContract.weeklyNumberStart();
        monthlyNumberStart = previousContract.monthlyNumberStart();
        seasonalNumberStart = previousContract.seasonalNumberStart();
        dailyNumberEndPrev = previousContract.dailyNumberEndPrev();
        weeklyNumberEndPrev = previousContract.weeklyNumberEndPrev();
        monthlyNumberEndPrev = previousContract.monthlyNumberEndPrev();
        seasonalNumberEndPrev = previousContract.seasonalNumberEndPrev();
        numberEnd = previousContract.numberEnd();
        dailyAmount = previousContract.dailyAmount();
        weeklyAmount = previousContract.weeklyAmount();
        monthlyAmount = previousContract.monthlyAmount();
        seasonalAmount = previousContract.seasonalAmount();
        firstNumber = weeklyNumberStart;
        for (uint256 i = firstNumber; i <= numberEnd; i++)
            tickets[i] = previousContract.getAddress(i);
        previousContract.migrate();
    }
    
    function getAddress(uint256 number) public returns (address payable) {
        if (number <= firstNumber)
            return previousContract.getAddress(number);
        return tickets[number];
    }
    
    function setDaily() private {
        dailyProcessed = dailyNumberEndPrev == numberEnd;
        dailyStart = dailyEnd;
        dailyEnd = dailyStart + DAILY;
        dailyNumberStartPrev = dailyNumberStart;
        dailyNumberEndPrev = numberEnd;
    }
    
    function setWeekly() private {
        weeklyProcessed = weeklyNumberEndPrev == numberEnd;
        weeklyStart = weeklyEnd;
        weeklyEnd = weeklyStart + WEEKLY;
        weeklyNumberStartPrev = weeklyNumberStart;
        weeklyNumberEndPrev = numberEnd;
    }
    
    function setMonthly() private {
        monthlyProcessed = monthlyNumberEndPrev == numberEnd;
        monthlyStart = monthlyEnd;
        monthlyEnd = monthlyStart + MONTHLY;
        monthlyNumberStartPrev = monthlyNumberStart;
        monthlyNumberEndPrev = numberEnd;
    }
    
    function setSeasonal() private {
        seasonalProcessed = seasonalNumberEndPrev == numberEnd;
        seasonalStart = seasonalEnd;
        seasonalEnd = seasonalStart + SEASONAL;
        seasonalNumberStartPrev = seasonalNumberStart;
        seasonalNumberEndPrev = numberEnd;
    }
    
    function getNumber(uint256 startNumber, uint256 endNumber, uint48 modulo) pure private returns (uint256) {
        return startNumber + modulo % (endNumber - startNumber + 1);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"jackpotAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"jackpot","type":"address"}],"name":"setJackpot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"settleBets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newContract","type":"address"}],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"houseAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"params","type":"bytes22"}],"name":"placeBet","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"name":"jackpot","type":"address"},{"name":"house","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"blockHash","type":"bytes32"},{"indexed":true,"name":"id","type":"bytes16"},{"indexed":true,"name":"gamer","type":"address"}],"name":"Result","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":true,"name":"id","type":"bytes16"},{"indexed":true,"name":"gamer","type":"address"}],"name":"RefundBet","type":"event"}]

60806040818152806119d58339810180604052604081101561002057600080fd5b50805160209091015160038054600160a060020a0319908116331790915560018054600160a060020a0394851690831617905560028054939092169216919091179055611963806100726000396000f3fe6080604052600436106100585760e060020a60003504636bc0b3ba811461005a5780637e95385c1461008b578063c7033137146100be578063ce5494bb146100d3578063d7cee31e14610106578063da7376131461011b575b005b34801561006657600080fd5b5061006f610145565b60408051600160a060020a039092168252519081900360200190f35b34801561009757600080fd5b50610058600480360360208110156100ae57600080fd5b5035600160a060020a0316610154565b3480156100ca57600080fd5b5061005861019a565b3480156100df57600080fd5b50610058600480360360208110156100f657600080fd5b5035600160a060020a0316611238565b34801561011257600080fd5b5061006f611289565b6100586004803603602081101561013157600080fd5b503569ffffffffffffffffffff1916611298565b600154600160a060020a031681565b600354600160a060020a0316331461016b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005415156101a857611236565b60005460408051828152602080840282010190915260609180156101e657816020015b6101d36118c2565b8152602001906001900390816101cb5790505b509050606060008054905060405190808252806020026020018201604052801561022a57816020015b6102176118e9565b81526020019060019003908161020f5790505b509050606060008054905060405190808252806020026020018201604052801561026e57816020015b61025b611917565b8152602001906001900390816102535790505b50905060606000805490506040519080825280602002602001820160405280156102a2578160200160208202803883390190505b5060008054919250905b600080546000199092019160ff1943019190839081106102c857fe5b906000526020600020906004020160000154101561039e576060604051908101604052806000838154811015156102fb57fe5b906000526020600020906004020160010154815260200160008381548110151561032157fe5b6000918252602080832060049290920290910160020154608060020a026fffffffffffffffffffffffffffffffff1916835281549201918490811061036257fe5b6000918252602090912060036004909202010154600160a060020a03169052845185908390811061038f57fe5b60209081029091010152610ae3565b436000828154811015156103ae57fe5b6000918252602090912060049091020154106104725760008054829081106103d257fe5b60009182526020918290206040805160a081018252600493909302909101805483526001810154938301939093526002830154608060020a8082026fffffffffffffffffffffffffffffffff1916928401929092520460d060020a0279ffffffffffffffffffffffffffffffffffffffffffffffffffff19166060820152600390910154600160a060020a03166080820152855186908390811061038f57fe5b6000808281548110151561048257fe5b6000918252602082206004909102015440915080806001815b60008054889081106104a957fe5b50600052600660ff8216101561095857600080547f13000000000000000000000000000000000000000000000000000000000000009190899081106104ea57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061051957fe5b1a60f860020a02600160f860020a03191611156105395760009150610950565b6001938401936000908216151561058857600487600260ff851604601d0160ff1660208110151561056657fe5b1a60f860020a02600160f860020a031916908060020a820491505090506105b5565b86600260ff841604601d0160ff166020811015156105a257fe5b1a60f860020a02600f60f860020a021690505b6000805460fc60020a91908a9081106105ca57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8416600681106105f957fe5b1a60f860020a02600160f860020a031916101561068d57600080548990811061061e57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061064d57fe5b1a60f860020a02600160f860020a03191681600160f860020a03191614156106825761012c9590950194600190930192610687565b600092505b50610950565b60009250600080548990811061069f57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8316600681106106ce57fe5b1a60f860020a02600160f860020a031916601060f860020a02141561074b577f0900000000000000000000000000000000000000000000000000000000000000600160f860020a03198216118015610733575060fc60020a600160f860020a03198216105b15610687576032959095019460019093019250610950565b600080548990811061075957fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061078857fe5b1a60f860020a02600160f860020a031916601160f860020a0214156107ec577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216101561068757601e959095019460019093019250610950565b60008054899081106107fa57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061082957fe5b1a60f860020a02600160f860020a031916601260f860020a02141561089e577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216108015610886575060f860020a808216145b1561068757603c959095019460019093019250610950565b60008054899081106108ac57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8316600681106108db57fe5b1a60f860020a02600160f860020a031916601360f860020a02141561094e577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216108015610886575060f860020a8116151561068757603c959095019460019093019250610950565b505b60010161049b565b5060ff8216151561096c576000935061097b565b67de0b6b3a7640000093909302925b60008360ff16670de0b6b3a764000061012c02028560008981548110151561099f57fe5b906000526020600020906004020160010154028115156109bb57fe5b049050801580156109cf575060008360ff16115b156109da575060ff82165b608060405190810160405280828152602001878152602001600089815481101515610a0157fe5b6000918252602080832060049290920290910160020154608060020a026fffffffffffffffffffffffffffffffff1916835281549201918a908110610a4257fe5b6000918252602090912060036004909202010154600160a060020a031690528c518d9089908110610a6f57fe5b602090810290910101529687019660018215151415610adc576000805488908110610a9657fe5b60009182526020909120600360049092020101548951600160a060020a03909116908a9089908110610ac457fe5b600160a060020a039092166020928302909101909101525b5050505050505b60008054801515610af057fe5b6000828152602081206004600019909301928302018181556001810182905560028101805475ffffffffffffffffffffffffffffffffffffffffffff19169055600301805473ffffffffffffffffffffffffffffffffffffffff19169055915581116102ac575083515b845160001990910190859082908110610b6f57fe5b60209081029091010151604001516fffffffffffffffffffffffffffffffff191615610c695760008582815181101515610ba557fe5b60209081029190910181015182546001808201855560009485529383902082516004909202019081559181015192820192909255604082015160028201805460608501516fffffffffffffffffffffffffffffffff19909116608060020a938490041775ffffffffffff00000000000000000000000000000000191660d060020a909104929092029190911790556080909101516003909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b60008111610b5a5750600030315b8451821015610d685760008583815181101515610c9057fe5b60209081029091010151511115610d5d578482815181101515610caf57fe5b9060200190602002015160400151600160a060020a03168583815181101515610cd457fe5b90602001906020020151602001516fffffffffffffffffffffffffffffffff19167fac9ad90479e8c00fee192116c091a7441b27fc38457570fb8ef29038b9ebd28a8785815181101515610d2457fe5b60209081029091018101515160408051918252519081900390910190a38482815181101515610d4f57fe5b602090810290910101515190035b600190910190610c77565b600091505b8651821015610f6d578651600090889084908110610d8757fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19161115610f625780831115610ea3578682815181101515610dc457fe5b9060200190602002015160600151600160a060020a03168783815181101515610de957fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19167fea7d87ff43f14365c21ca36568443598b4ea528e2bcc6dd5e084578c3efd1975670de0b6b3a764000086670de0b6b3a76400008c88815181101515610e4c57fe5b6020908102909101015151870202811515610e6357fe5b04811515610e6d57fe5b048a86815181101515610e7c57fe5b602090810290910181015181015160408051938452918301528051918290030190a3610f62565b8682815181101515610eb157fe5b9060200190602002015160600151600160a060020a03168783815181101515610ed657fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19167fea7d87ff43f14365c21ca36568443598b4ea528e2bcc6dd5e084578c3efd19758985815181101515610f2657fe5b60209081029091010151518a518b9087908110610f3f57fe5b602090810290910181015181015160408051938452918301528051918290030190a35b600190910190610d6d565b600091505b84518210156110125760008583815181101515610f8b57fe5b60209081029091010151511115611007578482815181101515610faa57fe5b9060200190602002015160400151600160a060020a03166108fc8684815181101515610fd257fe5b60209081029091010151516040518115909202916000818181858888f19350505050158015611005573d6000803e3d6000fd5b505b600190910190610f72565b600091505b865182101561115b576000878381518110151561103057fe5b6020908102909101015151111561115057808311156110e557868281518110151561105757fe5b9060200190602002015160600151600160a060020a03166108fc670de0b6b3a764000085670de0b6b3a76400008b8781518110151561109257fe5b60209081029091010151518602028115156110a957fe5b048115156110b357fe5b049081150290604051600060405180830381858888f193505050501580156110df573d6000803e3d6000fd5b50611150565b86828151811015156110f357fe5b9060200190602002015160600151600160a060020a03166108fc888481518110151561111b57fe5b60209081029091010151516040518115909202916000818181858888f1935050505015801561114e573d6000803e3d6000fd5b505b600190910190611017565b600091505b835182101561122e57835160009085908490811061117a57fe5b60209081029091010151600160a060020a031614611223576001548451600160a060020a039091169063430de4c6908690859081106111b557fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561120a57600080fd5b505af115801561121e573d6000803e3d6000fd5b505050505b600190910190611160565b505050505050505b565b600354600160a060020a0316331461124f57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015611285573d6000803e3d6000fd5b5050565b600254600160a060020a031681565b662386f26fc1000034101561133457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42657420616d6f756e742073686f756c642062652067726561746572206f722060448201527f657175616c207468616e206d696e696d616c20616d6f756e7400000000000000606482015290519081900360840190fd5b6fffffffffffffffffffffffffffffffff19811615156113b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f49642073686f756c64206e6f7420626520300000000000000000000000000000604482015290519081900360640190fd5b80608060020a69ffffffffffffffffffff19821602600080805b600660ff8216101561154c577f13000000000000000000000000000000000000000000000000000000000000008460ff83166006811061140b57fe5b1a60f860020a02600160f860020a031916111561142757611544565b60019092019160fc60020a8460ff83166006811061144157fe5b1a60f860020a02600160f860020a03191610156114645761012c82019150611544565b8360ff82166006811061147357fe5b1a60f860020a02600160f860020a031916601060f860020a02141561149d57603282019150611544565b8360ff8216600681106114ac57fe5b1a60f860020a02600160f860020a031916601160f860020a0214156114d657601e82019150611544565b8360ff8216600681106114e557fe5b1a60f860020a02600160f860020a031916601260f860020a02141561150f57603c82019150611544565b8360ff82166006811061151e57fe5b1a60f860020a02600160f860020a031916601360f860020a02141561154457603c820191505b6001016113cf565b50605060ff831661012c810261ffff166010840203919091029069261dd1ce2f20888000000269ffffffffffffffffffff1681151561158757fe5b0434111561159457600080fd5b6000670de0b6b3a7640000606434678ac7230489e8000002040490506000670de0b6b3a7640000606434678ac7230489e8000002046040805160a0810182524381529290910434859003819003602084019081526fffffffffffffffffffffffffffffffff198a811693850193845279ffffffffffffffffffffffffffffffffffffffffffffffffffff198a16606086019081523360808701908152600080546001808201835591805297517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360049099029889015593517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56488015594517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56587018054925192909316608060020a918290041775ffffffffffff00000000000000000000000000000000191660d060020a9092040217905591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566909301805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039094169390931790925590915060ff851611156117e157600154604080517fc4d2e0aa0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff19891660048201523360248201529051600160a060020a039092169163c4d2e0aa9160448082019260009290919082900301818387803b1580156117c857600080fd5b505af11580156117dc573d6000803e3d6000fd5b505050505b600160009054906101000a9004600160a060020a0316600160a060020a031663fcddd056836040518263ffffffff1660e060020a0281526004016000604051808303818588803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b5050505050600260009054906101000a9004600160a060020a0316600160a060020a031663fcddd056826040518263ffffffff1660e060020a0281526004016000604051808303818588803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050505050505050505050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60408051606081018252600080825260208201819052918101919091529056fea165627a7a72305820aa2a17eaeca855001b6824fe6bf95a4cf301138075350991bb02e8e9d102d5a30029000000000000000000000000331769de477c2122638fe1116808d3a9159ab13a000000000000000000000000a6d93468c1f16f2e1009ec321251f0b3147117b3

Deployed Bytecode

0x6080604052600436106100585760e060020a60003504636bc0b3ba811461005a5780637e95385c1461008b578063c7033137146100be578063ce5494bb146100d3578063d7cee31e14610106578063da7376131461011b575b005b34801561006657600080fd5b5061006f610145565b60408051600160a060020a039092168252519081900360200190f35b34801561009757600080fd5b50610058600480360360208110156100ae57600080fd5b5035600160a060020a0316610154565b3480156100ca57600080fd5b5061005861019a565b3480156100df57600080fd5b50610058600480360360208110156100f657600080fd5b5035600160a060020a0316611238565b34801561011257600080fd5b5061006f611289565b6100586004803603602081101561013157600080fd5b503569ffffffffffffffffffff1916611298565b600154600160a060020a031681565b600354600160a060020a0316331461016b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005415156101a857611236565b60005460408051828152602080840282010190915260609180156101e657816020015b6101d36118c2565b8152602001906001900390816101cb5790505b509050606060008054905060405190808252806020026020018201604052801561022a57816020015b6102176118e9565b81526020019060019003908161020f5790505b509050606060008054905060405190808252806020026020018201604052801561026e57816020015b61025b611917565b8152602001906001900390816102535790505b50905060606000805490506040519080825280602002602001820160405280156102a2578160200160208202803883390190505b5060008054919250905b600080546000199092019160ff1943019190839081106102c857fe5b906000526020600020906004020160000154101561039e576060604051908101604052806000838154811015156102fb57fe5b906000526020600020906004020160010154815260200160008381548110151561032157fe5b6000918252602080832060049290920290910160020154608060020a026fffffffffffffffffffffffffffffffff1916835281549201918490811061036257fe5b6000918252602090912060036004909202010154600160a060020a03169052845185908390811061038f57fe5b60209081029091010152610ae3565b436000828154811015156103ae57fe5b6000918252602090912060049091020154106104725760008054829081106103d257fe5b60009182526020918290206040805160a081018252600493909302909101805483526001810154938301939093526002830154608060020a8082026fffffffffffffffffffffffffffffffff1916928401929092520460d060020a0279ffffffffffffffffffffffffffffffffffffffffffffffffffff19166060820152600390910154600160a060020a03166080820152855186908390811061038f57fe5b6000808281548110151561048257fe5b6000918252602082206004909102015440915080806001815b60008054889081106104a957fe5b50600052600660ff8216101561095857600080547f13000000000000000000000000000000000000000000000000000000000000009190899081106104ea57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061051957fe5b1a60f860020a02600160f860020a03191611156105395760009150610950565b6001938401936000908216151561058857600487600260ff851604601d0160ff1660208110151561056657fe5b1a60f860020a02600160f860020a031916908060020a820491505090506105b5565b86600260ff841604601d0160ff166020811015156105a257fe5b1a60f860020a02600f60f860020a021690505b6000805460fc60020a91908a9081106105ca57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8416600681106105f957fe5b1a60f860020a02600160f860020a031916101561068d57600080548990811061061e57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061064d57fe5b1a60f860020a02600160f860020a03191681600160f860020a03191614156106825761012c9590950194600190930192610687565b600092505b50610950565b60009250600080548990811061069f57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8316600681106106ce57fe5b1a60f860020a02600160f860020a031916601060f860020a02141561074b577f0900000000000000000000000000000000000000000000000000000000000000600160f860020a03198216118015610733575060fc60020a600160f860020a03198216105b15610687576032959095019460019093019250610950565b600080548990811061075957fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061078857fe5b1a60f860020a02600160f860020a031916601160f860020a0214156107ec577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216101561068757601e959095019460019093019250610950565b60008054899081106107fa57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff83166006811061082957fe5b1a60f860020a02600160f860020a031916601260f860020a02141561089e577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216108015610886575060f860020a808216145b1561068757603c959095019460019093019250610950565b60008054899081106108ac57fe5b6000918252602090912060049091020160020154608060020a900460d060020a0260ff8316600681106108db57fe5b1a60f860020a02600160f860020a031916601360f860020a02141561094e577f0a00000000000000000000000000000000000000000000000000000000000000600160f860020a03198216108015610886575060f860020a8116151561068757603c959095019460019093019250610950565b505b60010161049b565b5060ff8216151561096c576000935061097b565b67de0b6b3a7640000093909302925b60008360ff16670de0b6b3a764000061012c02028560008981548110151561099f57fe5b906000526020600020906004020160010154028115156109bb57fe5b049050801580156109cf575060008360ff16115b156109da575060ff82165b608060405190810160405280828152602001878152602001600089815481101515610a0157fe5b6000918252602080832060049290920290910160020154608060020a026fffffffffffffffffffffffffffffffff1916835281549201918a908110610a4257fe5b6000918252602090912060036004909202010154600160a060020a031690528c518d9089908110610a6f57fe5b602090810290910101529687019660018215151415610adc576000805488908110610a9657fe5b60009182526020909120600360049092020101548951600160a060020a03909116908a9089908110610ac457fe5b600160a060020a039092166020928302909101909101525b5050505050505b60008054801515610af057fe5b6000828152602081206004600019909301928302018181556001810182905560028101805475ffffffffffffffffffffffffffffffffffffffffffff19169055600301805473ffffffffffffffffffffffffffffffffffffffff19169055915581116102ac575083515b845160001990910190859082908110610b6f57fe5b60209081029091010151604001516fffffffffffffffffffffffffffffffff191615610c695760008582815181101515610ba557fe5b60209081029190910181015182546001808201855560009485529383902082516004909202019081559181015192820192909255604082015160028201805460608501516fffffffffffffffffffffffffffffffff19909116608060020a938490041775ffffffffffff00000000000000000000000000000000191660d060020a909104929092029190911790556080909101516003909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b60008111610b5a5750600030315b8451821015610d685760008583815181101515610c9057fe5b60209081029091010151511115610d5d578482815181101515610caf57fe5b9060200190602002015160400151600160a060020a03168583815181101515610cd457fe5b90602001906020020151602001516fffffffffffffffffffffffffffffffff19167fac9ad90479e8c00fee192116c091a7441b27fc38457570fb8ef29038b9ebd28a8785815181101515610d2457fe5b60209081029091018101515160408051918252519081900390910190a38482815181101515610d4f57fe5b602090810290910101515190035b600190910190610c77565b600091505b8651821015610f6d578651600090889084908110610d8757fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19161115610f625780831115610ea3578682815181101515610dc457fe5b9060200190602002015160600151600160a060020a03168783815181101515610de957fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19167fea7d87ff43f14365c21ca36568443598b4ea528e2bcc6dd5e084578c3efd1975670de0b6b3a764000086670de0b6b3a76400008c88815181101515610e4c57fe5b6020908102909101015151870202811515610e6357fe5b04811515610e6d57fe5b048a86815181101515610e7c57fe5b602090810290910181015181015160408051938452918301528051918290030190a3610f62565b8682815181101515610eb157fe5b9060200190602002015160600151600160a060020a03168783815181101515610ed657fe5b90602001906020020151604001516fffffffffffffffffffffffffffffffff19167fea7d87ff43f14365c21ca36568443598b4ea528e2bcc6dd5e084578c3efd19758985815181101515610f2657fe5b60209081029091010151518a518b9087908110610f3f57fe5b602090810290910181015181015160408051938452918301528051918290030190a35b600190910190610d6d565b600091505b84518210156110125760008583815181101515610f8b57fe5b60209081029091010151511115611007578482815181101515610faa57fe5b9060200190602002015160400151600160a060020a03166108fc8684815181101515610fd257fe5b60209081029091010151516040518115909202916000818181858888f19350505050158015611005573d6000803e3d6000fd5b505b600190910190610f72565b600091505b865182101561115b576000878381518110151561103057fe5b6020908102909101015151111561115057808311156110e557868281518110151561105757fe5b9060200190602002015160600151600160a060020a03166108fc670de0b6b3a764000085670de0b6b3a76400008b8781518110151561109257fe5b60209081029091010151518602028115156110a957fe5b048115156110b357fe5b049081150290604051600060405180830381858888f193505050501580156110df573d6000803e3d6000fd5b50611150565b86828151811015156110f357fe5b9060200190602002015160600151600160a060020a03166108fc888481518110151561111b57fe5b60209081029091010151516040518115909202916000818181858888f1935050505015801561114e573d6000803e3d6000fd5b505b600190910190611017565b600091505b835182101561122e57835160009085908490811061117a57fe5b60209081029091010151600160a060020a031614611223576001548451600160a060020a039091169063430de4c6908690859081106111b557fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15801561120a57600080fd5b505af115801561121e573d6000803e3d6000fd5b505050505b600190910190611160565b505050505050505b565b600354600160a060020a0316331461124f57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015611285573d6000803e3d6000fd5b5050565b600254600160a060020a031681565b662386f26fc1000034101561133457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42657420616d6f756e742073686f756c642062652067726561746572206f722060448201527f657175616c207468616e206d696e696d616c20616d6f756e7400000000000000606482015290519081900360840190fd5b6fffffffffffffffffffffffffffffffff19811615156113b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f49642073686f756c64206e6f7420626520300000000000000000000000000000604482015290519081900360640190fd5b80608060020a69ffffffffffffffffffff19821602600080805b600660ff8216101561154c577f13000000000000000000000000000000000000000000000000000000000000008460ff83166006811061140b57fe5b1a60f860020a02600160f860020a031916111561142757611544565b60019092019160fc60020a8460ff83166006811061144157fe5b1a60f860020a02600160f860020a03191610156114645761012c82019150611544565b8360ff82166006811061147357fe5b1a60f860020a02600160f860020a031916601060f860020a02141561149d57603282019150611544565b8360ff8216600681106114ac57fe5b1a60f860020a02600160f860020a031916601160f860020a0214156114d657601e82019150611544565b8360ff8216600681106114e557fe5b1a60f860020a02600160f860020a031916601260f860020a02141561150f57603c82019150611544565b8360ff82166006811061151e57fe5b1a60f860020a02600160f860020a031916601360f860020a02141561154457603c820191505b6001016113cf565b50605060ff831661012c810261ffff166010840203919091029069261dd1ce2f20888000000269ffffffffffffffffffff1681151561158757fe5b0434111561159457600080fd5b6000670de0b6b3a7640000606434678ac7230489e8000002040490506000670de0b6b3a7640000606434678ac7230489e8000002046040805160a0810182524381529290910434859003819003602084019081526fffffffffffffffffffffffffffffffff198a811693850193845279ffffffffffffffffffffffffffffffffffffffffffffffffffff198a16606086019081523360808701908152600080546001808201835591805297517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360049099029889015593517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56488015594517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56587018054925192909316608060020a918290041775ffffffffffff00000000000000000000000000000000191660d060020a9092040217905591517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566909301805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039094169390931790925590915060ff851611156117e157600154604080517fc4d2e0aa0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff19891660048201523360248201529051600160a060020a039092169163c4d2e0aa9160448082019260009290919082900301818387803b1580156117c857600080fd5b505af11580156117dc573d6000803e3d6000fd5b505050505b600160009054906101000a9004600160a060020a0316600160a060020a031663fcddd056836040518263ffffffff1660e060020a0281526004016000604051808303818588803b15801561183457600080fd5b505af1158015611848573d6000803e3d6000fd5b5050505050600260009054906101000a9004600160a060020a0316600160a060020a031663fcddd056826040518263ffffffff1660e060020a0281526004016000604051808303818588803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050505050505050505050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60408051606081018252600080825260208201819052918101919091529056fea165627a7a72305820aa2a17eaeca855001b6824fe6bf95a4cf301138075350991bb02e8e9d102d5a30029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000331769de477c2122638fe1116808d3a9159ab13a000000000000000000000000a6d93468c1f16f2e1009ec321251f0b3147117b3

-----Decoded View---------------
Arg [0] : jackpot (address): 0x331769dE477C2122638fe1116808d3a9159aB13a
Arg [1] : house (address): 0xA6D93468C1F16f2e1009eC321251F0B3147117b3

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000331769de477c2122638fe1116808d3a9159ab13a
Arg [1] : 000000000000000000000000a6d93468c1f16f2e1009ec321251f0b3147117b3


Deployed Bytecode Sourcemap

289:9263:2:-;;;;;;;;-1:-1:-1;;;289:9263:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;754:37:2;;;:::i;:::-;;;;-1:-1:-1;;;;;754:37:2;;;;;;;;;;;;;;9442:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9442:107:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9442:107:2;-1:-1:-1;;;;;9442:107:2;;:::i;3481:5814::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3481:5814:2;;;:::i;9307:127::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9307:127:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9307:127:2;-1:-1:-1;;;;;9307:127:2;;:::i;798:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;798:35:2;;;:::i;1674:1795::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1674:1795:2;-1:-1:-1;;1674:1795:2;;:::i;754:37::-;;;-1:-1:-1;;;;;754:37:2;;:::o;9442:107::-;1636:5;;-1:-1:-1;;;;;1636:5:2;1622:10;:19;1614:28;;;;;;9517:14;:24;;-1:-1:-1;;9517:24:2;-1:-1:-1;;;;;9517:24:2;;;;;;;;;;9442:107::o;3481:5814::-;3527:8;:15;:20;3523:46;;;3562:7;;3523:46;3620:8;:15;3607:29;;;;;;;;;;;;;;;;3581:23;;3607:29;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3581:55;;3647:23;3683:8;:15;;;;3673:26;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3647:52;;3710:28;3754:8;:15;;;;3741:29;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3710:60;;3781:36;3842:8;:15;;;;3820:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;3820:38:2;-1:-1:-1;3869:19:2;3908:15;;3781:77;;-1:-1:-1;3869:19:2;3934:3722;3973:8;:11;;-1:-1:-1;;3952:3:2;;;;-1:-1:-1;;3999:12:2;:18;;3973:8;3952:3;;3973:11;;;;;;;;;;;;;;;;:23;;;:44;3970:3631;;;4054:61;;;;;;;;;4061:8;4070:1;4061:11;;;;;;;;;;;;;;;;;;;;:18;;;4054:61;;;;4081:8;4090:1;4081:11;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;-1:-1:-1;;;4081:14:2;-1:-1:-1;;4054:61:2;;;4097:11;;4054:61;;;4106:1;;4097:11;;;;;;;;;;;;;;:17;:11;;;;;:17;;-1:-1:-1;;;;;4097:17:2;4054:61;;4036:15;;:12;;4049:1;;4036:15;;;;;;;;;;;;;;:79;3970:3631;;;4184:12;4157:8;4166:1;4157:11;;;;;;;;;;;;;;;;;;;;;;;:23;:39;4154:3432;;4235:8;:11;;4244:1;;4235:11;;;;;;;;;;;;;;;4219:27;;;;;;;;4235:11;;;;;;;;4219:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4219:27:2;;;-1:-1:-1;;4219:27:2;;;;;;;;;-1:-1:-1;;;4219:27:2;-1:-1:-1;;4219:27:2;;;;;;;;;;-1:-1:-1;;;;;4219:27:2;;;;;:13;;;;4230:1;;4219:13;;;;;4154:3432;4293:17;4323:8;4332:1;4323:11;;;;;;;;;;;;;;;;;;;;;;:23;4313:34;;-1:-1:-1;4323:11:2;;4517:4;4323:11;4544:2308;4566:8;:11;;4575:1;;4566:11;;;;;;-1:-1:-1;4566:11:2;;:22;4562:26;;;;4544:2308;;;4626:8;:11;;:25;;:8;4635:1;;4626:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;4626:15:2;;-1:-1:-1;;;4626:15:2;:18;;;;;;;;;;;-1:-1:-1;;;4626:18:2;-1:-1:-1;;;;;4626:25:2;;;4622:149;;;4699:5;4684:20;;4735:8;;4622:149;4797:13;;;;;4837:10;;4878:5;;:10;4874:176;;;4952:1;4927:9;4946:1;4942:5;;;;4937:2;:10;4927:21;;;;;;;;;;;;-1:-1:-1;;;4927:21:2;-1:-1:-1;;;;;4927:26:2;;;52:12:-1;49:1;45:20;29:14;25:41;7:59;;4927:26:2;4919:34;;4874:176;;;5022:9;5041:1;5037:5;;;;5032:2;:10;5022:21;;;;;;;;;;;;-1:-1:-1;;;5022:21:2;5046:4;-1:-1:-1;;;5022:28:2;;5014:36;;4874:176;5081:8;:11;;-1:-1:-1;;;5081:25:2;:8;5090:1;;5081:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;5081:15:2;;-1:-1:-1;;;5081:15:2;:18;;;;;;;;;;;-1:-1:-1;;;5081:18:2;-1:-1:-1;;;;;5081:25:2;;;5077:464;;;5152:8;:11;;5161:1;;5152:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;5152:15:2;;-1:-1:-1;;;5152:15:2;:18;;;;;;;;;;;-1:-1:-1;;;5152:18:2;-1:-1:-1;;;;;5143:27:2;;:5;-1:-1:-1;;;;;5143:27:2;;;5139:255;;;5271:3;5256:18;;;;;5207:14;;;;;5139:255;;;5389:5;5374:20;;5139:255;5425:8;;;5077:464;5536:5;5521:20;;5572:8;:11;;5581:1;;5572:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;5572:15:2;;-1:-1:-1;;;5572:15:2;:18;;;;;;;;;;;-1:-1:-1;;;5572:18:2;-1:-1:-1;;;;;5572:26:2;;5594:4;-1:-1:-1;;;5572:26:2;;5568:296;;;5635:12;-1:-1:-1;;;;;;5635:12:2;;;:28;;;;-1:-1:-1;;;;;;;;;;5651:12:2;;;5635:28;5631:167;;;5764:2;5749:17;;;;;5700:14;;;;;5828:8;;;5568:296;5894:8;:11;;5903:1;;5894:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;5894:15:2;;-1:-1:-1;;;5894:15:2;:18;;;;;;;;;;;-1:-1:-1;;;5894:18:2;-1:-1:-1;;;;;5894:26:2;;5916:4;-1:-1:-1;;;5894:26:2;;5890:280;;;5957:12;-1:-1:-1;;;;;;5957:12:2;;;5953:151;;;6070:2;6055:17;;;;;6006:14;;;;;6134:8;;;5890:280;6200:8;:11;;6209:1;;6200:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;6200:15:2;;-1:-1:-1;;;6200:15:2;:18;;;;;;;;;;;-1:-1:-1;;;6200:18:2;-1:-1:-1;;;;;6200:26:2;;6222:4;-1:-1:-1;;;6200:26:2;;6196:304;;;6263:12;-1:-1:-1;;;;;;6263:12:2;;;:36;;;;-1:-1:-1;;;;6279:12:2;;;:20;6263:36;6259:175;;;6400:2;6385:17;;;;;6336:14;;;;;6464:8;;;6196:304;6530:8;:11;;6539:1;;6530:11;;;;;;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;6530:15:2;;-1:-1:-1;;;6530:15:2;:18;;;;;;;;;;;-1:-1:-1;;;6530:18:2;-1:-1:-1;;;;;6530:26:2;;6552:4;-1:-1:-1;;;6530:26:2;;6526:303;;;6593:12;-1:-1:-1;;;;;;6593:12:2;;;:35;;;;-1:-1:-1;;;;6609:12:2;;:19;6589:174;;;6729:2;6714:17;;;;;6665:14;;;;;6793:8;;;6526:303;4544:2308;;4590:3;;4544:2308;;;-1:-1:-1;6896:17:2;;;;6892:165;;;6955:1;6941:15;;6892:165;;;7044:13;7029:28;;;;;6892:165;7102:17;7176:11;7158:29;;1248:7;7170:3;7158:15;:29;7143:11;7122:8;7131:1;7122:11;;;;;;;;;;;;;;;;;;;;:18;;;:32;:66;;;;;;;;;-1:-1:-1;7215:17:2;;:37;;;;;7251:1;7236:12;:16;;;7215:37;7211:95;;;-1:-1:-1;7279:27:2;;;7211:95;7342:66;;;;;;;;;7349:12;7342:66;;;;7363:9;7342:66;;;;7374:8;7383:1;7374:11;;;;;;;;;;;;;;;;;;;;;;;;;;:14;;;-1:-1:-1;;;7374:14:2;-1:-1:-1;;7342:66:2;;;7390:11;;7342:66;;;7399:1;;7390:11;;;;;;;;;;;;;;:17;:11;;;;;:17;;-1:-1:-1;;;;;7390:17:2;7342:66;;7329:10;;:7;;7337:1;;7329:10;;;;;;;;;;;;;;:79;7431:27;;;;7501:4;7485:20;;;;7481:85;;;7549:8;:11;;7558:1;;7549:11;;;;;;;;;;;;;;:17;:11;;;;;:17;;7532:14;;-1:-1:-1;;;;;7549:17:2;;;;7532:11;;7544:1;;7532:14;;;;;;-1:-1:-1;;;;;7532:34:2;;;:14;;;;;;;;;;:34;7481:85;4154:3432;;;;;;;7615:8;:14;;;;;;;;;;;;;;;;;-1:-1:-1;;7615:14:2;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7615:14:2;;;;;;;-1:-1:-1;;7615:14:2;;;;;7649:5;;3934:3722;;-1:-1:-1;7680:17:2;;7708:135;7748:13;;-1:-1:-1;;7726:3:2;;;;7748:10;;7726:3;;7748:13;;;;;;;;;;;;;;;:16;;;-1:-1:-1;;7748:21:2;;7744:72;;7788:8;7802:10;7813:1;7802:13;;;;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;-1:-1;7788:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7788:28:2;;;-1:-1:-1;;;7788:28:2;;;;;-1:-1:-1;;7788:28:2;-1:-1:-1;;;7788:28:2;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7788:28:2;-1:-1:-1;;;;;7788:28:2;;;;;;;;;7744:72;7840:1;7836:5;;7708:135;;-1:-1:-1;7863:12:2;7886:4;7878:21;7910:255;7926:12;:19;7922:1;:23;7910:255;;;7994:1;7969:12;7982:1;7969:15;;;;;;;;;;;;;;;;;;;:22;:26;7965:200;;;8075:12;8088:1;8075:15;;;;;;;;;;;;;;;;;;:21;;;-1:-1:-1;;;;;8021:76:2;8055:12;8068:1;8055:15;;;;;;;;;;;;;;;;;;:18;;;8021:76;;;;8031:12;8044:1;8031:15;;;;;;;;;;;;;;;;;;;;:22;8021:76;;;;;;;;;;;;;;;;8127:12;8140:1;8127:15;;;;;;;;;;;;;;;;;;;:22;8116:33;;7965:200;7947:3;;;;;7910:255;;;8184:1;8180:5;;8175:419;8191:7;:14;8187:1;:18;8175:419;;;8229:10;;8245:1;;8229:7;;8237:1;;8229:10;;;;;;;;;;;;;;:13;;;:17;;;;8225:369;;;8285:7;8271:11;:21;8267:311;;;8431:7;8439:1;8431:10;;;;;;;;;;;;;;;;;;:16;;;-1:-1:-1;;;;;8320:128:2;8416:7;8424:1;8416:10;;;;;;;;;;;;;;;;;;:13;;;8320:128;;;;1248:7;8369:11;1248:7;8337;8345:1;8337:10;;;;;;;;;;;;;;;;;;;:17;8327:27;;:39;:53;;;;;;;;:65;;;;;;;;8394:7;8402:1;8394:10;;;;;;;;;;;;;;;;;;;;:20;;;8320:128;;;;;;;;;;;;;;;;;;;8267:311;;;8561:7;8569:1;8561:10;;;;;;;;;;;;;;;;;;:16;;;-1:-1:-1;;;;;8498:80:2;8546:7;8554:1;8546:10;;;;;;;;;;;;;;;;;;:13;;;8498:80;;;;8505:7;8513:1;8505:10;;;;;;;;;;;;;;;;;;;:17;8524:10;;:7;;8532:1;;8524:10;;;;;;;;;;;;;;;;:20;;;8498:80;;;;;;;;;;;;;;;;;;;8267:311;8207:3;;;;;8175:419;;;8613:1;8609:5;;8604:158;8620:12;:19;8616:1;:23;8604:158;;;8688:1;8663:12;8676:1;8663:15;;;;;;;;;;;;;;;;;;;:22;:26;8659:103;;;8708:12;8721:1;8708:15;;;;;;;;;;;;;;;;;;:21;;;-1:-1:-1;;;;;8708:30:2;:54;8739:12;8752:1;8739:15;;;;;;;;;;;;;;;;;;;:22;8708:54;;;;;;;;8739:22;8708:54;8739:22;8708:54;8739:22;8708:54;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8708:54:2;8659:103;8641:3;;;;;8604:158;;;8782:1;8778:5;;8773:341;8789:7;:14;8785:1;:18;8773:341;;;8847:1;8827:7;8835:1;8827:10;;;;;;;;;;;;;;;;;;;:17;:21;8823:291;;;8887:7;8873:11;:21;8869:229;;;8917:7;8925:1;8917:10;;;;;;;;;;;;;;;;;;:16;;;-1:-1:-1;;;;;8917:25:2;:92;1248:7;8985:11;1248:7;8953;8961:1;8953:10;;;;;;;;;;;;;;;;;;;:17;8943:27;;:39;:53;;;;;;;;:65;;;;;;;;8917:92;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8917:92:2;8869:229;;;9054:7;9062:1;9054:10;;;;;;;;;;;;;;;;;;:16;;;-1:-1:-1;;;;;9054:25:2;:44;9080:7;9088:1;9080:10;;;;;;;;;;;;;;;;;;;:17;9054:44;;;;;;;;9080:17;9054:44;9080:17;9054:44;9080:17;9054:44;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9054:44:2;8869:229;8805:3;;;;;8773:341;;;9133:1;9129:5;;9124:163;9140:11;:18;9136:1;:22;9124:163;;;9182:14;;9208:1;;9182:11;;9194:1;;9182:14;;;;;;;;;;;;;;;-1:-1:-1;;;;;9182:28:2;;9178:109;;9242:14;;9272;;-1:-1:-1;;;;;9242:14:2;;;;9229:42;;9272:11;;9284:1;;9272:14;;;;;;;;;;;;;;9229:58;;;;;-1:-1:-1;;;9229:58:2;;;;;;;-1:-1:-1;;;;;9229:58:2;-1:-1:-1;;;;;9229:58:2;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9229:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9229:58:2;;;;9178:109;9160:3;;;;;9124:163;;;3481:5814;;;;;;;;:::o;9307:127::-;1636:5;;-1:-1:-1;;;;;1636:5:2;1622:10;:19;1614:28;;;;;;9383:43;;-1:-1:-1;;;;;9383:20:2;;;9412:4;9404:21;9383:43;;;;;;;;;9404:21;9383:20;:43;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9383:43:2;9307:127;:::o;798:35::-;;;-1:-1:-1;;;;;798:35:2;;:::o;1674:1795::-;1202:10;1744:9;:20;;1736:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1845:20:2;;;;1837:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1930:6;-1:-1:-1;;;;;1968:13:2;;;1909:10;;;2069:703;2091:10;2087:14;;;;2069:703;;;2127:13;:3;:6;;;;;;;;;;;-1:-1:-1;;;2127:6:2;-1:-1:-1;;;;;2127:13:2;;;2123:44;;;2159:8;;2123:44;2182:13;;;;;-1:-1:-1;;;2214:3:2;:6;;;;;;;;;;;-1:-1:-1;;;2214:6:2;-1:-1:-1;;;;;2214:13:2;;;2210:99;;;2263:3;2248:18;;;;2285:8;;2210:99;2327:3;:6;;;;;;;;;;;-1:-1:-1;;;2327:6:2;-1:-1:-1;;;;;2327:14:2;;2337:4;-1:-1:-1;;;2327:14:2;;2323:99;;;2377:2;2362:17;;;;2398:8;;2323:99;2440:3;:6;;;;;;;;;;;-1:-1:-1;;;2440:6:2;-1:-1:-1;;;;;2440:14:2;;2450:4;-1:-1:-1;;;2440:14:2;;2436:99;;;2490:2;2475:17;;;;2511:8;;2436:99;2553:3;:6;;;;;;;;;;;-1:-1:-1;;;2553:6:2;-1:-1:-1;;;;;2553:14:2;;2563:4;-1:-1:-1;;;2553:14:2;;2549:99;;;2603:2;2588:17;;;;2624:8;;2549:99;2666:3;:6;;;;;;;;;;;-1:-1:-1;;;2666:6:2;-1:-1:-1;;;;;2666:14:2;;2676:4;-1:-1:-1;;;2666:14:2;;2662:99;;;2716:2;2701:17;;;;2662:99;2103:3;;2069:703;;;-1:-1:-1;2884:34:2;2862:17;;;:3;:17;;2844:35;;1166:2;2844:15;;:35;2843:76;;;;;2813:12;:26;:107;;;;;;;;;;2800:9;:120;;2792:129;;;;;;2942:18;1248:7;3005:3;2963:9;:39;;:45;:57;;-1:-1:-1;3031:20:2;1248:7;3091:3;3054:9;:34;;:40;3131:77;;;;;;;;3135:12;3131:77;;3054:52;;;;3149:9;:22;;;:37;;;3131:77;;;;;;-1:-1:-1;;3131:77:2;;;;;;;;;-1:-1:-1;;3131:77:2;;;;;;;;3197:10;3131:77;;;;;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;3117:92:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3117:92:2;;;;;-1:-1:-1;;3117:92:2;-1:-1:-1;;;3117:92:2;;;;;;;;;;;;;;;-1:-1:-1;;3117:92:2;-1:-1:-1;;;;;3117:92:2;;;;;;;;;;3054:52;;-1:-1:-1;3234:15:2;;;;3230:93;;;3277:14;;3264:59;;;;;;-1:-1:-1;;3264:59:2;;;;;;3312:10;3264:59;;;;;;-1:-1:-1;;;;;3277:14:2;;;;3264:43;;:59;;;;;3277:14;;3264:59;;;;;;;;3277:14;;3264:59;;;5:2:-1;;;;30:1;27;20:12;5:2;3264:59:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3264:59:2;;;;3230:93;3357:14;;;;;;;;;-1:-1:-1;;;;;3357:14:2;-1:-1:-1;;;;;3344:34:2;;3385:10;3344:54;;;;;-1:-1:-1;;;3344:54:2;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3344:54:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3344:54:2;;;;;3420:12;;;;;;;;;-1:-1:-1;;;;;3420:12:2;-1:-1:-1;;;;;3409:30:2;;3446:12;3409:52;;;;;-1:-1:-1;;;3409:52:2;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3409:52:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3409:52:2;;;;;1674:1795;;;;;;;:::o;289:9263::-;;;;;;;;;-1:-1:-1;289:9263:2;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;289:9263:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;289:9263:2;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://aa2a17eaeca855001b6824fe6bf95a4cf301138075350991bb02e8e9d102d5a3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.