ETH Price: $3,289.02 (+1.46%)
Gas: 1 Gwei

Contract

0x40D149F29f27d5Da19b580FF642283B3c5753cEa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer67163092018-11-16 16:59:552079 days ago1542387595IN
0x40D149F2...3c5753cEa
0.5 ETH0.002104450
Transfer67163092018-11-16 16:59:552079 days ago1542387595IN
0x40D149F2...3c5753cEa
0.3 ETH0.002104450
Transfer67163092018-11-16 16:59:552079 days ago1542387595IN
0x40D149F2...3c5753cEa
1 ETH0.002104450
Transfer67163092018-11-16 16:59:552079 days ago1542387595IN
0x40D149F2...3c5753cEa
7 ETH0.002104450
Transfer67163092018-11-16 16:59:552079 days ago1542387595IN
0x40D149F2...3c5753cEa
0.5 ETH0.002104450
Transfer66980472018-11-13 17:21:272082 days ago1542129687IN
0x40D149F2...3c5753cEa
0 ETH0.000392215
Transfer66979412018-11-13 17:00:182082 days ago1542128418IN
0x40D149F2...3c5753cEa
1.5 ETH0.000085424
Transfer66979392018-11-13 17:00:072082 days ago1542128407IN
0x40D149F2...3c5753cEa
0.0941265 ETH0.0012921710
Transfer66979392018-11-13 17:00:072082 days ago1542128407IN
0x40D149F2...3c5753cEa
1.33 ETH0.0051068749
Transfer66979392018-11-13 17:00:072082 days ago1542128407IN
0x40D149F2...3c5753cEa
0.05 ETH0.0087108550
Transfer66979382018-11-13 16:59:592082 days ago1542128399IN
0x40D149F2...3c5753cEa
0.25 ETH0.0010852550
Transfer66979382018-11-13 16:59:592082 days ago1542128399IN
0x40D149F2...3c5753cEa
0.01 ETH0.0010852550
Transfer66979372018-11-13 16:59:502082 days ago1542128390IN
0x40D149F2...3c5753cEa
0.078 ETH0.0010852550
Transfer66979372018-11-13 16:59:502082 days ago1542128390IN
0x40D149F2...3c5753cEa
0.55 ETH0.0010852550
Transfer66979372018-11-13 16:59:502082 days ago1542128390IN
0x40D149F2...3c5753cEa
0.7 ETH0.0010852550
Transfer66979372018-11-13 16:59:502082 days ago1542128390IN
0x40D149F2...3c5753cEa
1 ETH0.0010852550
Transfer66979352018-11-13 16:59:212082 days ago1542128361IN
0x40D149F2...3c5753cEa
1.5 ETH0.000128136
Transfer66979242018-11-13 16:57:042082 days ago1542128224IN
0x40D149F2...3c5753cEa
0 ETH0.001089450
Transfer66926922018-11-12 20:17:182083 days ago1542053838IN
0x40D149F2...3c5753cEa
0 ETH0.001089450
Transfer66926832018-11-12 20:14:542083 days ago1542053694IN
0x40D149F2...3c5753cEa
0 ETH0.001089450
Transfer66926722018-11-12 20:11:532083 days ago1542053513IN
0x40D149F2...3c5753cEa
0 ETH0.001089450
Transfer66926362018-11-12 20:03:332083 days ago1542053013IN
0x40D149F2...3c5753cEa
0 ETH0.000235323
Transfer66919192018-11-12 17:15:032083 days ago1542042903IN
0x40D149F2...3c5753cEa
0 ETH0.001108150
Transfer66918572018-11-12 17:01:462083 days ago1542042106IN
0x40D149F2...3c5753cEa
0.25 ETH0.0070134347
Transfer66918532018-11-12 17:00:132083 days ago1542042013IN
0x40D149F2...3c5753cEa
0.5 ETH0.000946085
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
66980472018-11-13 17:21:272082 days ago1542129687
0x40D149F2...3c5753cEa
0.02948253 ETH
66980472018-11-13 17:21:272082 days ago1542129687
0x40D149F2...3c5753cEa
0.01474126 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.08753765 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.00188253 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.00188253 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
1.2279 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.009 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.0266 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.0266 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.0465 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.001 ETH
66979392018-11-13 17:00:072082 days ago1542128407
0x40D149F2...3c5753cEa
0.001 ETH
66926362018-11-12 20:03:332083 days ago1542053013
0x40D149F2...3c5753cEa
0.015 ETH
66926362018-11-12 20:03:332083 days ago1542053013
0x40D149F2...3c5753cEa
0.0075 ETH
66918572018-11-12 17:01:462083 days ago1542042106
0x40D149F2...3c5753cEa
0.1425 ETH
66918572018-11-12 17:01:462083 days ago1542042106
0x40D149F2...3c5753cEa
0.09 ETH
66918572018-11-12 17:01:462083 days ago1542042106
0x40D149F2...3c5753cEa
0.005 ETH
66918572018-11-12 17:01:462083 days ago1542042106
0x40D149F2...3c5753cEa
0.005 ETH
66918532018-11-12 17:00:132083 days ago1542042013
0x40D149F2...3c5753cEa
0.465 ETH
66918532018-11-12 17:00:132083 days ago1542042013
0x40D149F2...3c5753cEa
0.01 ETH
66918532018-11-12 17:00:132083 days ago1542042013
0x40D149F2...3c5753cEa
0.01 ETH
66878882018-11-12 1:22:442084 days ago1541985764
0x40D149F2...3c5753cEa
0.26302279 ETH
66878882018-11-12 1:22:442084 days ago1541985764
0x40D149F2...3c5753cEa
0.13151139 ETH
66878082018-11-12 1:02:162084 days ago1541984536
0x40D149F2...3c5753cEa
0.00229485 ETH
66878082018-11-12 1:02:162084 days ago1541984536
0x40D149F2...3c5753cEa
0.04420514 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Multipliers

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.25;

