ETH Price: $2,769.29 (+5.52%)

Contract

0x486C2816703B3D76BB77ab72711646f4E83d6c10
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Raffle91636412019-12-26 2:19:271702 days ago1577326767IN
0x486C2816...4E83d6c10
0.007125 ETH0.000025811.1
Add Listing86051072019-09-23 11:18:121796 days ago1569237492IN
0x486C2816...4E83d6c10
0 ETH0.0004506420
Cancel Listing86051042019-09-23 11:17:221796 days ago1569237442IN
0x486C2816...4E83d6c10
0 ETH0.0004014514
Set Paused85976582019-09-22 7:27:261797 days ago1569137246IN
0x486C2816...4E83d6c10
0 ETH0.0005438220
Withdraw Funds85973602019-09-22 6:20:291797 days ago1569133229IN
0x486C2816...4E83d6c10
0 ETH0.0003003410
Add Listing85969282019-09-22 4:41:471797 days ago1569127307IN
0x486C2816...4E83d6c10
0 ETH0.000572785
Add Listing85968372019-09-22 4:19:301797 days ago1569125970IN
0x486C2816...4E83d6c10
0 ETH0.001005798.775
Add Listing85963822019-09-22 2:36:591797 days ago1569119819IN
0x486C2816...4E83d6c10
0 ETH0.000572785
Cancel Listing85963692019-09-22 2:32:371797 days ago1569119557IN
0x486C2816...4E83d6c10
0 ETH0.000143375
Add Listing85962912019-09-22 2:14:041797 days ago1569118444IN
0x486C2816...4E83d6c10
0 ETH0.000572785
Cancel Listing85962672019-09-22 2:09:001797 days ago1569118140IN
0x486C2816...4E83d6c10
0 ETH0.000143375
Add Listing85961942019-09-22 1:53:191797 days ago1569117199IN
0x486C2816...4E83d6c10
0 ETH0.000343663
Add Listing85960092019-09-22 1:11:251797 days ago1569114685IN
0x486C2816...4E83d6c10
0 ETH0.000286552.5
Buy Raffle85959032019-09-22 0:47:311797 days ago1569113251IN
0x486C2816...4E83d6c10
1.668968 ETH0.000836864.5
Cancel Listing85958652019-09-22 0:39:031797 days ago1569112743IN
0x486C2816...4E83d6c10
0 ETH0.000129034.5
Buy Raffle85958442019-09-22 0:34:091797 days ago1569112449IN
0x486C2816...4E83d6c10
0.1422267 ETH0.000062061.46875
Buy Raffle85958442019-09-22 0:34:091797 days ago1569112449IN
0x486C2816...4E83d6c10
0.1422267 ETH0.000370361.46875
Cancel Listing85955402019-09-21 23:24:001797 days ago1569108240IN
0x486C2816...4E83d6c10
0 ETH0.00011474
Add Listing85955142019-09-21 23:16:301797 days ago1569107790IN
0x486C2816...4E83d6c10
0 ETH0.0012601111
Buy Raffle85954832019-09-21 23:08:371797 days ago1569107317IN
0x486C2816...4E83d6c10
0.215017 ETH0.0022903311.4
Add Listing85953392019-09-21 22:35:401797 days ago1569105340IN
0x486C2816...4E83d6c10
0 ETH0.0012601111
Cancel Listing85953392019-09-21 22:35:401797 days ago1569105340IN
0x486C2816...4E83d6c10
0 ETH0.0003154211
Add Listing85950482019-09-21 21:29:151797 days ago1569101355IN
0x486C2816...4E83d6c10
0 ETH0.0012601111
Add Listing85947772019-09-21 20:25:541798 days ago1569097554IN
0x486C2816...4E83d6c10
0 ETH0.0013754412
Add Listing85945482019-09-21 19:40:381798 days ago1569094838IN
0x486C2816...4E83d6c10
0 ETH0.0012601111
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
85973602019-09-22 6:20:291797 days ago1569133229
0x486C2816...4E83d6c10
0.4767721 ETH
85959032019-09-22 0:47:311797 days ago1569113251
0x486C2816...4E83d6c10
0.185262 ETH
85959032019-09-22 0:47:311797 days ago1569113251
0x486C2816...4E83d6c10
1.441916 ETH
85959032019-09-22 0:47:311797 days ago1569113251
0x486C2816...4E83d6c10
0.04179 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.0006 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.019617 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.092989 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.016068 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.000012 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.000011 ETH
85958442019-09-22 0:34:091797 days ago1569112449
0x486C2816...4E83d6c10
0.0006 ETH
85954832019-09-21 23:08:371797 days ago1569107317
0x486C2816...4E83d6c10
0.06804 ETH
85954832019-09-21 23:08:371797 days ago1569107317
0x486C2816...4E83d6c10
0.047988 ETH
85954832019-09-21 23:08:371797 days ago1569107317
0x486C2816...4E83d6c10
0.098989 ETH
85944092019-09-21 19:10:581798 days ago1569093058
0x486C2816...4E83d6c10
0.153142 ETH
85944092019-09-21 19:10:581798 days ago1569093058
0x486C2816...4E83d6c10
0.01098 ETH
85923422019-09-21 11:30:231798 days ago1569065423
0x486C2816...4E83d6c10
0.016335 ETH
85923422019-09-21 11:30:231798 days ago1569065423
0x486C2816...4E83d6c10
0.083925 ETH
85923422019-09-21 11:30:231798 days ago1569065423
0x486C2816...4E83d6c10
0.143952 ETH
85923422019-09-21 11:30:231798 days ago1569065423
0x486C2816...4E83d6c10
0.01452 ETH
85923272019-09-21 11:26:581798 days ago1569065218
0x486C2816...4E83d6c10
0.0121 ETH
85923272019-09-21 11:26:581798 days ago1569065218
0x486C2816...4E83d6c10
0.004 ETH
85897012019-09-21 1:36:521798 days ago1569029812
0x486C2816...4E83d6c10
0.458625 ETH
85897012019-09-21 1:36:521798 days ago1569029812
0x486C2816...4E83d6c10
0.114744 ETH
85897012019-09-21 1:36:521798 days ago1569029812
0x486C2816...4E83d6c10
0.109525 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RaffleTokenExchange

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-08-13
*/

