ETH Price: $4,015.68 (-0.35%)
Gas: 0.14 GWei

Contract

0xC91025959076f6F05ED822200d3162BaF61e9eD9

Overview

ETH Balance

Scroll LogoScroll LogoScroll Logo0.000880000000000001 ETH

ETH Value

$3.53 (@ $4,015.68/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Get Free Ticket114897072024-11-29 1:08:348 days ago1732842514IN
0xC9102595...aF61e9eD9
0 ETH0.000003010.04
Get Free Ticket113941892024-11-25 15:14:4312 days ago1732547683IN
0xC9102595...aF61e9eD9
0 ETH0.00006180.054124
Get Free Ticket113635092024-11-24 12:46:4113 days ago1732452401IN
0xC9102595...aF61e9eD9
0 ETH0.000015760.05773734
Get Free Ticket113634062024-11-24 12:41:3213 days ago1732452092IN
0xC9102595...aF61e9eD9
0 ETH0.0000130.05874743
Get Free Ticket113627492024-11-24 12:08:4413 days ago1732450124IN
0xC9102595...aF61e9eD9
0 ETH0.000008240.04419808
Get Free Ticket113464792024-11-23 21:28:2513 days ago1732397305IN
0xC9102595...aF61e9eD9
0 ETH0.000007450.04072847
Get Free Ticket113350822024-11-23 11:38:0514 days ago1732361885IN
0xC9102595...aF61e9eD9
0 ETH0.000007460.04078569
Get Free Ticket113183862024-11-22 20:25:5415 days ago1732307154IN
0xC9102595...aF61e9eD9
0 ETH0.000008820.04119656
Get Free Ticket113072282024-11-22 10:42:5515 days ago1732272175IN
0xC9102595...aF61e9eD9
0 ETH0.000012480.08230653
Get Free Ticket113067332024-11-22 10:17:5615 days ago1732270676IN
0xC9102595...aF61e9eD9
0 ETH0.00001660.13742016
Get Free Ticket112909892024-11-21 20:23:4416 days ago1732220624IN
0xC9102595...aF61e9eD9
0 ETH0.000029330.24695516
Get Free Ticket112901772024-11-21 19:41:3416 days ago1732218094IN
0xC9102595...aF61e9eD9
0 ETH0.000020750.10844139
Get Free Ticket112895702024-11-21 19:10:3316 days ago1732216233IN
0xC9102595...aF61e9eD9
0 ETH0.000022260.09
Get Free Ticket112893312024-11-21 18:58:2216 days ago1732215502IN
0xC9102595...aF61e9eD9
0 ETH0.000019620.10837146
Get Free Ticket112889582024-11-21 18:39:2616 days ago1732214366IN
0xC9102595...aF61e9eD9
0 ETH0.000024210.17
Get Free Ticket112888542024-11-21 18:34:0116 days ago1732214041IN
0xC9102595...aF61e9eD9
0 ETH0.000014040.04310598
Get Free Ticket112846792024-11-21 15:01:4316 days ago1732201303IN
0xC9102595...aF61e9eD9
0 ETH0.000016620.04399701
Get Free Ticket112765992024-11-21 8:04:4916 days ago1732176289IN
0xC9102595...aF61e9eD9
0 ETH0.000013220.10958171
Get Free Ticket112610892024-11-20 17:45:1717 days ago1732124717IN
0xC9102595...aF61e9eD9
0 ETH0.000011890.04234785
Get Free Ticket112261572024-11-19 11:11:4318 days ago1732014703IN
0xC9102595...aF61e9eD9
0 ETH0.000012590.09110003
Get Free Ticket112058982024-11-18 17:39:3719 days ago1731951577IN
0xC9102595...aF61e9eD9
0 ETH0.000016180.07
Get Free Ticket112051772024-11-18 17:02:5519 days ago1731949375IN
0xC9102595...aF61e9eD9
0 ETH0.000020130.12
Get Free Ticket112036452024-11-18 15:45:4719 days ago1731944747IN
0xC9102595...aF61e9eD9
0 ETH0.000013770.07
Get Free Ticket112016032024-11-18 14:03:0919 days ago1731938589IN
0xC9102595...aF61e9eD9
0 ETH0.000009930.04157402
Get Free Ticket112013422024-11-18 13:50:0519 days ago1731937805IN
0xC9102595...aF61e9eD9
0 ETH0.000006940.04496704
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
113941892024-11-25 15:14:4312 days ago1732547683
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795272024-10-27 16:19:0141 days ago1730045941
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
105795242024-10-27 16:18:5241 days ago1730045932
0xC9102595...aF61e9eD9
0.00001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FreeTimerOnChainWinMultipleWinners

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 1000 runs

Other Settings:
paris EvmVersion
File 1 of 2 : AdetSecmeliPartnership.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

// \\
// Created by Clodron
// If you want to create a new project, please contact me @
// [email protected]
// \\

contract FreeTimerOnChainWinMultipleWinners is ReentrancyGuard {
    address public owner;
    mapping(address => bool) public hasEntered;
    address[] public players;
    mapping(address => uint256) public playerIndexes;
    address[] public winnerAddresses;
    mapping(address => uint256) public winnerWins;
    bool public raffleStatus;
    uint256 public prizeAmount;
    uint256 public raffleEndTime;
    uint256 public ticketsSoldThisRound;
    uint256 public numberOfWinners;
    uint256 private raffleStartDuration;

    event NewEntry(address indexed player, uint256 numberOfEntries);
    event RaffleStarted(
        uint256 prizeAmount,
        uint256 endTime,
        uint256 numberOfWinners
    );
    event RaffleEnded();
    event WinnerSelected(address winner, uint256 prizeAmount);

    modifier onlyOwner() {
        require(msg.sender == owner, "Just owner.");
        _;
    }

    constructor() {
        owner = msg.sender;
        raffleStatus = false;
        ticketsSoldThisRound = 0;
    }

    // Raffle başlatılıyor, kazanan sayısı her çekilişte belirleniyor
    function startRaffle(
        uint256 _prizeAmount,
        uint256 _duration,
        uint256 _numberOfWinners
    ) public onlyOwner {
        require(!raffleStatus, "Raffle already started.");
        require(_prizeAmount > 0, "Prize amount must be greater than 0!");
        require(_prizeAmount <= address(this).balance, "Not enough balance!");
        require(
            _numberOfWinners > 0,
            "Number of winners must be greater than 0."
        );

        prizeAmount = _prizeAmount;
        numberOfWinners = _numberOfWinners;
        raffleStatus = true;
        raffleEndTime = block.timestamp + (_duration * 1 minutes);
        raffleStartDuration = _duration;
        emit RaffleStarted(_prizeAmount, raffleEndTime, _numberOfWinners);
    }

    // Oyuncular ücretsiz bilet alabilir, bilet sayısı kazanan sayısına göre kontrol edilir
    function getFreeTicket() public {
        require(raffleStatus, "Raffle is not started.");
        require(
            !hasEntered[msg.sender],
            "You have already claimed your free ticket."
        );

        players.push(msg.sender);
        hasEntered[msg.sender] = true;
        ticketsSoldThisRound += 1;
        emit NewEntry(msg.sender, ticketsSoldThisRound);

        // Yeterli katılımcı varsa ve süre dolmuşsa çekilişi başlat
        if (getRemainingTimeSec() == 0 && players.length >= numberOfWinners) {
            selectWinners();
        }
    }

    // Çekiliş süresi bitmişse ve yeterli katılımcı varsa kazananlar belirlenir
    function tryEndRaffle() public onlyOwner nonReentrant {
        require(raffleStatus, "Raffle is not started yet.");
        require(
            block.timestamp > raffleEndTime,
            "Raffle period has not ended yet!"
        );
        require(players.length > 0, "No players in raffle.");
        require(
            players.length >= numberOfWinners,
            "Not enough players to select winners."
        );

        selectWinners();
    }

    // Kazananlar seçilir ve ödül eşit şekilde dağıtılır
    function selectWinners() private {
        uint256 prizePerWinner = prizeAmount / numberOfWinners;

        for (uint256 i = 0; i < numberOfWinners; i++) {
            uint256 winnerIndex = random() % players.length;
            address winner = players[winnerIndex];
            winnerAddresses.push(winner);
            payable(winner).transfer(prizePerWinner);
            winnerWins[winner] += 1;
            emit WinnerSelected(winner, prizePerWinner);
            removePlayer(winnerIndex); // Kazananı listeden çıkar ki tekrar kazanmasın
        }

        endRaffle();
    }

    // Oyuncu listeden çıkarılır ve "hasEntered" güncellenir
    function removePlayer(uint256 index) private {
        if (index >= players.length) return;

        hasEntered[players[index]] = false;
        players[index] = players[players.length - 1];
        playerIndexes[players[index]] = index;
        players.pop();
    }

    // Çekiliş sert sıfırlama yapılabilir, tüm ayarlar sıfırlanır
    function hardReset() public onlyOwner {
        endRaffle();
    }

    // Çekilişi bitirir ve tüm ayarları sıfırlar
    function endRaffle() private {
        raffleStatus = false;
        for (uint256 i = 0; i < players.length; i++) {
            hasEntered[players[i]] = false;
        }
        delete players;
        prizeAmount = 0;
        ticketsSoldThisRound = 0;
        emit RaffleEnded();
        delete winnerAddresses;
    }

    // Rastgele kazanan seçimi için basit bir "random" fonksiyonu
    function random() private view returns (uint256) {
        return
            uint256(
                keccak256(
                    abi.encodePacked(
                        block.timestamp,
                        block.prevrandao,
                        players.length
                    )
                )
            );
    }

    // Başlangıç bakiyesi yatırılır
    function initialDeposit() public payable onlyOwner nonReentrant {
        require(msg.value > 0, "Deposit must be greater than 0");
    }

    // Kontrat sahibine bakiyeyi çeker
    function withdrawFunds() public payable onlyOwner nonReentrant {
        require(!raffleStatus, "Cannot withdraw before raffle has ended.");
        require(address(this).balance > 0, "No funds to withdraw");
        payable(owner).transfer(address(this).balance);
    }

    // Kazananları sorgulamak için
    function getWinnerByIndex(
        uint256 index
    ) public view returns (address, uint256) {
        address winnerAddress = winnerAddresses[index];
        return (winnerAddress, winnerWins[winnerAddress]);
    }

    // Toplam kaç kazanan olduğunu döner
    function getTotalWinners() public view returns (uint256) {
        return winnerAddresses.length;
    }

    // Kalan zamanı saniye cinsinden döner
    function getRemainingTimeSec() public view returns (uint256) {
        if (block.timestamp >= raffleEndTime || !raffleStatus) {
            return 0;
        } else {
            return raffleEndTime - block.timestamp;
        }
    }

    // Kalan zamanı dakika cinsinden döner
    function getRemainingTimeMin() public view returns (uint256) {
        if (block.timestamp >= raffleEndTime || !raffleStatus) {
            return 0;
        } else {
            uint256 remainingTimeInSeconds = raffleEndTime - block.timestamp;
            return remainingTimeInSeconds / 1 minutes;
        }
    }

    // Kalan zamanı saat cinsinden döner
    function getRemainingTimeHour() public view returns (uint256) {
        if (block.timestamp >= raffleEndTime || !raffleStatus) {
            return 0;
        } else {
            uint256 remainingTimeInSeconds = raffleEndTime - block.timestamp;
            return remainingTimeInSeconds / 1 hours;
        }
    }

    // Raffle'ın başlangıç süresini döner
    function getRaffleStartDuration() public view returns (uint256) {
        return raffleStartDuration;
    }

    // Kontrat bakiyesini sorgular
    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }
}