/**
  Multiplier contract: returns 111%-141% of each investment!
  Automatic payouts!
  No bugs, no backdoors, NO OWNER - fully automatic!
  Made and checked by professionals!

  1. Send any sum to smart contract address
     - sum from 0.01 to 10 ETH
     - min 250000 gas limit
     - max 50 gwei gas price
     - you are added to a queue
  2. Wait a little bit
  3. ...
  4. PROFIT! You have got 111-141%

  How is that?
  1. The first investor in the queue (you will become the
     first in some time) receives next investments until
     it become 111-141% of his initial investment.
  2. You will receive payments in several parts or all at once
  3. Once you receive 111-141% of your initial investment you are
     removed from the queue.
  4. You can make multiple deposits
  5. The balance of this contract should normally be 0 because
     all the money are immediately go to payouts
  6. The more deposits you make the more multiplier you get. See MULTIPLIERS var
  7. If you are the last depositor (no deposits after you in 20 mins)
     you get 2% of all the ether that were on the contract. Send 0 to withdraw it.
     Do it BEFORE NEXT RESTART!
  8. The contract automatically restarts each 24 hours at 17:00 GMT
  9. Deposits will not be accepted 20 mins before next restart. But prize can be withdrawn.


     So the last pays to the first (or to several first ones
     if the deposit big enough) and the investors paid 111-141% are removed from the queue

                new investor --|               brand new investor --|
                 investor5     |                 new investor       |
                 investor4     |     =======>      investor5        |
                 investor3     |                   investor4        |
    (part. paid) investor2    <|                   investor3        |
    (fully paid) investor1   <-|                   investor2   <----|  (pay until full %)


  Контракт Умножитель: возвращает 111%-141% от вашего депозита!
  Автоматические выплаты!
  Без ошибок, дыр, автоматический - для выплат НЕ НУЖНА администрация!
  Создан и проверен профессионалами!

  1. Пошлите любую ненулевую сумму на адрес контракта
     - сумма от 0.01 до 10 ETH
     - gas limit минимум 250000
     - gas price максимум 50 gwei
     - вы встанете в очередь
  2. Немного подождите
  3. ...
  4. PROFIT! Вам пришло 111%-141% от вашего депозита.

  Как это возможно?
  1. Первый инвестор в очереди (вы станете первым очень скоро) получает выплаты от
     новых инвесторов до тех пор, пока не получит 111%-141% от своего депозита
  2. Выплаты могут приходить несколькими частями или все сразу
  3. Как только вы получаете 111%-141% от вашего депозита, вы удаляетесь из очереди
  4. Вы можете делать несколько депозитов сразу
  5. Баланс этого контракта должен обычно быть в районе 0, потому что все поступления
     сразу же направляются на выплаты
  6. Чем больше вы сделали депозитов, тем больший процент вы получаете на очередной депозит
     Смотрите переменную MULTIPLIERS в контракте
  7. Если вы последний вкладчик (после вас не сделан депозит в течение 20 минут), то вы можете
     забрать призовой фонд - 2% от эфира, прошедшего через контракт. Пошлите 0 на контракт
     с газом не менее 350000, чтобы его получить.
  8. Контракт автоматически стартует каждые сутки в 20:00 MSK
  9. За 20 минут до рестарта депозиты перестают приниматься. Но приз забрать можно.


     Таким образом, последние платят первым, и инвесторы, достигшие выплат 111%-141% от депозита,
     удаляются из очереди, уступая место остальным

              новый инвестор --|            совсем новый инвестор --|
                 инвестор5     |                новый инвестор      |
                 инвестор4     |     =======>      инвестор5        |
                 инвестор3     |                   инвестор4        |
 (част. выплата) инвестор2    <|                   инвестор3        |
(полная выплата) инвестор1   <-|                   инвестор2   <----|  (доплата до 111%-141%)

*/