pragma solidity =0.5.10;

// * Gods Unchained Raffle Token Exchange
//
// * Version 1.0
//
// * A dedicated contract for listing (selling) and buying raffle tokens.
//
// * https://gu.cards

contract ERC20Interface {
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
}

contract IERC20Interface {
    function allowance(address owner, address spender) external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
}

contract RaffleToken is ERC20Interface, IERC20Interface {}

contract RaffleTokenExchange {

    //////// V A R I A B L E S
    //
    // The raffle token contract
    //
    RaffleToken constant public raffleContract = RaffleToken(0x0C8cDC16973E88FAb31DD0FCB844DdF0e1056dE2);
    //
    // In case the exchange is paused.
    //
    bool public paused;
    //
    // Standard contract ownership.
    //
    address payable public owner;
    //
    // Next id for the next listing
    //
    uint public nextListingId;
    //
    // All raffle token listings mapped by id
    //
    mapping (uint => Listing) public listingsById;
    //
    // All purchases
    //
    mapping (uint => Purchase) public purchasesById;
    //
    // Next id for the next purche
    //
    uint public nextPurchaseId;

    //////// S T R U C T S
    //
    //  A listing of raffle tokens
    //
    struct Listing {
        //
        // price per token (in wei).
        //
        uint pricePerToken;
        //
        //
        // How many tokens? (Original Amount)
        //
        uint initialAmount;
        //
        // How many tokens left? (Maybe altered due to partial sales)
        //
        uint amountLeft;
        //
        // Listed by whom?
        //
        address payable seller;
        //
        // Active/Inactive listing?
        //
        bool active;
    }
    //
    //  A purchase of raffle tokens
    //
    struct Purchase {
        //
        // How many tokens?
        //
        uint totalAmount;
        //
        // total price payed
        //
        uint totalAmountPayed;
        //
        // When did the purchase happen?
        //
        uint timestamp;
    }

    //////// EVENTS
    //
    //
    //
    event Listed(uint id, uint pricePerToken, uint initialAmount, address seller);
    event Canceled(uint id);
    event Purchased(uint id, uint totalAmount, uint totalAmountPayed, uint timestamp);

    //////// M O D I F I E R S
    //
    // Invokable only by contract owner.
    //
    modifier onlyContractOwner {
        require(msg.sender == owner, "Function called by non-owner.");
        _;
    }
    //
    // Invokable only if exchange is not paused.
    //
    modifier onlyUnpaused {
        require(paused == false, "Exchange is paused.");
        _;
    }

    //////// C O N S T R U C T O R
    //
    constructor() public {
        owner = msg.sender;
        nextListingId = 1;
        nextPurchaseId = 1;
    }

    //////// F U N C T I O N S
    //
    // buyRaffle
    //
    function buyRaffle(uint[] calldata amounts, uint[] calldata listingIds) payable external onlyUnpaused {
        require(amounts.length == listingIds.length, "You have to provide amounts for every single listing!");
        uint totalAmount;
        uint totalAmountPayed;
        for (uint i = 0; i < listingIds.length; i++) {
            uint id = listingIds[i];
            uint amount = amounts[i];
            Listing storage listing = listingsById[id];
            require(listing.active, "Listing is not active anymore!");
            listing.amountLeft -= amount;
            require(listing.amountLeft >= 0, "Amount left needs to be higher than 0.");
            if(listing.amountLeft == 0) { listing.active = false; }
            uint amountToPay = listing.pricePerToken * amount;
            listing.seller.transfer(amountToPay);
            totalAmountPayed += amountToPay;
            totalAmount += amount;
            require(raffleContract.transferFrom(listing.seller, msg.sender, amount), 'Token transfer failed!');
        }
        require(totalAmountPayed <= msg.value, 'Overpayed!');
        uint id = nextPurchaseId++;
        Purchase storage purchase = purchasesById[id];
        purchase.totalAmount = totalAmount;
        purchase.totalAmountPayed = totalAmountPayed;
        purchase.timestamp = now;
        emit Purchased(id, totalAmount, totalAmountPayed, now);
    }
    //
    // Add listing
    //
    function addListing(uint initialAmount, uint pricePerToken) external onlyUnpaused {
        require(raffleContract.balanceOf(msg.sender) >= initialAmount, "Amount to sell is higher than balance!");
        require(raffleContract.allowance(msg.sender, address(this)) >= initialAmount, "Allowance is to small (increase allowance)!");
        uint id = nextListingId++;
        Listing storage listing = listingsById[id];
        listing.initialAmount = initialAmount;
        listing.amountLeft = initialAmount;
        listing.pricePerToken = pricePerToken;
        listing.seller = msg.sender;
        listing.active = true;
        emit Listed(id, listing.pricePerToken, listing.initialAmount, listing.seller);
    }
    //
    // Cancel listing
    //
    function cancelListing(uint id) external {
        Listing storage listing = listingsById[id];
        require(listing.active, "This listing was turned inactive already!");
        require(listing.seller == msg.sender || owner == msg.sender, "Only the listing owner or the contract owner can cancel the listing!");
        listing.active = false;
        emit Canceled(id);
    }
    //
    // Set paused
    //
    function setPaused(bool value) external onlyContractOwner {
        paused = value;
    }
    //
    // Funds withdrawal to cover operational costs
    //
    function withdrawFunds(uint withdrawAmount) external onlyContractOwner {
        owner.transfer(withdrawAmount);
    }
    //
    // Contract may be destroyed only when there is nothing else going on. 
    // All funds are transferred to contract owner.
    //
    function kill() external onlyContractOwner {
        selfdestruct(owner);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"listingsById","outputs":[{"name":"pricePerToken","type":"uint256"},{"name":"initialAmount","type":"uint256"},{"name":"amountLeft","type":"uint256"},{"name":"seller","type":"address"},{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"withdrawAmount","type":"uint256"}],"name":"withdrawFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"bool"}],"name":"setPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nextPurchaseId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"}],"name":"cancelListing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amounts","type":"uint256[]"},{"name":"listingIds","type":"uint256[]"}],"name":"buyRaffle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"raffleContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"initialAmount","type":"uint256"},{"name":"pricePerToken","type":"uint256"}],"name":"addListing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextListingId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"purchasesById","outputs":[{"name":"totalAmount","type":"uint256"},{"name":"totalAmountPayed","type":"uint256"},{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"pricePerToken","type":"uint256"},{"indexed":false,"name":"initialAmount","type":"uint256"},{"indexed":false,"name":"seller","type":"address"}],"name":"Listed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"}],"name":"Canceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"id","type":"uint256"},{"indexed":false,"name":"totalAmount","type":"uint256"},{"indexed":false,"name":"totalAmountPayed","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"Purchased","type":"event"}]

