ETH Price: $2,678.37 (+1.82%)
Gas: 1 Gwei

Contract

0xC3c94e2d9A33AB18D5578BD63DfdaA3e0EA74a49
 

Overview

ETH Balance

2.229114929999998999 ETH

Eth Value

$5,970.40 (@ $2,678.37/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Balance200819302024-06-13 9:12:3558 days ago1718269955IN
0xC3c94e2d...e0EA74a49
0 ETH0.0003581812.23614865
Withdraw Balance161884472022-12-15 6:56:59605 days ago1671087419IN
0xC3c94e2d...e0EA74a49
0 ETH0.0004565313.42227237
Withdraw Balance115817342021-01-03 13:16:121315 days ago1609679772IN
0xC3c94e2d...e0EA74a49
0 ETH0.0016536178.1
Place Block82568162019-07-31 6:31:061838 days ago1564554666IN
0xC3c94e2d...e0EA74a49
0.0002 ETH0.000094241
Place Block82568062019-07-31 6:28:341838 days ago1564554514IN
0xC3c94e2d...e0EA74a49
0.015125 ETH0.000094241
Send Chat Messag...81943262019-07-21 13:40:211847 days ago1563716421IN
0xC3c94e2d...e0EA74a49
0 ETH0.000376785
Place Block81943202019-07-21 13:39:281847 days ago1563716368IN
0xC3c94e2d...e0EA74a49
0.01 ETH0.000417743
Place Block81713372019-07-17 23:59:431851 days ago1563407983IN
0xC3c94e2d...e0EA74a49
0.0001 ETH0.000094241
Place Block81713352019-07-17 23:59:211851 days ago1563407961IN
0xC3c94e2d...e0EA74a49
0.0001 ETH0.000094241
Place Block81708892019-07-17 22:21:491851 days ago1563402109IN
0xC3c94e2d...e0EA74a49
0.01005 ETH0.000094241
Place Block81708082019-07-17 22:03:331851 days ago1563401013IN
0xC3c94e2d...e0EA74a49
0.00005 ETH0.000094241
Place Block81707952019-07-17 22:01:111851 days ago1563400871IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.000097441
Place Block81707942019-07-17 22:01:021851 days ago1563400862IN
0xC3c94e2d...e0EA74a49
0.00005 ETH0.000094241
Place Block81707872019-07-17 21:59:461851 days ago1563400786IN
0xC3c94e2d...e0EA74a49
0.00005 ETH0.000094241
Place Block81705682019-07-17 21:17:451851 days ago1563398265IN
0xC3c94e2d...e0EA74a49
0.01 ETH0.000109241
Place Block81604922019-07-16 7:08:101853 days ago1563260890IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.001649920
Place Block81604832019-07-16 7:06:431853 days ago1563260803IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.001649920
Withdraw Balance81466372019-07-14 3:04:231855 days ago1563073463IN
0xC3c94e2d...e0EA74a49
0 ETH0.000020491
Place Block81448522019-07-13 20:30:201855 days ago1563049820IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.000082491
Place Block81431382019-07-13 14:12:371855 days ago1563027157IN
0xC3c94e2d...e0EA74a49
0.01005 ETH0.000316734
Place Block81351572019-07-12 8:09:561857 days ago1562918996IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.000382333
Place Block78436062019-05-27 19:42:561902 days ago1558986176IN
0xC3c94e2d...e0EA74a49
0.005 ETH0.000562475
Withdraw Balance76904092019-05-03 21:25:561926 days ago1556918756IN
0xC3c94e2d...e0EA74a49
0 ETH0.000061473
Withdraw Balance76132012019-04-21 20:39:521938 days ago1555879192IN
0xC3c94e2d...e0EA74a49
0 ETH0.000061473
Place Block75381022019-04-10 4:13:061950 days ago1554869586IN
0xC3c94e2d...e0EA74a49
0.01 ETH0.000139241
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
200819302024-06-13 9:12:3558 days ago1718269955
0xC3c94e2d...e0EA74a49
0.004975 ETH
161884472022-12-15 6:56:59605 days ago1671087419
0xC3c94e2d...e0EA74a49
1 wei
115817342021-01-03 13:16:121315 days ago1609679772
0xC3c94e2d...e0EA74a49
0.0199 ETH
81466372019-07-14 3:04:231855 days ago1563073463
0xC3c94e2d...e0EA74a49
0.0398 ETH
76904092019-05-03 21:25:561926 days ago1556918756
0xC3c94e2d...e0EA74a49
0.0796 ETH
76132012019-04-21 20:39:521938 days ago1555879192
0xC3c94e2d...e0EA74a49
0.00995 ETH
74726952019-03-30 23:29:441960 days ago1553988584
0xC3c94e2d...e0EA74a49
0.3184 ETH
73743572019-03-15 15:21:061975 days ago1552663266
0xC3c94e2d...e0EA74a49
0.0796 ETH
72282132019-02-16 15:32:102002 days ago1550331130
0xC3c94e2d...e0EA74a49
0.004975 ETH
72282122019-02-16 15:31:592002 days ago1550331119
0xC3c94e2d...e0EA74a49
0.02985 ETH
72282112019-02-16 15:31:462002 days ago1550331106
0xC3c94e2d...e0EA74a49
0.04475 ETH
68211162018-12-03 22:52:212077 days ago1543877541
0xC3c94e2d...e0EA74a49
0.00002 ETH
68211082018-12-03 22:51:152077 days ago1543877475
0xC3c94e2d...e0EA74a49
0.00002 ETH
68210852018-12-03 22:44:562077 days ago1543877096
0xC3c94e2d...e0EA74a49
0.002 ETH
68210582018-12-03 22:37:372077 days ago1543876657
0xC3c94e2d...e0EA74a49
0.002 ETH
68210292018-12-03 22:31:202077 days ago1543876280
0xC3c94e2d...e0EA74a49
0.0019 ETH
68210002018-12-03 22:23:532077 days ago1543875833
0xC3c94e2d...e0EA74a49
0.001 ETH
68209892018-12-03 22:21:222077 days ago1543875682
0xC3c94e2d...e0EA74a49
0.001 ETH
68209772018-12-03 22:19:432077 days ago1543875583
0xC3c94e2d...e0EA74a49
0.001 ETH
68209582018-12-03 22:16:262077 days ago1543875386
0xC3c94e2d...e0EA74a49
0.00099999 ETH
68209332018-12-03 22:10:152077 days ago1543875015
0xC3c94e2d...e0EA74a49
0 ETH
68209122018-12-03 22:04:532077 days ago1543874693
0xC3c94e2d...e0EA74a49
1 wei
66606372018-11-07 14:27:532103 days ago1541600873
0xC3c94e2d...e0EA74a49
0.358 ETH
63041892018-09-10 5:11:372162 days ago1536556297
0xC3c94e2d...e0EA74a49
0.0497 ETH
63040372018-09-10 4:32:402162 days ago1536553960
0xC3c94e2d...e0EA74a49
0.00005 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PyramidGame

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.17;

contract PyramidGame
{
    /////////////////////////////////////////////
    // Game parameters
    uint256 private constant BOTTOM_LAYER_BET_AMOUNT = 0.005 ether;
    uint256 private adminFeeDivisor; // e.g. 100 means a 1% fee, 200 means a 0.5% fee
    
    /////////////////////////////////////////////
    // Game owner
    address private administrator;
    
    /////////////////////////////////////////////
    // Pyramid grid data
    //
    // The uint32 is the coordinates.
    // It consists of two uint16's:
    // The x is the most significant 2 bytes (16 bits)
    // The y is the least significant 2 bytes (16 bits)
    // x = coordinates >> 16
    // y = coordinates & 0xFFFF
    // coordinates = (x << 16) | y
    // x is a 16-bit unsigned integer
    // y is a 16-bit unsigned integer
    mapping(uint32 => address) public coordinatesToAddresses;
    uint32[] public allBlockCoordinates;
    
    // In the user interface, the rows of blocks will be
    // progressively shifted more to the right, as y increases
    // 
    // For example, these blocks in the contract's coordinate system:
    //         ______
    //      2 |__A__|______
    // /|\  1 |__B__|__D__|______
    //  |   0 |__C__|__E__|__F__|
    //  y        0     1     2
    // 
    //        x -->
    // 
    // 
    // Become these blocks in the user interface:
    //    __        ______
    //    /|     __|__A__|___
    //   /    __|__B__|__D__|___
    //  y    |__C__|__E__|__F__|
    // 
    //   x -->
    // 
    // 
    
    /////////////////////////////////////////////
    // Address properties
    mapping(address => uint256) public addressesToTotalWeiPlaced;
    mapping(address => uint256) public addressBalances;
    
    ////////////////////////////////////////////
    // Game Constructor
    function PyramidGame() public
    {
        administrator = msg.sender;
        adminFeeDivisor = 200; // Default fee is 0.5%
        
        // The administrator gets a few free chat messages :-)
        addressesToChatMessagesLeft[administrator] += 5;
        
        // Set the first block in the middle of the bottom row
        coordinatesToAddresses[uint32(1 << 15) << 16] = msg.sender;
        allBlockCoordinates.push(uint32(1 << 15) << 16);
    }
    
    ////////////////////////////////////////////
    // Pyramid grid reading functions
    function getBetAmountAtLayer(uint16 y) public pure returns (uint256)
    {
        // The minimum bet doubles every time you go up 1 layer
        return BOTTOM_LAYER_BET_AMOUNT * (uint256(1) << y);
    }
    
    function isThereABlockAtCoordinates(uint16 x, uint16 y) public view returns (bool)
    {
        return coordinatesToAddresses[(uint32(x) << 16) | uint16(y)] != 0;
    }
    
    function getTotalAmountOfBlocks() public view returns (uint256)
    {
        return allBlockCoordinates.length;
    }
    
    ////////////////////////////////////////////
    // Pyramid grid writing functions
    function placeBlock(uint16 x, uint16 y) external payable
    {
        // You may only place a block on an empty spot
        require(!isThereABlockAtCoordinates(x, y));
        
        // Add the transaction amount to the person's balance
        addressBalances[msg.sender] += msg.value;
        
        // Calculate the required bet amount at the specified layer
        uint256 betAmount = getBetAmountAtLayer(y);

        // If the block is at the lowest layer...
        if (y == 0)
        {
            // There must be a block to the left or to the right of it
            require(isThereABlockAtCoordinates(x-1, y) ||
                    isThereABlockAtCoordinates(x+1, y));
        }
        
        // If the block is NOT at the lowest layer...
        else
        {
            // There must be two existing blocks below it:
            require(isThereABlockAtCoordinates(x  , y-1) &&
                    isThereABlockAtCoordinates(x+1, y-1));
        }
        
        // Subtract the bet amount from the person's balance
        addressBalances[msg.sender] -= betAmount;
        
        // Place the block
        coordinatesToAddresses[(uint32(x) << 16) | y] = msg.sender;
        allBlockCoordinates.push((uint32(x) << 16) | y);
        
        // If the block is at the lowest layer...
        if (y == 0)
        {
            // The bet goes to the administrator
            addressBalances[administrator] += betAmount;
        }
        
        // If the block is NOT at the lowest layer...
        else
        {
            // Calculate the administrator fee
            uint256 adminFee = betAmount / adminFeeDivisor;
            
            // Calculate the bet amount minus the admin fee
            uint256 betAmountMinusAdminFee = betAmount - adminFee;
            
            // Add the money to the balances of the people below
            addressBalances[coordinatesToAddresses[(uint32(x  ) << 16) | (y-1)]] += betAmountMinusAdminFee / 2;
            addressBalances[coordinatesToAddresses[(uint32(x+1) << 16) | (y-1)]] += betAmountMinusAdminFee / 2;
            
            // Give the admin fee to the admin
            addressBalances[administrator] += adminFee;
        }
        
        // The new sender's balance must not have underflowed
        // (this verifies that the sender has enough balance to place the block)
        require(addressBalances[msg.sender] < (1 << 255));
        
        // Give the sender their chat message rights
        addressesToChatMessagesLeft[msg.sender] += uint32(1) << y;
        
        // Register the sender's total bets placed
        addressesToTotalWeiPlaced[msg.sender] += betAmount;
    }
    
    ////////////////////////////////////////////
    // Withdrawing balance
    function withdrawBalance(uint256 amountToWithdraw) external
    {
        require(amountToWithdraw != 0);
        
        // The user must have enough balance to withdraw
        require(addressBalances[msg.sender] >= amountToWithdraw);
        
        // Subtract the withdrawn amount from the user's balance
        addressBalances[msg.sender] -= amountToWithdraw;
        
        // Transfer the amount to the user's address
        // If the transfer() call fails an exception will be thrown,
        // and therefore the user's balance will be automatically restored
        msg.sender.transfer(amountToWithdraw);
    }
    
    /////////////////////////////////////////////
    // Chatbox data
    struct ChatMessage
    {
        address person;
        string message;
    }
    mapping(bytes32 => address) public usernamesToAddresses;
    mapping(address => bytes32) public addressesToUsernames;
    mapping(address => uint32) public addressesToChatMessagesLeft;
    ChatMessage[] public chatMessages;
    mapping(uint256 => bool) public censoredChatMessages;
    
    /////////////////////////////////////////////
    // Chatbox functions
    function registerUsername(bytes32 username) external
    {
        // The username must not already be token
        require(usernamesToAddresses[username] == 0);
        
        // The address must not already have a username
        require(addressesToUsernames[msg.sender] == 0);
        
        // Register the new username & address combination
        usernamesToAddresses[username] = msg.sender;
        addressesToUsernames[msg.sender] = username;
    }
    
    function sendChatMessage(string message) external
    {
        // The sender must have at least 1 chat message allowance
        require(addressesToChatMessagesLeft[msg.sender] >= 1);
        
        // Deduct 1 chat message allowence from the sender
        addressesToChatMessagesLeft[msg.sender]--;
        
        // Add the chat message
        chatMessages.push(ChatMessage(msg.sender, message));
    }
    
    function getTotalAmountOfChatMessages() public view returns (uint256)
    {
        return chatMessages.length;
    }
    
    function getChatMessageAtIndex(uint256 index) public view returns (address, bytes32, string)
    {
        address person = chatMessages[index].person;
        bytes32 username = addressesToUsernames[person];
        return (person, username, chatMessages[index].message);
    }
    
    // In case of chat messages with extremely rude or inappropriate
    // content, the administrator can censor a chat message.
    function censorChatMessage(uint256 chatMessageIndex) public
    {
        require(msg.sender == administrator);
        censoredChatMessages[chatMessageIndex] = true;
    }
    
    /////////////////////////////////////////////
    // Game ownership functions
    function transferOwnership(address newAdministrator) external
    {
        require(msg.sender == administrator);
        administrator = newAdministrator;
    }
    
    function setFeeDivisor(uint256 newFeeDivisor) external
    {
        require(msg.sender == administrator);
        require(newFeeDivisor >= 20); // The fee may never exceed 5%
        adminFeeDivisor = newFeeDivisor;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"coordinatesToAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"y","type":"uint16"}],"name":"getBetAmountAtLayer","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"newFeeDivisor","type":"uint256"}],"name":"setFeeDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressesToTotalWeiPlaced","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint16"},{"name":"y","type":"uint16"}],"name":"isThereABlockAtCoordinates","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalAmountOfBlocks","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"chatMessageIndex","type":"uint256"}],"name":"censorChatMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressesToChatMessagesLeft","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"username","type":"bytes32"}],"name":"registerUsername","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getChatMessageAtIndex","outputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressesToUsernames","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"message","type":"string"}],"name":"sendChatMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalAmountOfChatMessages","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"chatMessages","outputs":[{"name":"person","type":"address"},{"name":"message","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amountToWithdraw","type":"uint256"}],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"uint16"},{"name":"y","type":"uint16"}],"name":"placeBlock","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allBlockCoordinates","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"censoredChatMessages","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAdministrator","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"usernamesToAddresses","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