File 2 of 2 : ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be _NOT_ENTERED
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
     * `nonReentrant` function in the call stack.
     */
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == _ENTERED;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1000
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"numberOfEntries","type":"uint256"}],"name":"NewEntry","type":"event"},{"anonymous":false,"inputs":[],"name":"RaffleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"prizeAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfWinners","type":"uint256"}],"name":"RaffleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"prizeAmount","type":"uint256"}],"name":"WinnerSelected","type":"event"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFreeTicket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRaffleStartDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeHour","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingTimeSec","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalWinners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getWinnerByIndex","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardReset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasEntered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"numberOfWinners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerIndexes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"players","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prizeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raffleEndTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"raffleStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_prizeAmount","type":"uint256"},{"internalType":"uint256","name":"_duration","type":"uint256"},{"internalType":"uint256","name":"_numberOfWinners","type":"uint256"}],"name":"startRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ticketsSoldThisRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tryEndRaffle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"winnerAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"winnerWins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b506001600081815581546001600160a01b03191633179091556007805460ff19169055600a55611351806100456000396000f3fe60806040526004361061018b5760003560e01c80636f9fb98a116100d6578063adc1ce8d1161007f578063e037f88911610059578063e037f88914610416578063f71d96cb1461041e578063fabc71fb1461043e57600080fd5b8063adc1ce8d146103d2578063ccfa213e146103e7578063ceeca9841461040157600080fd5b80638da5cb5b116100b05780638da5cb5b1461037057806391628795146103905780639819ae5b146103bd57600080fd5b80636f9fb98a14610331578063785fa627146103445780638acfaca91461035a57600080fd5b806324600fc31161013857806346c77d821161011257806346c77d82146102e75780635b432997146103075780635c0ee5561461031c57600080fd5b806324600fc31461027057806324d70dea1461027a57806335abbbf3146102ba57600080fd5b806318a32e701161016957806318a32e70146102305780631c0694f7146102465780631da7aa361461025b57600080fd5b806303e1be3214610190578063045f9c97146101b95780630609ff67146101f1575b600080fd5b34801561019c57600080fd5b506101a6600a5481565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046111e3565b610453565b6040516001600160a01b0390911681526020016101b0565b3480156101fd57600080fd5b5061021161020c3660046111e3565b61047d565b604080516001600160a01b0390931683526020830191909152016101b0565b34801561023c57600080fd5b506101a660095481565b34801561025257600080fd5b506101a66104c5565b34801561026757600080fd5b506101a66104f9565b61027861053d565b005b34801561028657600080fd5b506102aa6102953660046111fc565b60026020526000908152604090205460ff1681565b60405190151581526020016101b0565b3480156102c657600080fd5b506101a66102d53660046111fc565b60066020526000908152604090205481565b3480156102f357600080fd5b5061027861030236600461122c565b6106a1565b34801561031357600080fd5b506102786108f3565b34801561032857600080fd5b50610278610943565b34801561033d57600080fd5b50476101a6565b34801561035057600080fd5b506101a660085481565b34801561036657600080fd5b506101a6600b5481565b34801561037c57600080fd5b506001546101d9906001600160a01b031681565b34801561039c57600080fd5b506101a66103ab3660046111fc565b60046020526000908152604090205481565b3480156103c957600080fd5b50610278610b11565b3480156103de57600080fd5b506101a6610cc4565b3480156103f357600080fd5b506007546102aa9060ff1681565b34801561040d57600080fd5b506005546101a6565b610278610d03565b34801561042a57600080fd5b506101d96104393660046111e3565b610da3565b34801561044a57600080fd5b50600c546101a6565b6005818154811061046357600080fd5b6000918252602090912001546001600160a01b0316905081565b60008060006005848154811061049557610495611258565b60009182526020808320909101546001600160a01b03168083526006909152604090912054909590945092505050565b6000600954421015806104db575060075460ff16155b156104e65750600090565b426009546104f49190611284565b905090565b60006009544210158061050f575060075460ff16155b1561051a5750600090565b60004260095461052a9190611284565b9050610537603c826112b3565b91505090565b6001546001600160a01b0316331461058a5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064015b60405180910390fd5b610592610db3565b60075460ff161561060b5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207769746864726177206265666f726520726166666c6520686160448201527f7320656e6465642e0000000000000000000000000000000000000000000000006064820152608401610581565b6000471161065b5760405162461bcd60e51b815260206004820152601460248201527f4e6f2066756e647320746f2077697468647261770000000000000000000000006044820152606401610581565b6001546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610694573d6000803e3d6000fd5b5061069f6001600055565b565b6001546001600160a01b031633146106e95760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b60075460ff161561073c5760405162461bcd60e51b815260206004820152601760248201527f526166666c6520616c726561647920737461727465642e0000000000000000006044820152606401610581565b600083116107b15760405162461bcd60e51b8152602060048201526024808201527f5072697a6520616d6f756e74206d75737420626520677265617465722074686160448201527f6e203021000000000000000000000000000000000000000000000000000000006064820152608401610581565b478311156108015760405162461bcd60e51b815260206004820152601360248201527f4e6f7420656e6f7567682062616c616e636521000000000000000000000000006044820152606401610581565b600081116108775760405162461bcd60e51b815260206004820152602960248201527f4e756d626572206f662077696e6e657273206d7573742062652067726561746560448201527f72207468616e20302e00000000000000000000000000000000000000000000006064820152608401610581565b6008839055600b8190556007805460ff1916600117905561089982603c6112c7565b6108a390426112de565b6009819055600c83905560408051858152602081019290925281018290527fd77e9fb5adec906a299609760bda7e7f98611d152b22cd9659b9846ea305b83d9060600160405180910390a1505050565b6001546001600160a01b0316331461093b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b61069f610e0c565b6001546001600160a01b0316331461098b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b610993610db3565b60075460ff166109e55760405162461bcd60e51b815260206004820152601a60248201527f526166666c65206973206e6f742073746172746564207965742e0000000000006044820152606401610581565b6009544211610a365760405162461bcd60e51b815260206004820181905260248201527f526166666c6520706572696f6420686173206e6f7420656e64656420796574216044820152606401610581565b600354610a855760405162461bcd60e51b815260206004820152601560248201527f4e6f20706c617965727320696e20726166666c652e00000000000000000000006044820152606401610581565b600b546003541015610aff5760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f75676820706c617965727320746f2073656c6563742077696e60448201527f6e6572732e0000000000000000000000000000000000000000000000000000006064820152608401610581565b610b07610ec4565b61069f6001600055565b60075460ff16610b635760405162461bcd60e51b815260206004820152601660248201527f526166666c65206973206e6f7420737461727465642e000000000000000000006044820152606401610581565b3360009081526002602052604090205460ff1615610be95760405162461bcd60e51b815260206004820152602a60248201527f596f75206861766520616c726561647920636c61696d656420796f757220667260448201527f6565207469636b65742e000000000000000000000000000000000000000000006064820152608401610581565b6003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff1916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610c619084906112de565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2610ca66104c5565b158015610cb75750600b5460035410155b1561069f5761069f610ec4565b600060095442101580610cda575060075460ff16155b15610ce55750600090565b600042600954610cf59190611284565b9050610537610e10826112b3565b6001546001600160a01b03163314610d4b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b610d53610db3565b60003411610b075760405162461bcd60e51b815260206004820152601e60248201527f4465706f736974206d7573742062652067726561746572207468616e203000006044820152606401610581565b6003818154811061046357600080fd5b600260005403610e055760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610581565b6002600055565b6007805460ff1916905560005b600354811015610e785760006002600060038481548110610e3c57610e3c611258565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610e19565b50610e85600360006111b1565b60006008819055600a8190556040517f502fd88d3ee98597d4546d25e71901684f153dccc5308b79f0f9ad3c660537a69190a161069f600560006111b1565b6000600b54600854610ed691906112b3565b905060005b600b54811015611052576003546040805142602080830191909152448284015260608083018590528351808403909101815260809092019092528051910120600091610f26916112f1565b9050600060038281548110610f3d57610f3d611258565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169182179055604051909250829186156108fc02918791818181858888f19350505050158015610fce573d6000803e3d6000fd5b506001600160a01b0381166000908152600660205260408120805460019290610ff89084906112de565b9091555050604080516001600160a01b0383168152602081018690527f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb910160405180910390a16110488261105e565b5050600101610edb565b5061105b610e0c565b50565b600354811061106a5750565b6000600260006003848154811061108357611083611258565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600380546110c790600190611284565b815481106110d7576110d7611258565b600091825260209091200154600380546001600160a01b03909216918390811061110357611103611258565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600460006003848154811061114957611149611258565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600380548061117f5761117f611305565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905550565b508054600082559060005260206000209081019061105b91905b808211156111df57600081556001016111cb565b5090565b6000602082840312156111f557600080fd5b5035919050565b60006020828403121561120e57600080fd5b81356001600160a01b038116811461122557600080fd5b9392505050565b60008060006060848603121561124157600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156112975761129761126e565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826112c2576112c261129d565b500490565b80820281158282048414176112975761129761126e565b808201808211156112975761129761126e565b6000826113005761130061129d565b500690565b634e487b7160e01b600052603160045260246000fdfea26469706673582212204df865a0e3efb1c970c65f3a90b1e1e57acc62c88722f84823796370d3e3134964736f6c63430008180033