608060405234801561001057600080fd5b50600080546101003302610100600160a81b03199091161790556001808055600455610dcf806100416000396000f3fe6080604052600436106100c25760003560e01c806341c0e1b51161007f578063836cf6e911610059578063836cf6e9146103015780638da5cb5b14610331578063aaccf1ec14610346578063e72fc8a11461035b576100c2565b806341c0e1b5146102925780635c975abb146102a75780635d7916ed146102d0576100c2565b806310103cdc146100c7578063155dd5ee1461012757806316c38b3c1461015357806323b4a7a31461017f578063305a67a8146101a657806334bafd08146101d0575b600080fd5b3480156100d357600080fd5b506100f1600480360360208110156100ea57600080fd5b50356103a3565b604080519586526020860194909452848401929092526001600160a01b0316606084015215156080830152519081900360a00190f35b34801561013357600080fd5b506101516004803603602081101561014a57600080fd5b50356103e1565b005b34801561015f57600080fd5b506101516004803603602081101561017657600080fd5b50351515610486565b34801561018b57600080fd5b506101946104fd565b60408051918252519081900360200190f35b3480156101b257600080fd5b50610151600480360360208110156101c957600080fd5b5035610503565b610151600480360360408110156101e657600080fd5b81019060208101813564010000000081111561020157600080fd5b82018360208201111561021357600080fd5b8035906020019184602083028401116401000000008311171561023557600080fd5b91939092909160208101903564010000000081111561025357600080fd5b82018360208201111561026557600080fd5b8035906020019184602083028401116401000000008311171561028757600080fd5b509092509050610606565b34801561029e57600080fd5b50610151610963565b3480156102b357600080fd5b506102bc6109da565b604080519115158252519081900360200190f35b3480156102dc57600080fd5b506102e56109e3565b604080516001600160a01b039092168252519081900360200190f35b34801561030d57600080fd5b506101516004803603604081101561032457600080fd5b50803590602001356109fb565b34801561033d57600080fd5b506102e5610c6c565b34801561035257600080fd5b50610194610c80565b34801561036757600080fd5b506103856004803603602081101561037e57600080fd5b5035610c86565b60408051938452602084019290925282820152519081900360600190f35b60026020819052600091825260409091208054600182015492820154600390920154909291906001600160a01b03811690600160a01b900460ff1685565b60005461010090046001600160a01b03163314610445576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b600080546040516101009091046001600160a01b0316916108fc841502918491818181858888f19350505050158015610482573d6000803e3d6000fd5b5050565b60005461010090046001600160a01b031633146104ea576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b6000805460ff1916911515919091179055565b60045481565b60008181526002602052604090206003810154600160a01b900460ff1661055b5760405162461bcd60e51b8152600401808060200182810382526029815260200180610d726029913960400191505060405180910390fd5b60038101546001600160a01b0316331480610585575060005461010090046001600160a01b031633145b6105c05760405162461bcd60e51b8152600401808060200182810382526044815260200180610ca86044913960600191505060405180910390fd5b60038101805460ff60a01b191690556040805183815290517f829a8683c544ad289ce92d3ce06e9ebad69b18a6916e60ec766c2c217461d8e99181900360200190a15050565b60005460ff1615610654576040805162461bcd60e51b815260206004820152601360248201527222bc31b430b733b29034b9903830bab9b2b21760691b604482015290519081900360640190fd5b8281146106925760405162461bcd60e51b8152600401808060200182810382526035815260200180610cec6035913960400191505060405180910390fd5b600080805b838110156108a25760008585838181106106ad57fe5b90506020020135905060008888848181106106c457fe5b600085815260026020908152604090912060038101549290910293909301359350600160a01b900460ff169050610742576040805162461bcd60e51b815260206004820152601e60248201527f4c697374696e67206973206e6f742061637469766520616e796d6f7265210000604482015290519081900360640190fd5b600281018054839003908190556107635760038101805460ff60a01b191690555b80546003820154604051918402916001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107a5573d6000803e3d6000fd5b506003820154604080516323b872dd60e01b81526001600160a01b03909216600483015233602483015260448201859052519784019796820196730c8cdc16973e88fab31dd0fcb844ddf0e1056de2916323b872dd9160648083019260209291908290030181600087803b15801561081c57600080fd5b505af1158015610830573d6000803e3d6000fd5b505050506040513d602081101561084657600080fd5b5051610892576040805162461bcd60e51b8152602060048201526016602482015275546f6b656e207472616e73666572206661696c65642160501b604482015290519081900360640190fd5b5050600190920191506106979050565b50348111156108e5576040805162461bcd60e51b815260206004820152600a6024820152694f76657270617965642160b01b604482015290519081900360640190fd5b60048054600180820190925560008181526003602090815260409182902086815593840185905542600285018190558251848152918201879052818301869052606082015290519192917f84502bfec963904254d319aee2b2b0dbcaecfd446f7a912b6b6bc4b9d9b3bb2e9181900360800190a15050505050505050565b60005461010090046001600160a01b031633146109c7576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b60005461010090046001600160a01b0316ff5b60005460ff1681565b730c8cdc16973e88fab31dd0fcb844ddf0e1056de281565b60005460ff1615610a49576040805162461bcd60e51b815260206004820152601360248201527222bc31b430b733b29034b9903830bab9b2b21760691b604482015290519081900360640190fd5b604080516370a0823160e01b815233600482015290518391730c8cdc16973e88fab31dd0fcb844ddf0e1056de2916370a0823191602480820192602092909190829003018186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50511015610b065760405162461bcd60e51b8152600401808060200182810382526026815260200180610d4c6026913960400191505060405180910390fd5b60408051636eb1769f60e11b815233600482015230602482015290518391730c8cdc16973e88fab31dd0fcb844ddf0e1056de29163dd62ed3e91604480820192602092909190829003018186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d6020811015610b8a57600080fd5b50511015610bc95760405162461bcd60e51b815260040180806020018281038252602b815260200180610d21602b913960400191505060405180910390fd5b60018054808201825560008181526002602081815260409283902094850187905590840186905584845560038401805460ff60a01b196001600160a01b0319909116331716600160a01b179081905582518481529182018690528183018790526001600160a01b0316606082015290519192917ffc1c0dadda05af971023a71c686d9fbfa12ebe1c41d696c041672f9c0ac4c2b69181900360800190a150505050565b60005461010090046001600160a01b031681565b60015481565b6003602052600090815260409020805460018201546002909201549091908356fe4f6e6c7920746865206c697374696e67206f776e6572206f722074686520636f6e7472616374206f776e65722063616e2063616e63656c20746865206c697374696e6721596f75206861766520746f2070726f7669646520616d6f756e747320666f722065766572792073696e676c65206c697374696e6721416c6c6f77616e636520697320746f20736d616c6c2028696e63726561736520616c6c6f77616e63652921416d6f756e7420746f2073656c6c20697320686967686572207468616e2062616c616e63652154686973206c697374696e6720776173207475726e656420696e61637469766520616c726561647921a265627a7a72305820ad6fe5ad44498f67b9ab5888ef4cfe19532601fc4e94ce92d4251ab7863cedaa64736f6c634300050a0032