contract Multipliers {
    //Address of old Multiplier
    address constant private FATHER = 0x7CDfA222f37f5C4CCe49b3bBFC415E8C911D1cD8;
    //Address for tech expences
    address constant private TECH = 0xDb058D036768Cfa9a94963f99161e3c94aD6f5dA;
    //Address for promo expences
    address constant private PROMO = 0xdA149b17C154e964456553C749B7B4998c152c9E;
    //Percent for first multiplier donation
    uint constant public FATHER_PERCENT = 1;
    uint constant public TECH_PERCENT = 2;
    uint constant public PROMO_PERCENT = 2;
    uint constant public PRIZE_PERCENT = 2;
    uint constant public MAX_INVESTMENT = 10 ether;
    uint constant public MIN_INVESTMENT_FOR_PRIZE = 0.05 ether;
    uint constant public MAX_IDLE_TIME = 20 minutes; //Maximum time the deposit should remain the last to receive prize

    //How many percent for your deposit to be multiplied
    //Depends on number of deposits from specified address at this stage
    //The more deposits the higher the multiplier
    uint8[] MULTIPLIERS = [
        111, //For first deposit made at this stage
        113, //For second
        117, //For third
        121, //For forth
        125, //For fifth
        130, //For sixth
        135, //For seventh
        141  //For eighth and on
    ];

    //The deposit structure holds all the info about the deposit made
    struct Deposit {
        address depositor; //The depositor address
        uint128 deposit;   //The deposit amount
        uint128 expect;    //How much we should pay out (initially it is 111%-141% of deposit)
    }

    struct DepositCount {
        int128 stage;
        uint128 count;
    }

    struct LastDepositInfo {
        uint128 index;
        uint128 time;
    }

    Deposit[] private queue;  //The queue
    uint public currentReceiverIndex = 0; //The index of the first depositor in the queue. The receiver of investments!
    uint public currentQueueSize = 0; //The current size of queue (may be less than queue.length)
    LastDepositInfo public lastDepositInfo; //The time last deposit made at

    uint public prizeAmount = 0; //Prize amount accumulated for the last depositor
    int public stage = 0; //Number of contract runs
    mapping(address => DepositCount) public depositsMade; //The number of deposits of different depositors

    constructor(){
        //Initialize array to save gas to first depositor
        //Remember - actual queue length is stored in currentQueueSize!
        queue.push(Deposit(address(0x1),0,1));
    }

    //This function receives all the deposits
    //stores them and make immediate payouts
    function () public payable {
        //Prevent cheating with high gas prices. Money from first multiplier are allowed to enter with any gas price
        //because they do not enter the queue
        require(msg.sender == FATHER || tx.gasprice <= 50000000000 wei, "Gas price is too high! Do not cheat!");

        //If money are from first multiplier, just add them to the balance
        //All these money will be distributed to current investors
        if(msg.value > 0 && msg.sender != FATHER){
            require(gasleft() >= 220000, "We require more gas!"); //We need gas to process queue
            require(msg.value <= MAX_INVESTMENT, "The investment is too much!"); //Do not allow too big investments to stabilize payouts

            checkAndUpdateStage();

            //No new deposits 20 minutes before next restart, you should withdraw the prize
            require(getStageStartTime(stage+1) >= now + MAX_IDLE_TIME);

            addDeposit(msg.sender, msg.value);

            //Pay to first investors in line
            pay();
        }else if(msg.value == 0){
            withdrawPrize();
        }
    }

    //Used to pay to current investors
    //Each new transaction processes 1 - 4+ investors in the head of queue
    //depending on balance and gas left
    function pay() private {
        //Try to send all the money on contract to the first investors in line
        uint balance = address(this).balance;
        uint128 money = 0;
        if(balance > prizeAmount) //The opposite is impossible, however the check will not do any harm
            money = uint128(balance - prizeAmount);

        //We will do cycle on the queue
        for(uint i=currentReceiverIndex; i<currentQueueSize; i++){

            Deposit storage dep = queue[i]; //get the info of the first investor

            if(money >= dep.expect){  //If we have enough money on the contract to fully pay to investor
                dep.depositor.send(dep.expect); //Send money to him
                money -= dep.expect;            //update money left

                //this investor is fully paid, so remove him
                delete queue[i];
            }else{
                //Here we don't have enough money so partially pay to investor
                dep.depositor.send(money); //Send to him everything we have
                dep.expect -= money;       //Update the expected amount
                break;                     //Exit cycle
            }

            if(gasleft() <= 50000)         //Check the gas left. If it is low, exit the cycle
                break;                     //The next investor will process the line further
        }

        currentReceiverIndex = i; //Update the index of the current first investor
    }

    function addDeposit(address depositor, uint value) private {
        //Count the number of the deposit at this stage
        DepositCount storage c = depositsMade[depositor];
        if(c.stage != stage){
            c.stage = int128(stage);
            c.count = 0;
        }

        //If you are applying for the prize you should invest more than minimal amount
        //Otherwize it doesn't count
        if(value >= MIN_INVESTMENT_FOR_PRIZE)
            lastDepositInfo = LastDepositInfo(uint128(currentQueueSize), uint128(now));

        //Compute the multiplier percent for this depositor
        uint multiplier = getDepositorMultiplier(depositor);
        //Add the investor into the queue. Mark that he expects to receive 111%-141% of deposit back
        push(depositor, value, value*multiplier/100);

        //Increment number of deposits the depositors made this round
        c.count++;

        //Save money for prize and father multiplier
        prizeAmount += value*(FATHER_PERCENT + PRIZE_PERCENT)/100;

        //Send small part to tech support
        uint support = value*TECH_PERCENT/100;
        TECH.send(support);
        uint adv = value*PROMO_PERCENT/100;
        PROMO.send(adv);

    }

    function checkAndUpdateStage() private{
        int _stage = getCurrentStageByTime();

        require(_stage >= stage, "We should only go forward in time");

        if(_stage != stage){
            proceedToNewStage(_stage);
        }
    }

    function proceedToNewStage(int _stage) private {
        //Clean queue info
        //The prize amount on the balance is left the same if not withdrawn
        stage = _stage;
        currentQueueSize = 0; //Instead of deleting queue just reset its length (gas economy)
        currentReceiverIndex = 0;
        delete lastDepositInfo;
    }

    function withdrawPrize() private {
        //You can withdraw prize only if the last deposit was more than MAX_IDLE_TIME ago
        require(lastDepositInfo.time > 0 && lastDepositInfo.time <= now - MAX_IDLE_TIME, "The last depositor is not confirmed yet");
        //Last depositor will receive prize only if it has not been fully paid
        require(currentReceiverIndex <= lastDepositInfo.index, "The last depositor should still be in queue");

        uint balance = address(this).balance;
        if(prizeAmount > balance) //Impossible but better check it
            prizeAmount = balance;

        //Send donation to the first multiplier for it to spin faster
        //It already contains all the sum, so we must split for father and last depositor only
        uint donation = prizeAmount*FATHER_PERCENT/(FATHER_PERCENT + PRIZE_PERCENT);
        if(donation > 10 ether) //The father contract accepts up to 10 ether
            donation = 10 ether;

        //If the .call fails then ether will just stay on the contract to be distributed to
        //the queue at the next stage
        require(gasleft() >= 300000, "We need gas for the father contract");
        FATHER.call.value(donation).gas(250000)();

        uint prize = prizeAmount - donation;
        queue[lastDepositInfo.index].depositor.send(prize);

        prizeAmount = 0;
        proceedToNewStage(stage + 1);
    }

    //Pushes investor to the queue
    function push(address depositor, uint deposit, uint expect) private {
        //Add the investor into the queue
        Deposit memory dep = Deposit(depositor, uint128(deposit), uint128(expect));
        assert(currentQueueSize <= queue.length); //Assert queue size is not corrupted
        if(queue.length == currentQueueSize)
            queue.push(dep);
        else
            queue[currentQueueSize] = dep;

        currentQueueSize++;
    }

    //Get the deposit info by its index
    //You can get deposit index from
    function getDeposit(uint idx) public view returns (address depositor, uint deposit, uint expect){
        Deposit storage dep = queue[idx];
        return (dep.depositor, dep.deposit, dep.expect);
    }

    //Get the count of deposits of specific investor
    function getDepositsCount(address depositor) public view returns (uint) {
        uint c = 0;
        for(uint i=currentReceiverIndex; i<currentQueueSize; ++i){
            if(queue[i].depositor == depositor)
                c++;
        }
        return c;
    }

    //Get all deposits (index, deposit, expect) of a specific investor
    function getDeposits(address depositor) public view returns (uint[] idxs, uint128[] deposits, uint128[] expects) {
        uint c = getDepositsCount(depositor);

        idxs = new uint[](c);
        deposits = new uint128[](c);
        expects = new uint128[](c);

        if(c > 0) {
            uint j = 0;
            for(uint i=currentReceiverIndex; i<currentQueueSize; ++i){
                Deposit storage dep = queue[i];
                if(dep.depositor == depositor){
                    idxs[j] = i;
                    deposits[j] = dep.deposit;
                    expects[j] = dep.expect;
                    j++;
                }
            }
        }
    }

    //Get current queue size
    function getQueueLength() public view returns (uint) {
        return currentQueueSize - currentReceiverIndex;
    }

    //Get current depositors multiplier percent at this stage
    function getDepositorMultiplier(address depositor) public view returns (uint) {
        DepositCount storage c = depositsMade[depositor];
        uint count = 0;
        if(c.stage == getCurrentStageByTime())
            count = c.count;
        if(count < MULTIPLIERS.length)
            return MULTIPLIERS[count];

        return MULTIPLIERS[MULTIPLIERS.length - 1];
    }

    function getCurrentStageByTime() public view returns (int) {
        return int(now - 17 hours) / 1 days - 17844; //Start is 09/11/2018 20:00 GMT+3
    }

    function getStageStartTime(int _stage) public pure returns (uint) {
        return 17 hours + uint(_stage + 17844)*1 days;
    }

    function getCurrentCandidateForPrize() public view returns (address addr, int timeLeft){
        //prevent exception, just return 0 for absent candidate
        if(currentReceiverIndex <= lastDepositInfo.index && lastDepositInfo.index < currentQueueSize){
            Deposit storage d = queue[lastDepositInfo.index];
            addr = d.depositor;
            timeLeft = int(lastDepositInfo.time + MAX_IDLE_TIME) - int(now);
        }
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"currentQueueSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentStageByTime","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentReceiverIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"}],"name":"getDepositorMultiplier","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FATHER_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_INVESTMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"prizeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRIZE_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"}],"name":"getDeposits","outputs":[{"name":"idxs","type":"uint256[]"},{"name":"deposits","type":"uint128[]"},{"name":"expects","type":"uint128[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_INVESTMENT_FOR_PRIZE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"idx","type":"uint256"}],"name":"getDeposit","outputs":[{"name":"depositor","type":"address"},{"name":"deposit","type":"uint256"},{"name":"expect","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TECH_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"depositsMade","outputs":[{"name":"stage","type":"int128"},{"name":"count","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getQueueLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stage","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PROMO_PERCENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"}],"name":"getDepositsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_IDLE_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDepositInfo","outputs":[{"name":"index","type":"uint128"},{"name":"time","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentCandidateForPrize","outputs":[{"name":"addr","type":"address"},{"name":"timeLeft","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_stage","type":"int256"}],"name":"getStageStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

610180604052606f6080908152607160a052607560c052607960e052607d61010052608261012052608761014052608d61016052620000439060009060086200013e565b5060006002556000600355600060055560006006553480156200006557600080fd5b50604080516060810182526001808252600060208301818152938301828152825480840184559290915291517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf660029092029182018054600160a060020a031916600160a060020a0390921691909117905591517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909201805491516001608060020a03199092166001608060020a0393841617831670010000000000000000000000000000000093909216929092021790556200020f565b82805482825590600052602060002090601f01602090048101928215620001d95791602002820160005b83821115620001a857835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000168565b8015620001d75782816101000a81549060ff0219169055600101602081600001049283019260010302620001a8565b505b50620001e7929150620001eb565b5090565b6200020c91905b80821115620001e757805460ff19168155600101620001f2565b90565b611305806200021f6000396000f30060806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307fc76ad81146102f05780631dec8585146103175780632d95663b1461032c5780633257bd3214610341578063388736c9146103625780634c76361e14610377578063785fa6271461038c578063947f4ea8146103a157806394f649dd146103b657806395463041146104b55780639f9fb968146104ca578063abce62a8146103a1578063acce7dcb1461050a578063b8f7700514610553578063c040e6b814610568578063c533a5a3146103a1578063c67f7df51461057d578063d24d7d201461059e578063d72d3bde146105b3578063d895530c146105ee578063f51d401f14610626575b33737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd814806101435750640ba43b74003a11155b15156101be576040805160e560020a62461bcd028152602060048201526024808201527f47617320707269636520697320746f6f20686967682120446f206e6f7420636860448201527f6561742100000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000341180156101e2575033737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd814155b156102df5762035b605a1015610242576040805160e560020a62461bcd02815260206004820152601460248201527f57652072657175697265206d6f72652067617321000000000000000000000000604482015290519081900360640190fd5b678ac7230489e800003411156102a2576040805160e560020a62461bcd02815260206004820152601b60248201527f54686520696e766573746d656e7420697320746f6f206d756368210000000000604482015290519081900360640190fd5b6102aa61063e565b6104b042016102bd6006546001016106e0565b10156102c857600080fd5b6102d233346106f0565b6102da61087b565b6102ee565b3415156102ee576102ee6109ff565b005b3480156102fc57600080fd5b50610305610ca1565b60408051918252519081900360200190f35b34801561032357600080fd5b50610305610ca7565b34801561033857600080fd5b50610305610cba565b34801561034d57600080fd5b50610305600160a060020a0360043516610cc0565b34801561036e57600080fd5b50610305610d7f565b34801561038357600080fd5b50610305610d84565b34801561039857600080fd5b50610305610d90565b3480156103ad57600080fd5b50610305610d96565b3480156103c257600080fd5b506103d7600160a060020a0360043516610d9b565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561041f578181015183820152602001610407565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561045e578181015183820152602001610446565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561049d578181015183820152602001610485565b50505050905001965050505050505060405180910390f35b3480156104c157600080fd5b50610305610f2b565b3480156104d657600080fd5b506104e2600435610f36565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b34801561051657600080fd5b5061052b600160a060020a0360043516610f8f565b60408051600f93840b90930b83526001608060020a0390911660208301528051918290030190f35b34801561055f57600080fd5b50610305610fb7565b34801561057457600080fd5b50610305610fc1565b34801561058957600080fd5b50610305600160a060020a0360043516610fc7565b3480156105aa57600080fd5b50610305611029565b3480156105bf57600080fd5b506105c861102f565b604080516001608060020a03938416815291909216602082015281519081900390910190f35b3480156105fa57600080fd5b50610603611049565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561063257600080fd5b506103056004356106e0565b6000610648610ca7565b6006549091508112156106cb576040805160e560020a62461bcd02815260206004820152602160248201527f57652073686f756c64206f6e6c7920676f20666f727761726420696e2074696d60448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60065481146106dd576106dd816110df565b50565b6145b401620151800261ef100190565b600160a060020a0382166000908152600760205260408120600654815491929182918291600f90810b900b1461074d5760065484546fffffffffffffffffffffffffffffffff19166001608060020a03600f9290920b8216171684555b66b1a2bc2ec5000085106107ad57604080518082019091526003546001608060020a039081168083524282166020909301839052600480546fffffffffffffffffffffffffffffffff1916909117909116608060020a9092029190911790555b6107b686610cc0565b92506107c886866064818702046110f3565b835460016001608060020a03608060020a8084048216929092018116909102911617845560646003860260058054929091049091019055606460028602604051919004925073db058d036768cfa9a94963f99161e3c94ad6f5da9083156108fc029084906000818181858888f15050604051606460028a0204945073da149b17c154e964456553c749b7b4998c152c9e93506108fc85150292508491506000818181858888f15050505050505050505050565b6005543031906000908190819084111561089757600554840392505b60025491505b6003548210156109f75760018054839081106108b557fe5b600091825260209091206002909102016001810154909150608060020a90046001608060020a03908116908416106109855780546001820154604051600160a060020a03909216916001608060020a03608060020a9092049190911680156108fc02916000818181858888f19350505050508060010160109054906101000a90046001608060020a03168303925060018281548110151561095257fe5b600091825260208220600290910201805473ffffffffffffffffffffffffffffffffffffffff19168155600101556109de565b8054604051600160a060020a03909116906001608060020a03851680156108fc02916000818181858888f15050506001830180546001608060020a03608060020a80830482168990038216029116179055506109f79050565b61c3505a116109ec576109f7565b60019091019061089d565b506002555050565b60045460009081908190608060020a90046001608060020a031681108015610a3f5750600454426104af1901608060020a9091046001608060020a031611155b1515610abb576040805160e560020a62461bcd02815260206004820152602760248201527f546865206c617374206465706f7369746f72206973206e6f7420636f6e66697260448201527f6d65642079657400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546002546001608060020a039091161015610b48576040805160e560020a62461bcd02815260206004820152602b60248201527f546865206c617374206465706f7369746f722073686f756c64207374696c6c2060448201527f626520696e207175657565000000000000000000000000000000000000000000606482015290519081900360840190fd5b60055430319350831015610b5c5760058390555b600554600390049150678ac7230489e80000821115610b8157678ac7230489e8000091505b620493e05a1015610c02576040805160e560020a62461bcd02815260206004820152602360248201527f5765206e6565642067617320666f72207468652066617468657220636f6e747260448201527f6163740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604051737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd8906203d0909084906000818181858888f150506005546004546001805492889003965094506001608060020a0316925082109050610c5457fe5b60009182526020822060029091020154604051600160a060020a039091169183156108fc02918491818181858888f1505060006005555050600654610c9c91506001016110df565b505050565b60035481565b6145b319620151804261ef0f1901050190565b60025481565b600160a060020a038116600090815260076020526040812081610ce1610ca7565b8254600f90810b900b1415610d0457508054608060020a90046001608060020a03165b600054811015610d43576000805482908110610d1c57fe5b60009182526020918290209181049091015460ff601f9092166101000a9004169250610d78565b600080546000198101908110610d5557fe5b60009182526020918290209181049091015460ff601f9092166101000a90041692505b5050919050565b600181565b678ac7230489e8000081565b60055481565b600281565b6060806060600080600080610daf88610fc7565b935083604051908082528060200260200182016040528015610ddb578160200160208202803883390190505b50965083604051908082528060200260200182016040528015610e08578160200160208202803883390190505b50955083604051908082528060200260200182016040528015610e35578160200160208202803883390190505b5094506000841115610f20576000925060025491505b600354821015610f20576001805483908110610e6357fe5b600091825260209091206002909102018054909150600160a060020a0389811691161415610f1557818784815181101515610e9a57fe5b60209081029091010152600181015486516001608060020a0390911690879085908110610ec357fe5b6001608060020a039283166020918202909201015260018201548651608060020a90910490911690869085908110610ef757fe5b6001608060020a039092166020928302909101909101526001909201915b816001019150610e4b565b505050509193909250565b66b1a2bc2ec5000081565b600080600080600185815481101515610f4b57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116966001608060020a038083169750608060020a909204909116945092505050565b600760205260009081526040902054600f81900b90608060020a90046001608060020a031682565b6002546003540390565b60065481565b60025460009081905b6003548110156110225783600160a060020a0316600182815481101515610ff357fe5b6000918252602090912060029091020154600160a060020a0316141561101a576001909101905b600101610fd0565b5092915050565b6104b081565b6004546001608060020a0380821691608060020a90041682565b600454600254600091829182916001608060020a03161080159061107957506003546004546001608060020a0316105b156110da576004546001805490916001608060020a031690811061109957fe5b600091825260209091206002909102018054600454600160a060020a039091169450426001608060020a03608060020a90920491909116036104b001925090505b509091565b600655600060038190556002819055600455565b6110fb6112b9565b5060408051606081018252600160a060020a03851681526001608060020a038085166020830152831691810191909152600154600354111561113957fe5b600354600154141561121457600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054600160a060020a0390931673ffffffffffffffffffffffffffffffffffffffff199093169290921790915560208201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909101805460408401516001608060020a03908116608060020a029381166fffffffffffffffffffffffffffffffff1990921691909117169190911790556112aa565b80600160035481548110151561122657fe5b600091825260209182902083516002909202018054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff1990921691909117815590820151600190910180546040909301516001608060020a03908116608060020a029281166fffffffffffffffffffffffffffffffff19909416939093179092161790555b50506003805460010190555050565b6040805160608101825260008082526020820181905291810191909152905600a165627a7a72305820280c3da032de2d41d50b8225f4e5d813d85d0e9d1164e36a628f6e97ebe6ef8a0029

Deployed Bytecode

0x60806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307fc76ad81146102f05780631dec8585146103175780632d95663b1461032c5780633257bd3214610341578063388736c9146103625780634c76361e14610377578063785fa6271461038c578063947f4ea8146103a157806394f649dd146103b657806395463041146104b55780639f9fb968146104ca578063abce62a8146103a1578063acce7dcb1461050a578063b8f7700514610553578063c040e6b814610568578063c533a5a3146103a1578063c67f7df51461057d578063d24d7d201461059e578063d72d3bde146105b3578063d895530c146105ee578063f51d401f14610626575b33737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd814806101435750640ba43b74003a11155b15156101be576040805160e560020a62461bcd028152602060048201526024808201527f47617320707269636520697320746f6f20686967682120446f206e6f7420636860448201527f6561742100000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000341180156101e2575033737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd814155b156102df5762035b605a1015610242576040805160e560020a62461bcd02815260206004820152601460248201527f57652072657175697265206d6f72652067617321000000000000000000000000604482015290519081900360640190fd5b678ac7230489e800003411156102a2576040805160e560020a62461bcd02815260206004820152601b60248201527f54686520696e766573746d656e7420697320746f6f206d756368210000000000604482015290519081900360640190fd5b6102aa61063e565b6104b042016102bd6006546001016106e0565b10156102c857600080fd5b6102d233346106f0565b6102da61087b565b6102ee565b3415156102ee576102ee6109ff565b005b3480156102fc57600080fd5b50610305610ca1565b60408051918252519081900360200190f35b34801561032357600080fd5b50610305610ca7565b34801561033857600080fd5b50610305610cba565b34801561034d57600080fd5b50610305600160a060020a0360043516610cc0565b34801561036e57600080fd5b50610305610d7f565b34801561038357600080fd5b50610305610d84565b34801561039857600080fd5b50610305610d90565b3480156103ad57600080fd5b50610305610d96565b3480156103c257600080fd5b506103d7600160a060020a0360043516610d9b565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561041f578181015183820152602001610407565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561045e578181015183820152602001610446565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561049d578181015183820152602001610485565b50505050905001965050505050505060405180910390f35b3480156104c157600080fd5b50610305610f2b565b3480156104d657600080fd5b506104e2600435610f36565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b34801561051657600080fd5b5061052b600160a060020a0360043516610f8f565b60408051600f93840b90930b83526001608060020a0390911660208301528051918290030190f35b34801561055f57600080fd5b50610305610fb7565b34801561057457600080fd5b50610305610fc1565b34801561058957600080fd5b50610305600160a060020a0360043516610fc7565b3480156105aa57600080fd5b50610305611029565b3480156105bf57600080fd5b506105c861102f565b604080516001608060020a03938416815291909216602082015281519081900390910190f35b3480156105fa57600080fd5b50610603611049565b60408051600160a060020a03909316835260208301919091528051918290030190f35b34801561063257600080fd5b506103056004356106e0565b6000610648610ca7565b6006549091508112156106cb576040805160e560020a62461bcd02815260206004820152602160248201527f57652073686f756c64206f6e6c7920676f20666f727761726420696e2074696d60448201527f6500000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60065481146106dd576106dd816110df565b50565b6145b401620151800261ef100190565b600160a060020a0382166000908152600760205260408120600654815491929182918291600f90810b900b1461074d5760065484546fffffffffffffffffffffffffffffffff19166001608060020a03600f9290920b8216171684555b66b1a2bc2ec5000085106107ad57604080518082019091526003546001608060020a039081168083524282166020909301839052600480546fffffffffffffffffffffffffffffffff1916909117909116608060020a9092029190911790555b6107b686610cc0565b92506107c886866064818702046110f3565b835460016001608060020a03608060020a8084048216929092018116909102911617845560646003860260058054929091049091019055606460028602604051919004925073db058d036768cfa9a94963f99161e3c94ad6f5da9083156108fc029084906000818181858888f15050604051606460028a0204945073da149b17c154e964456553c749b7b4998c152c9e93506108fc85150292508491506000818181858888f15050505050505050505050565b6005543031906000908190819084111561089757600554840392505b60025491505b6003548210156109f75760018054839081106108b557fe5b600091825260209091206002909102016001810154909150608060020a90046001608060020a03908116908416106109855780546001820154604051600160a060020a03909216916001608060020a03608060020a9092049190911680156108fc02916000818181858888f19350505050508060010160109054906101000a90046001608060020a03168303925060018281548110151561095257fe5b600091825260208220600290910201805473ffffffffffffffffffffffffffffffffffffffff19168155600101556109de565b8054604051600160a060020a03909116906001608060020a03851680156108fc02916000818181858888f15050506001830180546001608060020a03608060020a80830482168990038216029116179055506109f79050565b61c3505a116109ec576109f7565b60019091019061089d565b506002555050565b60045460009081908190608060020a90046001608060020a031681108015610a3f5750600454426104af1901608060020a9091046001608060020a031611155b1515610abb576040805160e560020a62461bcd02815260206004820152602760248201527f546865206c617374206465706f7369746f72206973206e6f7420636f6e66697260448201527f6d65642079657400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6004546002546001608060020a039091161015610b48576040805160e560020a62461bcd02815260206004820152602b60248201527f546865206c617374206465706f7369746f722073686f756c64207374696c6c2060448201527f626520696e207175657565000000000000000000000000000000000000000000606482015290519081900360840190fd5b60055430319350831015610b5c5760058390555b600554600390049150678ac7230489e80000821115610b8157678ac7230489e8000091505b620493e05a1015610c02576040805160e560020a62461bcd02815260206004820152602360248201527f5765206e6565642067617320666f72207468652066617468657220636f6e747260448201527f6163740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604051737cdfa222f37f5c4cce49b3bbfc415e8c911d1cd8906203d0909084906000818181858888f150506005546004546001805492889003965094506001608060020a0316925082109050610c5457fe5b60009182526020822060029091020154604051600160a060020a039091169183156108fc02918491818181858888f1505060006005555050600654610c9c91506001016110df565b505050565b60035481565b6145b319620151804261ef0f1901050190565b60025481565b600160a060020a038116600090815260076020526040812081610ce1610ca7565b8254600f90810b900b1415610d0457508054608060020a90046001608060020a03165b600054811015610d43576000805482908110610d1c57fe5b60009182526020918290209181049091015460ff601f9092166101000a9004169250610d78565b600080546000198101908110610d5557fe5b60009182526020918290209181049091015460ff601f9092166101000a90041692505b5050919050565b600181565b678ac7230489e8000081565b60055481565b600281565b6060806060600080600080610daf88610fc7565b935083604051908082528060200260200182016040528015610ddb578160200160208202803883390190505b50965083604051908082528060200260200182016040528015610e08578160200160208202803883390190505b50955083604051908082528060200260200182016040528015610e35578160200160208202803883390190505b5094506000841115610f20576000925060025491505b600354821015610f20576001805483908110610e6357fe5b600091825260209091206002909102018054909150600160a060020a0389811691161415610f1557818784815181101515610e9a57fe5b60209081029091010152600181015486516001608060020a0390911690879085908110610ec357fe5b6001608060020a039283166020918202909201015260018201548651608060020a90910490911690869085908110610ef757fe5b6001608060020a039092166020928302909101909101526001909201915b816001019150610e4b565b505050509193909250565b66b1a2bc2ec5000081565b600080600080600185815481101515610f4b57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116966001608060020a038083169750608060020a909204909116945092505050565b600760205260009081526040902054600f81900b90608060020a90046001608060020a031682565b6002546003540390565b60065481565b60025460009081905b6003548110156110225783600160a060020a0316600182815481101515610ff357fe5b6000918252602090912060029091020154600160a060020a0316141561101a576001909101905b600101610fd0565b5092915050565b6104b081565b6004546001608060020a0380821691608060020a90041682565b600454600254600091829182916001608060020a03161080159061107957506003546004546001608060020a0316105b156110da576004546001805490916001608060020a031690811061109957fe5b600091825260209091206002909102018054600454600160a060020a039091169450426001608060020a03608060020a90920491909116036104b001925090505b509091565b600655600060038190556002819055600455565b6110fb6112b9565b5060408051606081018252600160a060020a03851681526001608060020a038085166020830152831691810191909152600154600354111561113957fe5b600354600154141561121457600180548082018255600091909152815160029091027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054600160a060020a0390931673ffffffffffffffffffffffffffffffffffffffff199093169290921790915560208201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7909101805460408401516001608060020a03908116608060020a029381166fffffffffffffffffffffffffffffffff1990921691909117169190911790556112aa565b80600160035481548110151561122657fe5b600091825260209182902083516002909202018054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff1990921691909117815590820151600190910180546040909301516001608060020a03908116608060020a029281166fffffffffffffffffffffffffffffffff19909416939093179092161790555b50506003805460010190555050565b6040805160608101825260008082526020820181905291810191909152905600a165627a7a72305820280c3da032de2d41d50b8225f4e5d813d85d0e9d1164e36a628f6e97ebe6ef8a0029

Swarm Source

bzzr://280c3da032de2d41d50b8225f4e5d813d85d0e9d1164e36a628f6e97ebe6ef8a

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.