Sponsored:   Temco - Join the Largest VC Backed ICO on the Bitcoin Network! TEMCO KYC Whitelist Starts Now!!
Contract Overview
Balance: 2.06507993 Ether
Ether Value: $275.73 (@ $133.52/ETH)
Transactions: 3256 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x0092e7b523bcf35d18a50ae437d36aa212002cf6at txn 0xbcc53ff8bd9e2e1721748232d82cdd154cc3f5f69908fc0059cc437dea096ab9
Token Balance:
 Latest 25 transactions from a total of 3256 transactions

TxHash Age From To Value [TxFee]
0xb36ef632d66a0e394c49b15a12750b40a619083a8fc71b8ff71fdf6757ef757b14 days 3 hrs ago0x0092e7b523bcf35d18a50ae437d36aa212002cf6  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.00040986
0x141ad257b8f11d1540a8a7bfbc1cd2dc68006fca4c3fa92ac1c6859fada74ee258 days 4 hrs ago0x1c24e5bc9a6c15836a23fe67ced0bf1302ae4f5a  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000252772
0x9ee224eddd47e6bae44722d491375058e0fec989a128952cb7ee5682c779616172 days 12 hrs ago0xc0682d80cb3c6bc921f3f4672f814b6b4d476a70  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000061479
0x5f76b3b343e3c9f11f2aafc6adf651d4101b654bb2a32d21e81184367dc24b2072 days 13 hrs ago0xc0682d80cb3c6bc921f3f4672f814b6b4d476a70  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000106287
0xab806f87962db78ecd5b5e482ed0eed973320453bc4db213796c1bac7e31bb3a109 days 6 hrs ago0x5372260584003e8ae3a24e9df09fa96037a04c2b  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000020493
0x5087efb7304b941934aa1f67595207f7ea483783afe4a27a004d16663819e9aa111 days 23 hrs ago0xa014609c78cbf9df20267be839de3290426c7ad3  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.02 Ether0.0001850976
0xa8a6fb5ed63a8c4ef43aba1992476d2a301cda159fef8531cd2232cc46bd0858120 days 42 mins ago0xa1c299326473983c303eebb76e0cb062857cd9cb  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.01 Ether0.000109248
0x449182b3335f2566801d91203cd5d481dda3ec0eeb623b9a292552651eb1b8a7120 days 3 hrs ago0xa1c299326473983c303eebb76e0cb062857cd9cb  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.005 Ether0.00022499
0xa19b8b3524f50ec5822d9db1da5f0a0ecb4daa8277d67412ff9a0598a42c639f120 days 23 hrs ago0xd497093ad0ff5f10f14fc1d371dc2a9aabe26d59  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000122958
0x48653d0862893946980c007bbbb9d82645bbfc654f79a07bca270c835ddd77c9131 days 19 hrs ago0x80dcdd08a4748c6b8d99bfab09e8527bd49c1d05  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.00020493
0xe221e3a1bc38fc094a6e4ec0c717fc05c2ea99495c18f4d92fee973eab42c06a144 days 7 mins ago0xf2ab31b0c7e3a6e93f211e58b337653658cbca9f  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.00040986
0x5ba03a78eeb2f9901eacfcd9e7c87d4ae35dd1cd8667bbed25eaaab39c2dd2c6148 days 2 hrs ago0xdc652b6bfa2e2daf8b3919c2580a5180757c9079  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000102465
0xc833be56e98dd8015e18c5b0ca952f9c6e2af034e80adfc628ddfcda30aab8f4160 days 33 mins ago0x5372260584003e8ae3a24e9df09fa96037a04c2b  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.0000635283
0x4a74ecb1e465a7e92cf8c9edf4d5969f96515d1867620f0648ba48cd1e1924bf161 days 16 hrs ago0x79e5dda6466be0637567b3aeed4aae7d445a1c45  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.0000973219
0x96fd1f7f2c1987e5c680aaad00d1075d15de4f23cfd1460c8cc8f59b8ea0fb3e161 days 16 hrs ago0x79e5dda6466be0637567b3aeed4aae7d445a1c45  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000020493
0x14d80eb435df9463ab823f68d84e68c4b4143d5b20e0185dd7ee745cac52e136162 days 7 hrs ago0x688d3cfb405a36710e3f24366b0defa4c891b594  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.01 Ether0.000218496
0x0bc9e533121e3703b523f5ef122ae74b886031c881b5da30efc4f93bdbb0484c162 days 7 hrs ago0x688d3cfb405a36710e3f24366b0defa4c891b594  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.005 Ether0.00016414
0x1de79e0762bf68cfefdb676e3d4b90379f2848632c31df8be6cc208ac938d1f4162 days 7 hrs ago0x688d3cfb405a36710e3f24366b0defa4c891b594  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.08 Ether0.000278496
0xfea4f3a6517729bd12dc2c380b0fe6017fd97b19088896ad0a1b28ad32bc25b4172 days 12 hrs ago0xb98d80f60bf961c3cd27df786505ea1a011a4dd0  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000102465
0x40f8cfc0239d74c7aff8700dfd47e6c2ab76bc1464cd4ae4cabf8aad24a95945190 days 31 mins ago0x328b65db8e35548c1b28a74405ba47c5fe80a253  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000163944
0xd9a8b680989262723f8563f68ead35f97f8b947fed1e45efaf26ac463771704f190 days 18 hrs ago0xf745f479a7da0b538ee5bbc35d719c7c481e1b7e  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000122958
0x184ac146a3b56bd84e28c4249a4b5d775af1194b643ccb8fe424656400539c45210 days 12 hrs ago0x2b5dddeec220bb5af3b8e7a1de1320f60003e55d  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000020493
0x0b3fc1402d1d300599e60bcb23387d8ea6ce7e9881558bb06ea1c9eb47a50acb212 days 5 hrs ago0xc345138d52b79951b9f79dc3083ddc3c53292fd2  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.005 Ether0.00009702
0xcdf6cbc332f073e615bfe65e5c08676a6bf9bb03ff88f00c1d3c98619e5215ff212 days 6 hrs ago0xc345138d52b79951b9f79dc3083ddc3c53292fd2  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490.005 Ether0.00022414
0x0f22def7ef469bc3533c61d46127eb9530a052c5f6a3ba9ae312a656f832a9c7216 days 17 hrs ago0x1f5ba2bae997657fe1aec82930b8d7981d454cdd  IN   0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490 Ether0.000020493
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0xb36ef632d66a0e394c49b15a12750b40a619083a8fc71b8ff71fdf6757ef757b666063714 days 3 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x0092e7b523bcf35d18a50ae437d36aa212002cf60.358 Ether
0x9ee224eddd47e6bae44722d491375058e0fec989a128952cb7ee5682c7796161630418972 days 12 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xc0682d80cb3c6bc921f3f4672f814b6b4d476a700.0497 Ether
0x5f76b3b343e3c9f11f2aafc6adf651d4101b654bb2a32d21e81184367dc24b20630403772 days 13 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xc0682d80cb3c6bc921f3f4672f814b6b4d476a700.00005 Ether
0xab806f87962db78ecd5b5e482ed0eed973320453bc4db213796c1bac7e31bb3a6086590109 days 6 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x5372260584003e8ae3a24e9df09fa96037a04c2b0.00995 Ether
0xa19b8b3524f50ec5822d9db1da5f0a0ecb4daa8277d67412ff9a0598a42c639f6017226120 days 23 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xd497093ad0ff5f10f14fc1d371dc2a9aabe26d590.0398 Ether
0x48653d0862893946980c007bbbb9d82645bbfc654f79a07bca270c835ddd77c95953244131 days 19 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x80dcdd08a4748c6b8d99bfab09e8527bd49c1d050.004975 Ether
0xe221e3a1bc38fc094a6e4ec0c717fc05c2ea99495c18f4d92fee973eab42c06a5882008144 days 7 mins ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xf2ab31b0c7e3a6e93f211e58b337653658cbca9f0.06445 Ether
0x5ba03a78eeb2f9901eacfcd9e7c87d4ae35dd1cd8667bbed25eaaab39c2dd2c65858300148 days 2 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xdc652b6bfa2e2daf8b3919c2580a5180757c90790.00995 Ether
0xc833be56e98dd8015e18c5b0ca952f9c6e2af034e80adfc628ddfcda30aab8f45788624160 days 33 mins ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x5372260584003e8ae3a24e9df09fa96037a04c2b0.00995 Ether
0x96fd1f7f2c1987e5c680aaad00d1075d15de4f23cfd1460c8cc8f59b8ea0fb3e5779013161 days 16 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x79e5dda6466be0637567b3aeed4aae7d445a1c450.0398 Ether
0xfea4f3a6517729bd12dc2c380b0fe6017fd97b19088896ad0a1b28ad32bc25b45717964172 days 12 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xb98d80f60bf961c3cd27df786505ea1a011a4dd00.004975 Ether
0x40f8cfc0239d74c7aff8700dfd47e6c2ab76bc1464cd4ae4cabf8aad24a959455619088190 days 31 mins ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x328b65db8e35548c1b28a74405ba47c5fe80a2530.00995 Ether
0xd9a8b680989262723f8563f68ead35f97f8b947fed1e45efaf26ac463771704f5614776190 days 18 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xf745f479a7da0b538ee5bbc35d719c7c481e1b7e0.0398 Ether
0x184ac146a3b56bd84e28c4249a4b5d775af1194b643ccb8fe424656400539c455501526210 days 12 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x2b5dddeec220bb5af3b8e7a1de1320f60003e55d0.004975 Ether
0x0f22def7ef469bc3533c61d46127eb9530a052c5f6a3ba9ae312a656f832a9c75465662216 days 17 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x1f5ba2bae997657fe1aec82930b8d7981d454cdd0.00995 Ether
0x618ce64d84394a0fe2352ca30790e63dfb503e11e26370ff9322045e2a1731fb5433736222 days 3 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x5372260584003e8ae3a24e9df09fa96037a04c2b0.0076834101 Ether
0x2faa4301d9b1d69985389a0e3e8e24a05111b16e1cd8ef3f123cd5f0fa84d7565369555232 days 19 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xd7abd9d82fa7b9d25ae2f0bad3a2c9809dc9c4220.00495 Ether
0xf7e121eccde5c3200040e54e9ef982edbabcaad1c7f2b0c8549a3bc4fdbc088f5284108247 days 2 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x5372260584003e8ae3a24e9df09fa96037a04c2b0.0022665899 Ether
0xc6253575fd684c24af704eadd74a57cf62c15f71423b887eff160c22cf1463b25276341248 days 9 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xa6976261a916a7faf30ed52125337308f251ab4c0.019825 Ether
0x2e10a887a8a92d4abe1efe08ccb8cb605a8177d391e39261ad1cc895467c22745267557249 days 21 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xaa97fca4429b6872572f08a1fa0f4129808a4e5d0.15415 Ether
0x4b13adf3e1ce18b74a20636da80b25162ffad37f51d5297613df5644831ce5c05259745251 days 5 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x3bb7133cf10fa8e88688d3d61e6b95f3fc210e300.00995 Ether
0x56de4ff4fdfef2c65bee52c68562cc5b646c06f8ac8d7e741192d6c36f8f16c45254084252 days 4 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xa6976261a916a7faf30ed52125337308f251ab4c0.02985 Ether
0xc7ab2dc2c8f979bce79edac35c0e48c755175a4ddd219ca4614bcd7922ff8a565250940252 days 17 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490xefe5e92604b5208992c2a36ca62f596ba20f1abe0.0199 Ether
0x356fb605d5b8df9f9c85d598e2afe742bfbdb19206954db09e773e8c19de4a3a5231839255 days 23 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x522273122b20212fe255875a4737b6f50cc720060.00995 Ether
0x4f1f1afcb5045fc3016ba2a4d47c2375bbd0c385f051e27b9918c43e1139b0575220567257 days 21 hrs ago0xc3c94e2d9a33ab18d5578bd63dfdaa3e0ea74a490x4d9a2307733aa5be00a1ac3b133151351b73d6a10.1592 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: PyramidGame
Compiler Text: v0.4.17+commit.bdeb9e52
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 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"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b60018054600160a060020a03338116600160a060020a0319928316811780855560c86000908155921682526008602090815260408320805463ffffffff8082166005011663ffffffff19909116179055638000000090925260029091527ffc0c227ddee9ec9d8f21c9d782cd306642b69e1b7fd65ca789f0a3f7ddf58e4c805490921617905560038054909181016100a783826100e3565b50600091825260209091206008808304909101805463ffffffff929093066004026101000a91820219909216638000000090910217905561013d565b815481835581811511610117576007016008900481600701600890048360005260206000209182019101610117919061011c565b505050565b61013a91905b808211156101365760008155600101610122565b5090565b90565b610eb88061014c6000396000f3006060604052361561011a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303828729811461011f57806303cbcf5714610157578063043531b114610183578063363626ad1461019b57806341e8b94c146101ba578063455f1725146101ee57806350aeddcf146102015780635bcc10721461021757806366e34dc61461024f57806379fc3682146102655780639148018a1461028457806397a432ff14610329578063a7e33a0c14610348578063c2235e7414610366578063c49d9ff814610379578063da76d5cd14610427578063da918f761461043d578063e9ffd6de14610452578063ec1024d114610468578063f2fde38b1461047e578063faae4c171461049d575b600080fd5b341561012a57600080fd5b61013b63ffffffff600435166104b3565b604051600160a060020a03909116815260200160405180910390f35b341561016257600080fd5b61017161ffff600435166104ce565b60405190815260200160405180910390f35b341561018e57600080fd5b6101996004356104e1565b005b34156101a657600080fd5b610171600160a060020a036004351661050f565b34156101c557600080fd5b6101da61ffff60043581169060243516610521565b604051901515815260200160405180910390f35b34156101f957600080fd5b610171610552565b341561020c57600080fd5b610199600435610559565b341561022257600080fd5b610236600160a060020a036004351661058f565b60405163ffffffff909116815260200160405180910390f35b341561025a57600080fd5b6101996004356105a7565b341561027057600080fd5b610171600160a060020a0360043516610632565b341561028f57600080fd5b61029a600435610644565b604051600160a060020a03841681526020810183905260606040820181815290820183818151815260200191508051906020019080838360005b838110156102ec5780820151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561033457600080fd5b610171600160a060020a0360043516610760565b341561035357600080fd5b6101996004803560248101910135610772565b341561037157600080fd5b610171610894565b341561038457600080fd5b61038f60043561089a565b604051600160a060020a0383168152604060208201818152835460026000196101006001841615020190911604918301829052906060830190849080156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050935050505060405180910390f35b341561043257600080fd5b6101996004356108cb565b61019961ffff60043581169060243516610948565b341561045d57600080fd5b610236600435610c46565b341561047357600080fd5b6101da600435610c7e565b341561048957600080fd5b610199600160a060020a0360043516610c93565b34156104a857600080fd5b61013b600435610cdd565b600260205260009081526040902054600160a060020a031681565b61ffff1660020a6611c37937e080000290565b60015433600160a060020a039081169116146104fc57600080fd5b601481101561050a57600080fd5b600055565b60046020526000908152604090205481565b6201000061ffff9283160291161763ffffffff16600090815260026020526040902054600160a060020a0316151590565b6003545b90565b60015433600160a060020a0390811691161461057457600080fd5b6000908152600a60205260409020805460ff19166001179055565b60086020526000908152604090205463ffffffff1681565b600081815260066020526040902054600160a060020a0316156105c957600080fd5b600160a060020a033316600090815260076020526040902054156105ec57600080fd5b6000818152600660209081526040808320805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a031690811790915583526007909152902055565b60056020526000908152604090205481565b60008061064f610cf8565b60008060098681548110151561066157fe5b60009182526020808320600290920290910154600160a060020a03168083526007909152604090912054600980549294509092508391839190899081106106a457fe5b9060005260206000209060020201600101808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905094509450945050509193909250565b60076020526000908152604090205481565b600160a060020a033316600090815260086020526040902054600163ffffffff90911610156107a057600080fd5b33600160a060020a03166000908152600860205260409020805463ffffffff19811663ffffffff9182166000190190911617905560098054600181016107e68382610d0a565b91600052602060002090600202016000604080519081016040528033600160a060020a0316815260200186868080601f01602080910402602001604051908101604052818152929190602084018383808284375050509290935250919392508391505051815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201518160010190805161088c929160200190610d3b565b505050505050565b60095490565b60098054829081106108a857fe5b600091825260209091206002909102018054600160a060020a0316915060010182565b8015156108d757600080fd5b600160a060020a033316600090815260056020526040902054819010156108fd57600080fd5b600160a060020a033316600081815260056020526040908190208054849003905582156108fc0290839051600060405180830381858888f19350505050151561094557600080fd5b50565b60008060006109578585610521565b1561096157600080fd5b600160a060020a0333166000908152600560205260409020805434019055610988846104ce565b925061ffff841615156109c5576109a26001860385610521565b806109b557506109b58560010185610521565b15156109c057600080fd5b6109f4565b6109d28560018603610521565b80156109e957506109e98560010160018603610521565b15156109f457600080fd5b33600160a060020a031660008181526005602090815260408083208054889003905563ffffffff61ffff898116908b1662010000021716835260029091529020805473ffffffffffffffffffffffffffffffffffffffff191690911790556003805460018101610a648382610db9565b91600052602060002090600891828204019190066004028661ffff1660108961ffff1663ffffffff169060020a0217909190916101000a81548163ffffffff021916908363ffffffff160217905550508361ffff1660001415610ae657600154600160a060020a03166000908152600560205260409020805484019055610bad565b60005483811515610af357fe5b0491505080820360028163ffffffff600019870161ffff90811690891662010000021716600090815260026020818152604080842054600160a060020a03168452600590915290912080549390920490920190558163ffffffff600019870161ffff90811660018a81019290921662010000021791909116600090815260026020908152604080832054600160a060020a039081168452600590925280832080549690950490950190935590549091168152208054830190555b600160a060020a0333166000908152600560205260409020547f80000000000000000000000000000000000000000000000000000000000000009010610bf257600080fd5b505033600160a060020a03166000908152600860209081526040808320805463ffffffff19811661ffff9790971660020a63ffffffff91821601169590951790945560049052919091208054909101905550565b6003805482908110610c5457fe5b9060005260206000209060089182820401919006600402915054906101000a900463ffffffff1681565b600a6020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610cae57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600660205260009081526040902054600160a060020a031681565b60206040519081016040526000815290565b815481835581811511610d3657600202816002028360005260206000209182019101610d369190610ded565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d7c57805160ff1916838001178555610da9565b82800160010185558215610da9579182015b82811115610da9578251825591602001919060010190610d8e565b50610db5929150610e2e565b5090565b815481835581811511610d36576007016008900481600701600890048360005260206000209182019101610d369190610e2e565b61055691905b80821115610db557805473ffffffffffffffffffffffffffffffffffffffff191681556000610e256001830182610e48565b50600201610df3565b61055691905b80821115610db55760008155600101610e34565b50805460018160011615610100020316600290046000825580601f10610e6e5750610945565b601f0160209004906000526020600020908101906109459190610e2e5600a165627a7a723058205e489178c96b9b3e01be40147b005910039149bcdd1130a94b42c7832784c4a50029

   Swarm Source:
bzzr://5e489178c96b9b3e01be40147b005910039149bcdd1130a94b42c7832784c4a5

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.