Deployed Bytecode

0x60806040526004361061018b5760003560e01c80636f9fb98a116100d6578063adc1ce8d1161007f578063e037f88911610059578063e037f88914610416578063f71d96cb1461041e578063fabc71fb1461043e57600080fd5b8063adc1ce8d146103d2578063ccfa213e146103e7578063ceeca9841461040157600080fd5b80638da5cb5b116100b05780638da5cb5b1461037057806391628795146103905780639819ae5b146103bd57600080fd5b80636f9fb98a14610331578063785fa627146103445780638acfaca91461035a57600080fd5b806324600fc31161013857806346c77d821161011257806346c77d82146102e75780635b432997146103075780635c0ee5561461031c57600080fd5b806324600fc31461027057806324d70dea1461027a57806335abbbf3146102ba57600080fd5b806318a32e701161016957806318a32e70146102305780631c0694f7146102465780631da7aa361461025b57600080fd5b806303e1be3214610190578063045f9c97146101b95780630609ff67146101f1575b600080fd5b34801561019c57600080fd5b506101a6600a5481565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d43660046111e3565b610453565b6040516001600160a01b0390911681526020016101b0565b3480156101fd57600080fd5b5061021161020c3660046111e3565b61047d565b604080516001600160a01b0390931683526020830191909152016101b0565b34801561023c57600080fd5b506101a660095481565b34801561025257600080fd5b506101a66104c5565b34801561026757600080fd5b506101a66104f9565b61027861053d565b005b34801561028657600080fd5b506102aa6102953660046111fc565b60026020526000908152604090205460ff1681565b60405190151581526020016101b0565b3480156102c657600080fd5b506101a66102d53660046111fc565b60066020526000908152604090205481565b3480156102f357600080fd5b5061027861030236600461122c565b6106a1565b34801561031357600080fd5b506102786108f3565b34801561032857600080fd5b50610278610943565b34801561033d57600080fd5b50476101a6565b34801561035057600080fd5b506101a660085481565b34801561036657600080fd5b506101a6600b5481565b34801561037c57600080fd5b506001546101d9906001600160a01b031681565b34801561039c57600080fd5b506101a66103ab3660046111fc565b60046020526000908152604090205481565b3480156103c957600080fd5b50610278610b11565b3480156103de57600080fd5b506101a6610cc4565b3480156103f357600080fd5b506007546102aa9060ff1681565b34801561040d57600080fd5b506005546101a6565b610278610d03565b34801561042a57600080fd5b506101d96104393660046111e3565b610da3565b34801561044a57600080fd5b50600c546101a6565b6005818154811061046357600080fd5b6000918252602090912001546001600160a01b0316905081565b60008060006005848154811061049557610495611258565b60009182526020808320909101546001600160a01b03168083526006909152604090912054909590945092505050565b6000600954421015806104db575060075460ff16155b156104e65750600090565b426009546104f49190611284565b905090565b60006009544210158061050f575060075460ff16155b1561051a5750600090565b60004260095461052a9190611284565b9050610537603c826112b3565b91505090565b6001546001600160a01b0316331461058a5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b60448201526064015b60405180910390fd5b610592610db3565b60075460ff161561060b5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f74207769746864726177206265666f726520726166666c6520686160448201527f7320656e6465642e0000000000000000000000000000000000000000000000006064820152608401610581565b6000471161065b5760405162461bcd60e51b815260206004820152601460248201527f4e6f2066756e647320746f2077697468647261770000000000000000000000006044820152606401610581565b6001546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610694573d6000803e3d6000fd5b5061069f6001600055565b565b6001546001600160a01b031633146106e95760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b60075460ff161561073c5760405162461bcd60e51b815260206004820152601760248201527f526166666c6520616c726561647920737461727465642e0000000000000000006044820152606401610581565b600083116107b15760405162461bcd60e51b8152602060048201526024808201527f5072697a6520616d6f756e74206d75737420626520677265617465722074686160448201527f6e203021000000000000000000000000000000000000000000000000000000006064820152608401610581565b478311156108015760405162461bcd60e51b815260206004820152601360248201527f4e6f7420656e6f7567682062616c616e636521000000000000000000000000006044820152606401610581565b600081116108775760405162461bcd60e51b815260206004820152602960248201527f4e756d626572206f662077696e6e657273206d7573742062652067726561746560448201527f72207468616e20302e00000000000000000000000000000000000000000000006064820152608401610581565b6008839055600b8190556007805460ff1916600117905561089982603c6112c7565b6108a390426112de565b6009819055600c83905560408051858152602081019290925281018290527fd77e9fb5adec906a299609760bda7e7f98611d152b22cd9659b9846ea305b83d9060600160405180910390a1505050565b6001546001600160a01b0316331461093b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b61069f610e0c565b6001546001600160a01b0316331461098b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b610993610db3565b60075460ff166109e55760405162461bcd60e51b815260206004820152601a60248201527f526166666c65206973206e6f742073746172746564207965742e0000000000006044820152606401610581565b6009544211610a365760405162461bcd60e51b815260206004820181905260248201527f526166666c6520706572696f6420686173206e6f7420656e64656420796574216044820152606401610581565b600354610a855760405162461bcd60e51b815260206004820152601560248201527f4e6f20706c617965727320696e20726166666c652e00000000000000000000006044820152606401610581565b600b546003541015610aff5760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f75676820706c617965727320746f2073656c6563742077696e60448201527f6e6572732e0000000000000000000000000000000000000000000000000000006064820152608401610581565b610b07610ec4565b61069f6001600055565b60075460ff16610b635760405162461bcd60e51b815260206004820152601660248201527f526166666c65206973206e6f7420737461727465642e000000000000000000006044820152606401610581565b3360009081526002602052604090205460ff1615610be95760405162461bcd60e51b815260206004820152602a60248201527f596f75206861766520616c726561647920636c61696d656420796f757220667260448201527f6565207469636b65742e000000000000000000000000000000000000000000006064820152608401610581565b6003805460018181019092557fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff1916339081179091556000908152600260205260408120805460ff191683179055600a8054909190610c619084906112de565b9091555050600a5460405190815233907f9d5cf8d6fc62210bab9630b8d613c1b63d9cfe0e0d2d70dda538d69c7e4f37ba9060200160405180910390a2610ca66104c5565b158015610cb75750600b5460035410155b1561069f5761069f610ec4565b600060095442101580610cda575060075460ff16155b15610ce55750600090565b600042600954610cf59190611284565b9050610537610e10826112b3565b6001546001600160a01b03163314610d4b5760405162461bcd60e51b815260206004820152600b60248201526a253ab9ba1037bbb732b91760a91b6044820152606401610581565b610d53610db3565b60003411610b075760405162461bcd60e51b815260206004820152601e60248201527f4465706f736974206d7573742062652067726561746572207468616e203000006044820152606401610581565b6003818154811061046357600080fd5b600260005403610e055760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610581565b6002600055565b6007805460ff1916905560005b600354811015610e785760006002600060038481548110610e3c57610e3c611258565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610e19565b50610e85600360006111b1565b60006008819055600a8190556040517f502fd88d3ee98597d4546d25e71901684f153dccc5308b79f0f9ad3c660537a69190a161069f600560006111b1565b6000600b54600854610ed691906112b3565b905060005b600b54811015611052576003546040805142602080830191909152448284015260608083018590528351808403909101815260809092019092528051910120600091610f26916112f1565b9050600060038281548110610f3d57610f3d611258565b6000918252602082200154600580546001810182559083527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169182179055604051909250829186156108fc02918791818181858888f19350505050158015610fce573d6000803e3d6000fd5b506001600160a01b0381166000908152600660205260408120805460019290610ff89084906112de565b9091555050604080516001600160a01b0383168152602081018690527f75060f9e79552df167b73353fee6237a75bb5ba8ea022f77224e32f152138bcb910160405180910390a16110488261105e565b5050600101610edb565b5061105b610e0c565b50565b600354811061106a5750565b6000600260006003848154811061108357611083611258565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600380546110c790600190611284565b815481106110d7576110d7611258565b600091825260209091200154600380546001600160a01b03909216918390811061110357611103611258565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600460006003848154811061114957611149611258565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600380548061117f5761117f611305565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff1916905501905550565b508054600082559060005260206000209081019061105b91905b808211156111df57600081556001016111cb565b5090565b6000602082840312156111f557600080fd5b5035919050565b60006020828403121561120e57600080fd5b81356001600160a01b038116811461122557600080fd5b9392505050565b60008060006060848603121561124157600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156112975761129761126e565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826112c2576112c261129d565b500490565b80820281158282048414176112975761129761126e565b808201808211156112975761129761126e565b6000826113005761130061129d565b500690565b634e487b7160e01b600052603160045260246000fdfea26469706673582212204df865a0e3efb1c970c65f3a90b1e1e57acc62c88722f84823796370d3e3134964736f6c63430008180033

Block Transaction Gas Used Reward
view all blocks sequenced

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
[ 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.