6060604052341561000f57600080fd5b60018054600160a060020a03338116600160a060020a0319928316811780855560c86000908155921682526008602090815260408320805463ffffffff8082166005011663ffffffff19909116179055638000000090925260029091527ffc0c227ddee9ec9d8f21c9d782cd306642b69e1b7fd65ca789f0a3f7ddf58e4c805490921617905560038054909181016100a783826100e3565b50600091825260209091206008808304909101805463ffffffff929093066004026101000a91820219909216638000000090910217905561013d565b815481835581811511610117576007016008900481600701600890048360005260206000209182019101610117919061011c565b505050565b61013a91905b808211156101365760008155600101610122565b5090565b90565b610eb88061014c6000396000f3006060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303828729811461011f57806303cbcf5714610157578063043531b114610183578063363626ad1461019b57806341e8b94c146101ba578063455f1725146101ee57806350aeddcf146102015780635bcc10721461021757806366e34dc61461024f57806379fc3682146102655780639148018a1461028457806397a432ff14610329578063a7e33a0c14610348578063c2235e7414610366578063c49d9ff814610379578063da76d5cd14610427578063da918f761461043d578063e9ffd6de14610452578063ec1024d114610468578063f2fde38b1461047e578063faae4c171461049d575b600080fd5b341561012a57600080fd5b61013b63ffffffff600435166104b3565b604051600160a060020a03909116815260200160405180910390f35b341561016257600080fd5b61017161ffff600435166104ce565b60405190815260200160405180910390f35b341561018e57600080fd5b6101996004356104e1565b005b34156101a657600080fd5b610171600160a060020a036004351661050f565b34156101c557600080fd5b6101da61ffff60043581169060243516610521565b604051901515815260200160405180910390f35b34156101f957600080fd5b610171610552565b341561020c57600080fd5b610199600435610559565b341561022257600080fd5b610236600160a060020a036004351661058f565b60405163ffffffff909116815260200160405180910390f35b341561025a57600080fd5b6101996004356105a7565b341561027057600080fd5b610171600160a060020a0360043516610632565b341561028f57600080fd5b61029a600435610644565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b838110156102ec5780820151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561033457600080fd5b610171600160a060020a0360043516610760565b341561035357600080fd5b6101996004803560248101910135610772565b341561037157600080fd5b610171610894565b341561038457600080fd5b61038f60043561089a565b604051600160a060020a0383168152604060208201818152835460026000196101006001841615020190911604918301829052906060830190849080156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050935050505060405180910390f35b341561043257600080fd5b6101996004356108cb565b61019961ffff60043581169060243516610948565b341561045d57600080fd5b610236600435610c46565b341561047357600080fd5b6101da600435610c7e565b341561048957600080fd5b610199600160a060020a0360043516610c93565b34156104a857600080fd5b61013b600435610cdd565b600260205260009081526040902054600160a060020a031681565b61ffff1660020a6611c37937e080000290565b60015433600160a060020a039081169116146104fc57600080fd5b601481101561050a57600080fd5b600055565b60046020526000908152604090205481565b6201000061ffff9283160291161763ffffffff16600090815260026020526040902054600160a060020a0316151590565b6003545b90565b60015433600160a060020a0390811691161461057457600080fd5b6000908152600a60205260409020805460ff19166001179055565b60086020526000908152604090205463ffffffff1681565b600081815260066020526040902054600160a060020a0316156105c957600080fd5b600160a060020a033316600090815260076020526040902054156105ec57600080fd5b6000818152600660209081526040808320805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a031690811790915583526007909152902055565b60056020526000908152604090205481565b60008061064f610cf8565b60008060098681548110151561066157fe5b60009182526020808320600290920290910154600160a060020a03168083526007909152604090912054600980549294509092508391839190899081106106a457fe5b9060005260206000209060020201600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905094509450945050509193909250565b60076020526000908152604090205481565b600160a060020a033316600090815260086020526040902054600163ffffffff90911610156107a057600080fd5b33600160a060020a03166000908152600860205260409020805463ffffffff19811663ffffffff9182166000190190911617905560098054600181016107e68382610d0a565b91600052602060002090600202016000604080519081016040528033600160a060020a0316815260200186868080601f01602080910402602001604051908101604052818152929190602084018383808284375050509290935250919392508391505051815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201518160010190805161088c929160200190610d3b565b505050505050565b60095490565b60098054829081106108a857fe5b600091825260209091206002909102018054600160a060020a0316915060010182565b8015156108d757600080fd5b600160a060020a033316600090815260056020526040902054819010156108fd57600080fd5b600160a060020a033316600081815260056020526040908190208054849003905582156108fc0290839051600060405180830381858888f19350505050151561094557600080fd5b50565b60008060006109578585610521565b1561096157600080fd5b600160a060020a0333166000908152600560205260409020805434019055610988846104ce565b925061ffff841615156109c5576109a26001860385610521565b806109b557506109b58560010185610521565b15156109c057600080fd5b6109f4565b6109d28560018603610521565b80156109e957506109e98560010160018603610521565b15156109f457600080fd5b33600160a060020a031660008181526005602090815260408083208054889003905563ffffffff61ffff898116908b1662010000021716835260029091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790556003805460018101610a648382610db9565b91600052602060002090600891828204019190066004028661ffff1660108961ffff1663ffffffff169060020a0217909190916101000a81548163ffffffff021916908363ffffffff160217905550508361ffff1660001415610ae657600154600160a060020a03166000908152600560205260409020805484019055610bad565b60005483811515610af357fe5b0491505080820360028163ffffffff600019870161ffff90811690891662010000021716600090815260026020818152604080842054600160a060020a03168452600590915290912080549390920490920190558163ffffffff600019870161ffff90811660018a81019290921662010000021791909116600090815260026020908152604080832054600160a060020a039081168452600590925280832080549690950490950190935590549091168152208054830190555b600160a060020a0333166000908152600560205260409020547f80000000000000000000000000000000000000000000000000000000000000009010610bf257600080fd5b505033600160a060020a03166000908152600860209081526040808320805463ffffffff19811661ffff9790971660020a63ffffffff91821601169590951790945560049052919091208054909101905550565b6003805482908110610c5457fe5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b600a6020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610cae57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600660205260009081526040902054600160a060020a031681565b60206040519081016040526000815290565b815481835581811511610d3657600202816002028360005260206000209182019101610d369190610ded565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d7c57805160ff1916838001178555610da9565b82800160010185558215610da9579182015b82811115610da9578251825591602001919060010190610d8e565b50610db5929150610e2e565b5090565b815481835581811511610d36576007016008900481600701600890048360005260206000209182019101610d369190610e2e565b61055691905b80821115610db557805473ffffffffffffffffffffffffffffffffffffffff191681556000610e256001830182610e48565b50600201610df3565b61055691905b80821115610db55760008155600101610e34565b50805460018160011615610100020316600290046000825580601f10610e6e5750610945565b601f0160209004906000526020600020908101906109459190610e2e5600a165627a7a723058205e489178c96b9b3e01be40147b005910039149bcdd1130a94b42c7832784c4a50029

