Contract 0x688909b9d2CFdf2efBbd83f61B83424f8e44d598 1

 
Ad
Ad
Txn Hash Method
Block
From
To
Value
0x55f42b9db0f75f6a1e8f91138272cab32c00016a3f900cf5037707e3e95b682fConfirm Board Sc...60647062018-07-31 18:53:331153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0001010131
0x43c881dc45b2d82673cc5fc2652c9982a27912bbc8521f2d8d943646f954bbe6Confirm Board Sc...60647062018-07-31 18:53:331153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000991491
0xb08ca19cc97f8322cf29043c3909a6f5e825034461e415f17945b6b135dc5338Confirm Board Sc...60647062018-07-31 18:53:331153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000933671
0xc7ef624388207f2bc45366cf92a411f7e0ef60dc81a81f74d153cd1b33370f7cConfirm Board Sc...60647062018-07-31 18:53:331153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000854021
0xc1a62540e2386c1178e14c46db6fba9c750c300979c4b438720298a58a3ff3b2Confirm Board Sc...60647062018-07-31 18:53:331153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000835391
0x2e1d40dfe9f8889effa05337f369a4f61df157c4448256c5318e1761560d1179Confirm Board Sc...60646982018-07-31 18:52:161153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000818681
0x165332cecd4ca95a106d7ce449680bf2d6b99f4c13a5ae88c6c0618c5a2d5a70Confirm Board Sc...60646802018-07-31 18:47:491153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000797491
0x1020ba5f9fb2f75df1c9b1a46a704a78d182c676eb6774ae666cbacd42ee5dc5Confirm Board Sc...60646802018-07-31 18:47:491153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000780781
0x3f560966686eaa662e4cbcf8e0dc5946e55fc6dc4f0703bea5d71f1a614f9370Confirm Board Sc...60646802018-07-31 18:47:491153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000761511
0xc698e54ad98f98cc9526d48f83d3cd621f70250fdd4032a1911a959f06572814Confirm Board Sc...60646742018-07-31 18:46:141153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000739681
0x0a19f64a6a6feb5c5d796f2f0d4378861675d7c0ee0da0e7f89020e51af72294Confirm Board Sc...60646502018-07-31 18:41:171153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000721691
0xfd323347572fee226726e74049ec4690d023ddbbc6e11d4ed160d1098eb7e421Confirm Board Sc...60646482018-07-31 18:41:011153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000703061
0xfd60f4ea15b426fd488fadfe26761738bb8b7c5893d0e5475e96600b36239603Confirm Board Sc...60646452018-07-31 18:40:431153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000683161
0xb4d2b26caa480c2e02ebdc4b70c0d6c7c4340be2d40bf51f97e352a3f154f236Confirm Board Sc...60646432018-07-31 18:40:201153 days 6 hrs ago0x360f7ce306497cf6ce3d9948ac8b113af36b7612 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000662611
0x3382520c11c4c32bdcfa8cb40fb6a6cb6dd3f70d2c63d55773122468ff18ab8eMigration Set Pl...60646362018-07-31 18:38:211153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0000529711
0xb5e1e2ce86b601ff77d0b381e5a41b48ac7bc1ae7b34b74c52feb52751cbbc7aAdd Board Score60646112018-07-31 18:32:281153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.000671088
0x3eacfc746baf61d47b1a9f9d48f9a944db9c3ce97a87153128c9f9c6fed8e4b6Add Board Score60646102018-07-31 18:32:151153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0006561848
0xd50c75e3a23bdf35fd755413c8ca92a24e0e3634e1d4dfd9a0e391867c55d66aAdd Board Score60646092018-07-31 18:31:571153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0006099528
0x9625c23d9d6881078c1f1d595c9d32bc774753288b9d58b03a3a75a23626ef16Add Board Score60646072018-07-31 18:31:051153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.00057768
0xeb975379ee01fde340353af25d884f5849df38ac8cd3eef26a9a5065a20c7913Add Board Score60646072018-07-31 18:31:051153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0005462728
0x938050e6404b18f4294167aaacf8fb9dce9921764ec5065c2b6a3ec466918df2Add Board Score60646052018-07-31 18:30:511153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0005313768
0x1effb575a1e55faaa4d991ecdfcd6141c162fed6f222c25d43feb529a26c0c21Add Board Score60646032018-07-31 18:29:461153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0005621928
0xfb1be7c4df328a378040649bb3aa04d643473c00994e668c0ab958d986876e70Add Board Score60646032018-07-31 18:29:461153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.000501088
0x2ed60c46d5ed3c8371ee8554c6fab31e34adcb997a25ff3e5bf13c60b4976bb0Add Board Score60646022018-07-31 18:29:391153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.0005180248
0x9f070014d81699f821cdbae44868bfb119c6569831c13548c1bc660c0e58b1a8Add Board Score60646002018-07-31 18:29:011153 days 6 hrs ago0xa4eae620953c3eb9862e386c13de05477cbac080 IN  0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980 Ether0.000487728
[ Download CSV Export 
Latest 8 internal transactions
Parent Txn Hash Block From To Value
0x1b4fe65936150fae2422c917067f93952b12c6010bd8b245bd9c9894c49c146559886982018-07-18 22:06:081166 days 3 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0x1b4fe65936150fae2422c917067f93952b12c6010bd8b245bd9c9894c49c146559886982018-07-18 22:06:081166 days 3 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0xd0c0c38a71c51df9c76779c5a8a385a11fc4c62314a7bd1e4db688160dd13be959405342018-07-10 19:05:371174 days 6 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0xd0c0c38a71c51df9c76779c5a8a385a11fc4c62314a7bd1e4db688160dd13be959405342018-07-10 19:05:371174 days 6 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0x27feaa97814c52ef32e73a9f4c8214c7c96eac4d76d95e40532c8f3dae6dabf459296582018-07-08 22:15:081176 days 2 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0x27feaa97814c52ef32e73a9f4c8214c7c96eac4d76d95e40532c8f3dae6dabf459296582018-07-08 22:15:081176 days 2 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0xe40c5f27aedf6959fb72a46f036f0fcdeb1b0ac957246453cc8d481ba105accf59294772018-07-08 21:30:581176 days 3 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
0xe40c5f27aedf6959fb72a46f036f0fcdeb1b0ac957246453cc8d481ba105accf59294772018-07-08 21:30:581176 days 3 hrs ago 0x688909b9d2cfdf2efbbd83f61b83424f8e44d5980xa4eae620953c3eb9862e386c13de05477cbac0800.0005 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BlockScores

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

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

/// @title Store lederboards in the Blockchain
/// @author Marcel Scherello [email protected]
/// @notice Create a custom leaderboard and start counting the scores
/// @dev All function calls are currently implement without side effects
/// @dev v1.1.0
contract BlockScores {
    struct Player {
        bytes32  playerName;
        address playerAddress;
        uint  score;
        uint  score_unconfirmed;
        uint   isActive;
    }
    struct Board {
        bytes32  boardName;
        string  boardDescription;
        uint   numPlayers;
        address boardOwner;
        mapping (uint => Player) players;
    }
    mapping (bytes32 => Board) boards;
    uint public numBoards;
    address owner = msg.sender;

    uint public balance;
    uint public boardCost = 1000000000000000;
    uint public playerCost = 1000000000000000;

    modifier isOwner {
        assert(owner == msg.sender);
        _;
    }

    /**
    Funding Functions
    */

    /// @notice withdraw all funds to contract owner
    /// @return true
    function withdraw() isOwner public returns(bool) {
        uint _amount = address(this).balance;
        emit Withdrawal(owner, _amount);
        owner.transfer(_amount);
        balance -= _amount;
        return true;
    }

    /// @notice change the costs for using the contract
    /// @param costBoard costs for a new board
    /// @param costPlayer costs for a new player
    /// @return true
    function setCosts (uint costBoard, uint costPlayer) isOwner public returns(bool) {
        boardCost = costBoard;
        playerCost = costPlayer;
        return true;
    }

    /// @notice split the revenue of a new player between boardOwner and contract owner
    /// @param boardOwner of the leaderboard
    /// @param _amount amount to be split
    /// @return true
    function split(address boardOwner, uint _amount) internal returns(bool) {
        emit Withdrawal(owner, _amount/2);
        owner.transfer(_amount/2);
        //emit Withdrawal(boardOwner, _amount/2);
        boardOwner.transfer(_amount/2);
        return true;
    }

    /// @notice Event for Withdrawal
    event Withdrawal(address indexed _from, uint _value);

    /**
    Board Functions
    */

    /// @notice Add a new leaderboard. Board hash will be created by name and creator
    /// @notice a funding is required to create a new leaderboard
    /// @param name The name of the leaderboard
    /// @param boardDescription A subtitle for the leaderboard
    /// @return The hash of the newly created leaderboard
    function addNewBoard(bytes32 name, string boardDescription) public payable returns(bytes32 boardHash){
        require(msg.value >= boardCost);
        balance += msg.value;
        boardHash = keccak256(abi.encodePacked(name, msg.sender));
        numBoards++;
        boards[boardHash] = Board(name, boardDescription, 0, msg.sender);
        emit newBoardCreated(boardHash);
    }

    /// @notice Simulate the creation of a leaderboard hash
    /// @param name The name of the leaderboard
    /// @param admin The address of the admin address
    /// @return The possible hash of the leaderboard
    function createBoardHash(bytes32 name, address admin) pure public returns (bytes32){
        return keccak256(abi.encodePacked(name, admin));
    }

    /// @notice Get the metadata of a leaderboard
    /// @param boardHash The hash of the leaderboard
    /// @return Leaderboard name, description and number of players
    function getBoardByHash(bytes32 boardHash) constant public returns(bytes32,string,uint){
        return (boards[boardHash].boardName, boards[boardHash].boardDescription, boards[boardHash].numPlayers);
    }

    /// @notice Overwrite leaderboard name and desctiption as owner only
    /// @param boardHash The hash of the leaderboard to be modified
    /// @param name The new name of the leaderboard
    /// @param boardDescription The new subtitle for the leaderboard
    /// @return true
    function changeBoardMetadata(bytes32 boardHash, bytes32 name, string boardDescription) public returns(bool) {
        require(boards[boardHash].boardOwner == msg.sender);
        boards[boardHash].boardName = name;
        boards[boardHash].boardDescription = boardDescription;
    }

    /// @notice event for newly created leaderboard
    event newBoardCreated(bytes32 boardHash);


    /**
    Player Functions
    */

    /// @notice Add a new player to an existing leaderboard
    /// @param boardHash The hash of the leaderboard
    /// @param playerName The name of the player
    /// @return Player ID
    function addPlayerToBoard(bytes32 boardHash, bytes32 playerName) public payable returns (bool) {
        require(msg.value >= playerCost);
        Board storage g = boards[boardHash];
        split (g.boardOwner, msg.value);
        uint newPlayerID = g.numPlayers++;
        g.players[newPlayerID] = Player(playerName, msg.sender,0,0,1);
        return true;
    }

    /// @notice Get player data by leaderboard hash and player id/index
    /// @param boardHash The hash of the leaderboard
    /// @param playerID Index number of the player
    /// @return Player name, confirmed score, unconfirmed score
    function getPlayerByBoard(bytes32 boardHash, uint8 playerID) constant public returns (bytes32, uint, uint){
        Player storage p = boards[boardHash].players[playerID];
        require(p.isActive == 1);
        return (p.playerName, p.score, p.score_unconfirmed);
    }

    /// @notice The leaderboard owner can remove a player
    /// @param boardHash The hash of the leaderboard
    /// @param playerName The name of the player to be removed
    /// @return true/false
    function removePlayerFromBoard(bytes32 boardHash, bytes32 playerName) public returns (bool){
        Board storage g = boards[boardHash];
        require(g.boardOwner == msg.sender);
        uint8 playerID = getPlayerId (boardHash, playerName, 0);
        require(playerID < 255 );
        g.players[playerID].isActive = 0;
        return true;
    }

    /// @notice Get the player id either by player Name or address
    /// @param boardHash The hash of the leaderboard
    /// @param playerName The name of the player
    /// @param playerAddress The player address
    /// @return ID or 999 in case of false
    function getPlayerId (bytes32 boardHash, bytes32 playerName, address playerAddress) constant internal returns (uint8) {
        Board storage g = boards[boardHash];
        for (uint8 i = 0; i <= g.numPlayers; i++) {
            if ((keccak256(abi.encodePacked(g.players[i].playerName)) == keccak256(abi.encodePacked(playerName)) || playerAddress == g.players[i].playerAddress) && g.players[i].isActive == 1) {
                return i;
                break;
            }
        }
        return 255;
    }

    /**
    Score Functions
    */

    /// @notice Add a unconfirmed score to leaderboard/player. Overwrites an existing unconfirmed score
    /// @param boardHash The hash of the leaderboard
    /// @param playerName The name of the player
    /// @param score Integer
    /// @return true/false
    function addBoardScore(bytes32 boardHash, bytes32 playerName, uint score) public returns (bool){
        uint8 playerID = getPlayerId (boardHash, playerName, 0);
        require(playerID < 255 );
        boards[boardHash].players[playerID].score_unconfirmed = score;
        return true;
    }

    /// @notice Confirm an unconfirmed score to leaderboard/player. Adds unconfirmed to existing score. Player can not confirm his own score
    /// @param boardHash The hash of the leaderboard
    /// @param playerName The name of the player who's score should be confirmed
    /// @return true/false
    function confirmBoardScore(bytes32 boardHash, bytes32 playerName) public returns (bool){
        uint8 playerID = getPlayerId (boardHash, playerName, 0);
        uint8 confirmerID = getPlayerId (boardHash, "", msg.sender);
        require(playerID < 255); // player needs to be active
        require(confirmerID < 255); // confirmer needs to be active
        require(boards[boardHash].players[playerID].playerAddress != msg.sender); //confirm only other players
        boards[boardHash].players[playerID].score += boards[boardHash].players[playerID].score_unconfirmed;
        boards[boardHash].players[playerID].score_unconfirmed = 0;
        return true;
    }

    /**
    Migration Functions
    */
    /// @notice Read board metadata for migration as contract owner only
    /// @param boardHash The hash of the leaderboard
    /// @return Bord metadata
    function migrationGetBoard(bytes32 boardHash) constant isOwner public returns(bytes32,string,uint,address) {
        return (boards[boardHash].boardName, boards[boardHash].boardDescription, boards[boardHash].numPlayers, boards[boardHash].boardOwner);
    }

    /// @notice Write board metadata for migration as contract owner only
    /// @param boardHash The hash of the leaderboard to be modified
    /// @param name The new name of the leaderboard
    /// @param boardDescription The new subtitle for the leaderboard
    /// @param boardOwner The address for the boardowner
    /// @return true
    function migrationSetBoard(bytes32 boardHash, bytes32 name, string boardDescription, uint8 numPlayers, address boardOwner) isOwner public returns(bool) {
        boards[boardHash].boardName = name;
        boards[boardHash].boardDescription = boardDescription;
        boards[boardHash].numPlayers = numPlayers;
        boards[boardHash].boardOwner = boardOwner;
        return true;
    }

    /// @notice Read player metadata for migration as contract owner
    /// @param boardHash The hash of the leaderboard
    /// @param playerID Index number of the player
    /// @return Player metadata
    function migrationGetPlayer(bytes32 boardHash, uint8 playerID) constant isOwner public returns (uint, bytes32, address, uint, uint, uint){
        Player storage p = boards[boardHash].players[playerID];
        return (playerID, p.playerName, p.playerAddress, p.score, p.score_unconfirmed, p.isActive);
    }

    /// @notice Write player metadata for migration as contract owner only
    /// @param boardHash The hash of the leaderboard
    /// @param playerID Player ID
    /// @param playerName Player name
    /// @param playerAddress Player address
    /// @param score Player score
    /// @param score_unconfirmed Player unconfirmed score
    /// @param isActive Player isActive
    /// @return true
    function migrationSetPlayer(bytes32 boardHash, uint playerID, bytes32 playerName, address playerAddress, uint score, uint score_unconfirmed, uint isActive) isOwner public returns (bool) {
        Board storage g = boards[boardHash];
        g.players[playerID] = Player(playerName, playerAddress, score, score_unconfirmed, isActive);
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerID","type":"uint8"}],"name":"migrationGetPlayer","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes32"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"boardCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"name","type":"bytes32"},{"name":"boardDescription","type":"string"}],"name":"changeBoardMetadata","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerName","type":"bytes32"}],"name":"removePlayerFromBoard","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"name","type":"bytes32"},{"name":"boardDescription","type":"string"}],"name":"addNewBoard","outputs":[{"name":"boardHash","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerName","type":"bytes32"},{"name":"score","type":"uint256"}],"name":"addBoardScore","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerID","type":"uint8"}],"name":"getPlayerByBoard","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"playerCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"boardHash","type":"bytes32"}],"name":"getBoardByHash","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"boardHash","type":"bytes32"}],"name":"migrationGetBoard","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"string"},{"name":"","type":"uint256"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numBoards","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerName","type":"bytes32"}],"name":"confirmBoardScore","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"},{"name":"admin","type":"address"}],"name":"createBoardHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"name","type":"bytes32"},{"name":"boardDescription","type":"string"},{"name":"numPlayers","type":"uint8"},{"name":"boardOwner","type":"address"}],"name":"migrationSetBoard","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"costBoard","type":"uint256"},{"name":"costPlayer","type":"uint256"}],"name":"setCosts","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerID","type":"uint256"},{"name":"playerName","type":"bytes32"},{"name":"playerAddress","type":"address"},{"name":"score","type":"uint256"},{"name":"score_unconfirmed","type":"uint256"},{"name":"isActive","type":"uint256"}],"name":"migrationSetPlayer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"boardHash","type":"bytes32"},{"name":"playerName","type":"bytes32"}],"name":"addPlayerToBoard","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"boardHash","type":"bytes32"}],"name":"newBoardCreated","type":"event"}]