Deployed Bytecode

0x6080604052600436106100c25760003560e01c806341c0e1b51161007f578063836cf6e911610059578063836cf6e9146103015780638da5cb5b14610331578063aaccf1ec14610346578063e72fc8a11461035b576100c2565b806341c0e1b5146102925780635c975abb146102a75780635d7916ed146102d0576100c2565b806310103cdc146100c7578063155dd5ee1461012757806316c38b3c1461015357806323b4a7a31461017f578063305a67a8146101a657806334bafd08146101d0575b600080fd5b3480156100d357600080fd5b506100f1600480360360208110156100ea57600080fd5b50356103a3565b604080519586526020860194909452848401929092526001600160a01b0316606084015215156080830152519081900360a00190f35b34801561013357600080fd5b506101516004803603602081101561014a57600080fd5b50356103e1565b005b34801561015f57600080fd5b506101516004803603602081101561017657600080fd5b50351515610486565b34801561018b57600080fd5b506101946104fd565b60408051918252519081900360200190f35b3480156101b257600080fd5b50610151600480360360208110156101c957600080fd5b5035610503565b610151600480360360408110156101e657600080fd5b81019060208101813564010000000081111561020157600080fd5b82018360208201111561021357600080fd5b8035906020019184602083028401116401000000008311171561023557600080fd5b91939092909160208101903564010000000081111561025357600080fd5b82018360208201111561026557600080fd5b8035906020019184602083028401116401000000008311171561028757600080fd5b509092509050610606565b34801561029e57600080fd5b50610151610963565b3480156102b357600080fd5b506102bc6109da565b604080519115158252519081900360200190f35b3480156102dc57600080fd5b506102e56109e3565b604080516001600160a01b039092168252519081900360200190f35b34801561030d57600080fd5b506101516004803603604081101561032457600080fd5b50803590602001356109fb565b34801561033d57600080fd5b506102e5610c6c565b34801561035257600080fd5b50610194610c80565b34801561036757600080fd5b506103856004803603602081101561037e57600080fd5b5035610c86565b60408051938452602084019290925282820152519081900360600190f35b60026020819052600091825260409091208054600182015492820154600390920154909291906001600160a01b03811690600160a01b900460ff1685565b60005461010090046001600160a01b03163314610445576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b600080546040516101009091046001600160a01b0316916108fc841502918491818181858888f19350505050158015610482573d6000803e3d6000fd5b5050565b60005461010090046001600160a01b031633146104ea576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b6000805460ff1916911515919091179055565b60045481565b60008181526002602052604090206003810154600160a01b900460ff1661055b5760405162461bcd60e51b8152600401808060200182810382526029815260200180610d726029913960400191505060405180910390fd5b60038101546001600160a01b0316331480610585575060005461010090046001600160a01b031633145b6105c05760405162461bcd60e51b8152600401808060200182810382526044815260200180610ca86044913960600191505060405180910390fd5b60038101805460ff60a01b191690556040805183815290517f829a8683c544ad289ce92d3ce06e9ebad69b18a6916e60ec766c2c217461d8e99181900360200190a15050565b60005460ff1615610654576040805162461bcd60e51b815260206004820152601360248201527222bc31b430b733b29034b9903830bab9b2b21760691b604482015290519081900360640190fd5b8281146106925760405162461bcd60e51b8152600401808060200182810382526035815260200180610cec6035913960400191505060405180910390fd5b600080805b838110156108a25760008585838181106106ad57fe5b90506020020135905060008888848181106106c457fe5b600085815260026020908152604090912060038101549290910293909301359350600160a01b900460ff169050610742576040805162461bcd60e51b815260206004820152601e60248201527f4c697374696e67206973206e6f742061637469766520616e796d6f7265210000604482015290519081900360640190fd5b600281018054839003908190556107635760038101805460ff60a01b191690555b80546003820154604051918402916001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107a5573d6000803e3d6000fd5b506003820154604080516323b872dd60e01b81526001600160a01b03909216600483015233602483015260448201859052519784019796820196730c8cdc16973e88fab31dd0fcb844ddf0e1056de2916323b872dd9160648083019260209291908290030181600087803b15801561081c57600080fd5b505af1158015610830573d6000803e3d6000fd5b505050506040513d602081101561084657600080fd5b5051610892576040805162461bcd60e51b8152602060048201526016602482015275546f6b656e207472616e73666572206661696c65642160501b604482015290519081900360640190fd5b5050600190920191506106979050565b50348111156108e5576040805162461bcd60e51b815260206004820152600a6024820152694f76657270617965642160b01b604482015290519081900360640190fd5b60048054600180820190925560008181526003602090815260409182902086815593840185905542600285018190558251848152918201879052818301869052606082015290519192917f84502bfec963904254d319aee2b2b0dbcaecfd446f7a912b6b6bc4b9d9b3bb2e9181900360800190a15050505050505050565b60005461010090046001600160a01b031633146109c7576040805162461bcd60e51b815260206004820152601d60248201527f46756e6374696f6e2063616c6c6564206279206e6f6e2d6f776e65722e000000604482015290519081900360640190fd5b60005461010090046001600160a01b0316ff5b60005460ff1681565b730c8cdc16973e88fab31dd0fcb844ddf0e1056de281565b60005460ff1615610a49576040805162461bcd60e51b815260206004820152601360248201527222bc31b430b733b29034b9903830bab9b2b21760691b604482015290519081900360640190fd5b604080516370a0823160e01b815233600482015290518391730c8cdc16973e88fab31dd0fcb844ddf0e1056de2916370a0823191602480820192602092909190829003018186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d6020811015610ac757600080fd5b50511015610b065760405162461bcd60e51b8152600401808060200182810382526026815260200180610d4c6026913960400191505060405180910390fd5b60408051636eb1769f60e11b815233600482015230602482015290518391730c8cdc16973e88fab31dd0fcb844ddf0e1056de29163dd62ed3e91604480820192602092909190829003018186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d6020811015610b8a57600080fd5b50511015610bc95760405162461bcd60e51b815260040180806020018281038252602b815260200180610d21602b913960400191505060405180910390fd5b60018054808201825560008181526002602081815260409283902094850187905590840186905584845560038401805460ff60a01b196001600160a01b0319909116331716600160a01b179081905582518481529182018690528183018790526001600160a01b0316606082015290519192917ffc1c0dadda05af971023a71c686d9fbfa12ebe1c41d696c041672f9c0ac4c2b69181900360800190a150505050565b60005461010090046001600160a01b031681565b60015481565b6003602052600090815260409020805460018201546002909201549091908356fe4f6e6c7920746865206c697374696e67206f776e6572206f722074686520636f6e7472616374206f776e65722063616e2063616e63656c20746865206c697374696e6721596f75206861766520746f2070726f7669646520616d6f756e747320666f722065766572792073696e676c65206c697374696e6721416c6c6f77616e636520697320746f20736d616c6c2028696e63726561736520616c6c6f77616e63652921416d6f756e7420746f2073656c6c20697320686967686572207468616e2062616c616e63652154686973206c697374696e6720776173207475726e656420696e61637469766520616c726561647921a265627a7a72305820ad6fe5ad44498f67b9ab5888ef4cfe19532601fc4e94ce92d4251ab7863cedaa64736f6c634300050a0032