Deployed Bytecode

0x6060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303828729811461011f57806303cbcf5714610157578063043531b114610183578063363626ad1461019b57806341e8b94c146101ba578063455f1725146101ee57806350aeddcf146102015780635bcc10721461021757806366e34dc61461024f57806379fc3682146102655780639148018a1461028457806397a432ff14610329578063a7e33a0c14610348578063c2235e7414610366578063c49d9ff814610379578063da76d5cd14610427578063da918f761461043d578063e9ffd6de14610452578063ec1024d114610468578063f2fde38b1461047e578063faae4c171461049d575b600080fd5b341561012a57600080fd5b61013b63ffffffff600435166104b3565b604051600160a060020a03909116815260200160405180910390f35b341561016257600080fd5b61017161ffff600435166104ce565b60405190815260200160405180910390f35b341561018e57600080fd5b6101996004356104e1565b005b34156101a657600080fd5b610171600160a060020a036004351661050f565b34156101c557600080fd5b6101da61ffff60043581169060243516610521565b604051901515815260200160405180910390f35b34156101f957600080fd5b610171610552565b341561020c57600080fd5b610199600435610559565b341561022257600080fd5b610236600160a060020a036004351661058f565b60405163ffffffff909116815260200160405180910390f35b341561025a57600080fd5b6101996004356105a7565b341561027057600080fd5b610171600160a060020a0360043516610632565b341561028f57600080fd5b61029a600435610644565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b838110156102ec5780820151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561033457600080fd5b610171600160a060020a0360043516610760565b341561035357600080fd5b6101996004803560248101910135610772565b341561037157600080fd5b610171610894565b341561038457600080fd5b61038f60043561089a565b604051600160a060020a0383168152604060208201818152835460026000196101006001841615020190911604918301829052906060830190849080156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050935050505060405180910390f35b341561043257600080fd5b6101996004356108cb565b61019961ffff60043581169060243516610948565b341561045d57600080fd5b610236600435610c46565b341561047357600080fd5b6101da600435610c7e565b341561048957600080fd5b610199600160a060020a0360043516610c93565b34156104a857600080fd5b61013b600435610cdd565b600260205260009081526040902054600160a060020a031681565b61ffff1660020a6611c37937e080000290565b60015433600160a060020a039081169116146104fc57600080fd5b601481101561050a57600080fd5b600055565b60046020526000908152604090205481565b6201000061ffff9283160291161763ffffffff16600090815260026020526040902054600160a060020a0316151590565b6003545b90565b60015433600160a060020a0390811691161461057457600080fd5b6000908152600a60205260409020805460ff19166001179055565b60086020526000908152604090205463ffffffff1681565b600081815260066020526040902054600160a060020a0316156105c957600080fd5b600160a060020a033316600090815260076020526040902054156105ec57600080fd5b6000818152600660209081526040808320805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a031690811790915583526007909152902055565b60056020526000908152604090205481565b60008061064f610cf8565b60008060098681548110151561066157fe5b60009182526020808320600290920290910154600160a060020a03168083526007909152604090912054600980549294509092508391839190899081106106a457fe5b9060005260206000209060020201600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905094509450945050509193909250565b60076020526000908152604090205481565b600160a060020a033316600090815260086020526040902054600163ffffffff90911610156107a057600080fd5b33600160a060020a03166000908152600860205260409020805463ffffffff19811663ffffffff9182166000190190911617905560098054600181016107e68382610d0a565b91600052602060002090600202016000604080519081016040528033600160a060020a0316815260200186868080601f01602080910402602001604051908101604052818152929190602084018383808284375050509290935250919392508391505051815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201518160010190805161088c929160200190610d3b565b505050505050565b60095490565b60098054829081106108a857fe5b600091825260209091206002909102018054600160a060020a0316915060010182565b8015156108d757600080fd5b600160a060020a033316600090815260056020526040902054819010156108fd57600080fd5b600160a060020a033316600081815260056020526040908190208054849003905582156108fc0290839051600060405180830381858888f19350505050151561094557600080fd5b50565b60008060006109578585610521565b1561096157600080fd5b600160a060020a0333166000908152600560205260409020805434019055610988846104ce565b925061ffff841615156109c5576109a26001860385610521565b806109b557506109b58560010185610521565b15156109c057600080fd5b6109f4565b6109d28560018603610521565b80156109e957506109e98560010160018603610521565b15156109f457600080fd5b33600160a060020a031660008181526005602090815260408083208054889003905563ffffffff61ffff898116908b1662010000021716835260029091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790556003805460018101610a648382610db9565b91600052602060002090600891828204019190066004028661ffff1660108961ffff1663ffffffff169060020a0217909190916101000a81548163ffffffff021916908363ffffffff160217905550508361ffff1660001415610ae657600154600160a060020a03166000908152600560205260409020805484019055610bad565b60005483811515610af357fe5b0491505080820360028163ffffffff600019870161ffff90811690891662010000021716600090815260026020818152604080842054600160a060020a03168452600590915290912080549390920490920190558163ffffffff600019870161ffff90811660018a81019290921662010000021791909116600090815260026020908152604080832054600160a060020a039081168452600590925280832080549690950490950190935590549091168152208054830190555b600160a060020a0333166000908152600560205260409020547f80000000000000000000000000000000000000000000000000000000000000009010610bf257600080fd5b505033600160a060020a03166000908152600860209081526040808320805463ffffffff19811661ffff9790971660020a63ffffffff91821601169590951790945560049052919091208054909101905550565b6003805482908110610c5457fe5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b600a6020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610cae57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600660205260009081526040902054600160a060020a031681565b60206040519081016040526000815290565b815481835581811511610d3657600202816002028360005260206000209182019101610d369190610ded565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d7c57805160ff1916838001178555610da9565b82800160010185558215610da9579182015b82811115610da9578251825591602001919060010190610d8e565b50610db5929150610e2e565b5090565b815481835581811511610d36576007016008900481600701600890048360005260206000209182019101610d369190610e2e565b61055691905b80821115610db557805473ffffffffffffffffffffffffffffffffffffffff191681556000610e256001830182610e48565b50600201610df3565b61055691905b80821115610db55760008155600101610e34565b50805460018160011615610100020316600290046000825580601f10610e6e5750610945565b601f0160209004906000526020600020908101906109459190610e2e5600a165627a7a723058205e489178c96b9b3e01be40147b005910039149bcdd1130a94b42c7832784c4a50029

Swarm Source

bzzr://5e489178c96b9b3e01be40147b005910039149bcdd1130a94b42c7832784c4a5

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.