608060405233600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555066038d7ea4c6800060045566038d7ea4c6800060055534801561006757600080fd5b50611e8e806100776000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075010731461010c5780632be4f3f5146101b557806331978b99146101e0578063326448291461027d5780633ccfd60b146102d457806351d24a3314610303578063571ec8d9146103895780636a914911146103ea578063718d763a1461045257806379e12f7e1461047d578063897d55cd1461053d57806394bf8862146106305780639c8bb5d01461065b578063a15bb363146106b2578063b69ef8a81461071f578063c6393e621461074a578063db58990714610814578063e07a267114610863578063e349c31314610902575b600080fd5b34801561011857600080fd5b506101486004803603810190808035600019169060200190929190803560ff16906020019092919050505061094c565b6040518087815260200186600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828152602001965050505050505060405180910390f35b3480156101c157600080fd5b506101ca610a3a565b6040518082815260200191505060405180910390f35b3480156101ec57600080fd5b5061026360048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610a40565b604051808215151515815260200191505060405180910390f35b34801561028957600080fd5b506102ba60048036038101908080356000191690602001909291908035600019169060200190929190505050610b18565b604051808215151515815260200191505060405180910390f35b3480156102e057600080fd5b506102e9610be4565b604051808215151515815260200191505060405180910390f35b61036b6004803603810190808035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610d4b565b60405180826000191660001916815260200191505060405180910390f35b34801561039557600080fd5b506103d06004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190505050610f6c565b604051808215151515815260200191505060405180910390f35b3480156103f657600080fd5b506104266004803603810190808035600019169060200190929190803560ff169060200190929190505050610fd4565b604051808460001916600019168152602001838152602001828152602001935050505060405180910390f35b34801561045e57600080fd5b5061046761103d565b6040518082815260200191505060405180910390f35b34801561048957600080fd5b506104ac6004803603810190808035600019169060200190929190505050611043565b60405180846000191660001916815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156105005780820151818401526020810190506104e5565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561054957600080fd5b5061056c600480360381019080803560001916906020019092919050505061114b565b604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156105f25780820151818401526020810190506105d7565b50505050905090810190601f16801561061f5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561063c57600080fd5b506106456112ed565b6040518082815260200191505060405180910390f35b34801561066757600080fd5b50610698600480360381019080803560001916906020019092919080356000191690602001909291905050506112f3565b604051808215151515815260200191505060405180910390f35b3480156106be57600080fd5b506107016004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611483565b60405180826000191660001916815260200191505060405180910390f35b34801561072b57600080fd5b5061073461155a565b6040518082815260200191505060405180910390f35b34801561075657600080fd5b506107fa60048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611560565b604051808215151515815260200191505060405180910390f35b34801561082057600080fd5b5061084960048036038101908080359060200190929190803590602001909291905050506116a1565b604051808215151515815260200191505060405180910390f35b34801561086f57600080fd5b506108e86004803603810190808035600019169060200190929190803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190505050611714565b604051808215151515815260200191505060405180910390f35b6109326004803603810190808035600019169060200190929190803560001916906020019092919050505061186b565b604051808215151515815260200191505060405180910390f35b60008060008060008060003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156109b057fe5b6000808a6000191660001916815260200190815260200160002060040160008960ff16815260200190815260200160002090508781600001548260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360020154846003015485600401548560ff169550965096509650965096509650509295509295509295565b60045481565b60003373ffffffffffffffffffffffffffffffffffffffff16600080866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ab957600080fd5b82600080866000191660001916815260200190815260200160002060000181600019169055508160008086600019166000191681526020019081526020016000206001019080519060200190610b10929190611d3d565b509392505050565b6000806000806000866000191660001916815260200190815260200160002091503373ffffffffffffffffffffffffffffffffffffffff168260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610b9757600080fd5b610ba3858560006119bf565b905060ff8160ff16101515610bb757600080fd5b60008260040160008360ff1681526020019081526020016000206004018190555060019250505092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610c4057fe5b3073ffffffffffffffffffffffffffffffffffffffff16319050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a2600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d32573d6000803e3d6000fd5b5080600360008282540392505081905550600191505090565b60006004543410151515610d5e57600080fd5b3460036000828254019250508190555082336040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b602083101515610e0e5780518252602082019150602081019050602083039250610de9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060016000815480929190600101919050555060806040519081016040528084600019168152602001838152602001600081526020013373ffffffffffffffffffffffffffffffffffffffff168152506000808360001916600019168152602001908152602001600020600082015181600001906000191690556020820151816001019080519060200190610ed2929190611dbd565b506040820151816002015560608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507fa99c026b61d000d543f01f7b0dfcbece6a97c5b83ba3a21a7567046a19896d878160405180826000191660001916815260200191505060405180910390a192915050565b600080610f7b858560006119bf565b905060ff8160ff16101515610f8f57600080fd5b82600080876000191660001916815260200190815260200160002060040160008360ff1681526020019081526020016000206003018190555060019150509392505050565b600080600080600080876000191660001916815260200190815260200160002060040160008660ff16815260200190815260200160002090506001816004015414151561102057600080fd5b806000015481600201548260030154935093509350509250925092565b60055481565b6000606060008060008560001916600019168152602001908152602001600020600001546000808660001916600019168152602001908152602001600020600101600080876000191660001916815260200190815260200160002060020154818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111375780601f1061110c57610100808354040283529160200191611137565b820191906000526020600020905b81548152906001019060200180831161111a57829003601f168201915b505050505091509250925092509193909250565b600060606000803373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111ab57fe5b6000808660001916600019168152602001908152602001600020600001546000808760001916600019168152602001908152602001600020600101600080886000191660001916815260200190815260200160002060020154600080896000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112d75780601f106112ac576101008083540402835291602001916112d7565b820191906000526020600020905b8154815290600101906020018083116112ba57829003601f168201915b5050505050925093509350935093509193509193565b60015481565b6000806000611304858560006119bf565b9150611312856000336119bf565b905060ff8260ff1610151561132657600080fd5b60ff8160ff1610151561133857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16600080876000191660001916815260200190815260200160002060040160008460ff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156113c757600080fd5b600080866000191660001916815260200190815260200160002060040160008360ff16815260200190815260200160002060030154600080876000191660001916815260200190815260200160002060040160008460ff168152602001908152602001600020600201600082825401925050819055506000806000876000191660001916815260200190815260200160002060040160008460ff1681526020019081526020016000206003018190555060019250505092915050565b600082826040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831015156115255780518252602082019150602081019050602083039250611500565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905092915050565b60035481565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156115bb57fe5b84600080886000191660001916815260200190815260200160002060000181600019169055508360008088600019166000191681526020019081526020016000206001019080519060200190611612929190611d3d565b508260ff1660008088600019166000191681526020019081526020016000206002018190555081600080886000191660001916815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905095945050505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156116fc57fe5b82600481905550816005819055506001905092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561177057fe5b6000808a60001916600019168152602001908152602001600020905060a060405190810160405280886000191681526020018773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152508160040160008a81526020019081526020016000206000820151816000019060001916905560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015560608201518160030155608082015181600401559050506001915050979650505050505050565b6000806000600554341015151561188157600080fd5b600080866000191660001916815260200190815260200160002091506118cb8260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1634611bed565b5081600201600081548092919060010191905055905060a060405190810160405280856000191681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160018152508260040160008381526020019081526020016000206000820151816000019060001916905560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015590505060019250505092915050565b600080600080600087600019166000191681526020019081526020016000209150600090505b81600201548160ff16111515611bdf57846040516020018082600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515611a525780518252602082019150602081019050602083039250611a2d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019168260040160008360ff168152602001908152602001600020600001546040516020018082600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083101515611afb5780518252602082019150602081019050602083039250611ad6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161480611b9e57508160040160008260ff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bc5575060018260040160008360ff16815260200190815260200160002060040154145b15611bd257809250611be4565b80806001019150506119e5565b60ff92505b50509392505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65600284811515611c5557fe5b046040518082815260200191505060405180910390a2600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600284811515611cb357fe5b049081150290604051600060405180830381858888f19350505050158015611cdf573d6000803e3d6000fd5b508273ffffffffffffffffffffffffffffffffffffffff166108fc600284811515611d0657fe5b049081150290604051600060405180830381858888f19350505050158015611d32573d6000803e3d6000fd5b506001905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611d7e57805160ff1916838001178555611dac565b82800160010185558215611dac579182015b82811115611dab578251825591602001919060010190611d90565b5b509050611db99190611e3d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611dfe57805160ff1916838001178555611e2c565b82800160010185558215611e2c579182015b82811115611e2b578251825591602001919060010190611e10565b5b509050611e399190611e3d565b5090565b611e5f91905b80821115611e5b576000816000905550600101611e43565b5090565b905600a165627a7a7230582099d2c8f31081b549e6351e62483c9160a65104183c036e0e994ebad0687714730029

Swarm Source

bzzr://99d2c8f31081b549e6351e62483c9160a65104183c036e0e994ebad068771473
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.