Deployed Bytecode Sourcemap

588:5772:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1132:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1132:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1132:45:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1132:45:0;;;;;;;;;;;;;;;;;;;;6004:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6004:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6004:120:0;;:::i;:::-;;5839:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5839:91:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5839:91:0;;;;:::i;1328:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1328:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;5413:385;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5413:385:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5413:385:0;;:::i;3177:1421::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3177:1421:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3177:1421:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3177:1421:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3177:1421:0;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3177:1421:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3177:1421:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;3177:1421:0;;-1:-1:-1;3177:1421:0;-1:-1:-1;3177:1421:0;:::i;6276:81::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6276:81:0;;;:::i;871:18::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;871:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;708:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;708:100:0;;;:::i;:::-;;;;-1:-1:-1;;;;;708:100:0;;;;;;;;;;;;;;4640:728;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4640:728:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4640:728:0;;;;;;;:::i;949:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:28:0;;;:::i;1037:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1037:25:0;;;:::i;1222:47::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1222:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1222:47:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1132:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1132:45:0;;;-1:-1:-1;;;1132:45:0;;;;;:::o;6004:120::-;2705:5;;;;;-1:-1:-1;;;;;2705:5:0;2691:10;:19;2683:61;;;;;-1:-1:-1;;;2683:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6086:5;;;:30;;:5;;;;-1:-1:-1;;;;;6086:5:0;;:30;;;;;;;;:5;:30;;:5;:30;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6086:30:0;6004:120;:::o;5839:91::-;2705:5;;;;;-1:-1:-1;;;;;2705:5:0;2691:10;:19;2683:61;;;;;-1:-1:-1;;;2683:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5908:6;:14;;-1:-1:-1;;5908:14:0;;;;;;;;;;5839:91::o;1328:26::-;;;;:::o;5413:385::-;5465:23;5491:16;;;:12;:16;;;;;5526:14;;;;-1:-1:-1;;;5526:14:0;;;;5518:68;;;;-1:-1:-1;;;5518:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5605:14;;;;-1:-1:-1;;;;;5605:14:0;5623:10;5605:28;;:51;;-1:-1:-1;5637:5:0;;;;;-1:-1:-1;;;;;5637:5:0;5646:10;5637:19;5605:51;5597:132;;;;-1:-1:-1;;;5597:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5740:14;;;:22;;-1:-1:-1;;;;5740:22:0;;;5778:12;;;;;;;;;;;;;;;;;5413:385;;:::o;3177:1421::-;2877:6;;;;:15;2869:47;;;;;-1:-1:-1;;;2869:47:0;;;;;;;;;;;;-1:-1:-1;;;2869:47:0;;;;;;;;;;;;;;;3298:35;;;3290:101;;;;-1:-1:-1;;;3290:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3402:16;;;3461:774;3478:21;;;3461:774;;;3521:7;3531:10;;3542:1;3531:13;;;;;;;;;;;;;3521:23;;3559:11;3573:7;;3581:1;3573:10;;;;;;;3598:23;3624:16;;;:12;3573:10;3624:16;;;;;;;3663:14;;;;3573:10;;;;;;;;;;-1:-1:-1;;;;3663:14:0;;;;;-1:-1:-1;3655:57:0;;;;;-1:-1:-1;;;3655:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3727:18;;;:28;;;;;;;;;3859:55;;3889:14;;;:22;;-1:-1:-1;;;;3889:22:0;;;3859:55;3947:21;;3992:14;;;;:36;;3947:30;;;;-1:-1:-1;;;;;3992:14:0;;;;:36;;;;;3947:30;;3928:16;3992:36;3928:16;3992:36;3947:30;3992:14;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;4161:14:0;;;;4133:63;;;-1:-1:-1;;;4133:63:0;;-1:-1:-1;;;;;4161:14:0;;;4133:63;;;;4177:10;4133:63;;;;;;;;;;;4089:21;;;;4043:31;;;;765:42;;4133:27;;:63;;;;;;;;;;;;;;-1:-1:-1;765:42:0;4133:63;;;5:2:-1;;;;30:1;27;20:12;5:2;4133:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4133:63:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4133:63:0;4125:98;;;;;-1:-1:-1;;;4125:98:0;;;;;;;;;;;;-1:-1:-1;;;4125:98:0;;;;;;;;;;;;;;;-1:-1:-1;;3501:3:0;;;;;-1:-1:-1;3461:774:0;;-1:-1:-1;3461:774:0;;;4273:9;4253:16;:29;;4245:52;;;;;-1:-1:-1;;;4245:52:0;;;;;;;;;;;;-1:-1:-1;;;4245:52:0;;;;;;;;;;;;;;;4318:14;:16;;;;;;;;;4308:7;4373:17;;;:13;:17;;;;;;;;;4401:34;;;4446:25;;;:44;;;4522:3;4501:18;;;:24;;;4541:49;;;;;;;;;;;;;;;;;;;;;;;4318:16;;4373:17;4541:49;;;;;;;;;2927:1;;;;3177:1421;;;;:::o;6276:81::-;2705:5;;;;;-1:-1:-1;;;;;2705:5:0;2691:10;:19;2683:61;;;;;-1:-1:-1;;;2683:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6343:5;;;;;-1:-1:-1;;;;;6343:5:0;6330:19;871:18;;;;;;:::o;708:100::-;765:42;708:100;:::o;4640:728::-;2877:6;;;;:15;2869:47;;;;;-1:-1:-1;;;2869:47:0;;;;;;;;;;;;-1:-1:-1;;;2869:47:0;;;;;;;;;;;;;;;4741:36;;;-1:-1:-1;;;4741:36:0;;4766:10;4741:36;;;;;;4781:13;;765:42;;4741:24;;:36;;;;;;;;;;;;;;;765:42;4741:36;;;5:2:-1;;;;30:1;27;20:12;5:2;4741:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4741:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4741:36:0;:53;;4733:104;;;;-1:-1:-1;;;4733:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4856:51;;;-1:-1:-1;;;4856:51:0;;4881:10;4856:51;;;;4901:4;4856:51;;;;;;4911:13;;765:42;;4856:24;;:51;;;;;;;;;;;;;;;765:42;4856:51;;;5:2:-1;;;;30:1;27;20:12;5:2;4856:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4856:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4856:51:0;:68;;4848:124;;;;-1:-1:-1;;;4848:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4993:13;:15;;;;;;;4983:7;5045:16;;;:12;:16;;;;;;;;;5072:21;;;:37;;;5120:18;;;:34;;;5165:37;;;5213:14;;;:27;;-1:-1:-1;;;;;;;;;;5213:27:0;;;5230:10;5213:27;5251:21;-1:-1:-1;;;5251:21:0;;;;;5288:72;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5345:14:0;5288:72;;;;;;4993:15;;5045:16;5288:72;;;;;;;;;2927:1;;4640:728;;:::o;949:28::-;;;;;;-1:-1:-1;;;;;949:28:0;;:::o;1037:25::-;;;;:::o;1222:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://ad6fe5ad44498f67b9ab5888ef4cfe19532601fc4e94ce92d4251ab7863cedaa

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.