ETH Price: $2,736.15 (+2.52%)

Contract

0xcf00354366bCa2f2cd49007BfaEAC49d97463200
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Make_move43126822017-09-26 7:43:382698 days ago1506411818IN
0xcf003543...d97463200
0 ETH0.001010048.14
Make_move43126622017-09-26 7:31:342698 days ago1506411094IN
0xcf003543...d97463200
0 ETH0.001116759
Make_move43126582017-09-26 7:29:532698 days ago1506410993IN
0xcf003543...d97463200
0 ETH0.001010048.14
Make_move43126492017-09-26 7:25:482698 days ago1506410748IN
0xcf003543...d97463200
0 ETH0.001116759
Make_move43126412017-09-26 7:22:532698 days ago1506410573IN
0xcf003543...d97463200
0 ETH0.0017619914.2
Make_move43126322017-09-26 7:18:522698 days ago1506410332IN
0xcf003543...d97463200
0 ETH0.001116759
Make_move43126162017-09-26 7:14:452698 days ago1506410085IN
0xcf003543...d97463200
0 ETH0.0021533913.98
Join_game43125982017-09-26 7:03:262698 days ago1506409406IN
0xcf003543...d97463200
0 ETH0.000636287.549
New_game43125772017-09-26 6:50:212698 days ago1506408621IN
0xcf003543...d97463200
0 ETH0.000796988
New_game43121502017-09-26 3:16:512698 days ago1506395811IN
0xcf003543...d97463200
0 ETH0.0024905725
Make_move_and_cl...23405202016-09-28 5:17:293061 days ago1475039849IN
0xcf003543...d97463200
0 ETH0.0026089220
Make_move23405112016-09-28 5:16:093061 days ago1475039769IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23405082016-09-28 5:15:063061 days ago1475039706IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23405002016-09-28 5:13:593061 days ago1475039639IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404952016-09-28 5:12:373061 days ago1475039557IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404782016-09-28 5:10:073061 days ago1475039407IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404742016-09-28 5:07:583061 days ago1475039278IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404682016-09-28 5:05:523061 days ago1475039152IN
0xcf003543...d97463200
0 ETH0.0026896820
Make_move23404532016-09-28 5:03:263061 days ago1475039006IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404422016-09-28 5:00:593061 days ago1475038859IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404352016-09-28 4:59:293061 days ago1475038769IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404292016-09-28 4:57:563061 days ago1475038676IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404222016-09-28 4:56:163061 days ago1475038576IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23404102016-09-28 4:54:163061 days ago1475038456IN
0xcf003543...d97463200
0 ETH0.0023898820
Make_move23403952016-09-28 4:50:563061 days ago1475038256IN
0xcf003543...d97463200
0 ETH0.0023898820
View all transactions

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
19871682016-07-31 17:40:363120 days ago1469986836
0xcf003543...d97463200
0.1 ETH
19743052016-07-29 14:34:393122 days ago1469802879
0xcf003543...d97463200
0.6 ETH
19722742016-07-29 6:18:133122 days ago1469773093
0xcf003543...d97463200
0.1 ETH
19666222016-07-28 7:49:213123 days ago1469692161
0xcf003543...d97463200
0.3 ETH
19666112016-07-28 7:47:233123 days ago1469692043
0xcf003543...d97463200
0.3 ETH
19661032016-07-28 5:46:433123 days ago1469684803
0xcf003543...d97463200
0.3 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ConnectSix

Compiler Version
v0.3.5-2016-07-21-6610add

Optimization Enabled:
Yes with 200 runs

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

contract ConnectSix {

  uint8 constant public board_size = 19;

  Game[] public games;

  struct Game {
      mapping(uint8 => mapping(uint8 => uint8)) board;
      uint8[] move_history;
      address[3] players;
      // 0 means game did not start yet
      uint8 turn;
      // Either 1 or 2. 0 means not finished
      uint8 winner;
      // true if players agreed to a draw
      uint time_per_move;
      // if move is not made by this time, opponent can claim victory
      uint deadline;
      // amount player 1 put in
      uint player_1_stake;
      // amount player 2 must send to join
      uint player_2_stake;
  }

  event LogGameCreated(uint game_num);
  event LogGameStarted(uint game_num);
  event LogVictory(uint game_num, uint8 winner);
  event LogMoveMade(uint game_num, uint8 x1, uint8 y1, uint8 x2, uint8 y2);

  function new_game(uint _time_per_move, uint opponent_stake) {
    games.length++;
    Game g = games[games.length - 1];
    g.players[1] = msg.sender;
    g.time_per_move = _time_per_move;
    g.player_1_stake = msg.value;
    g.player_2_stake = opponent_stake;
    // make the first move in the center of the board
    g.board[board_size / 2][board_size / 2] = 1;
    LogGameCreated(games.length - 1);
  }

  function join_game(uint game_num) {
    Game g = games[game_num];
    if (g.turn != 0 || g.player_2_stake != msg.value) {
      throw;
    }
    g.players[2] = msg.sender;
    // It's the second player's turn because the first player automatically makes a single move in the center
    g.turn = 2;
    g.deadline = now + g.time_per_move;
    LogGameStarted(game_num);
  }

  function player_1(uint game_num) constant returns (address) {
    return games[game_num].players[1];
  }
  
  function player_2(uint game_num) constant returns (address) {
    return games[game_num].players[2];
  }

  function board(uint game_num, uint8 x, uint8 y) constant returns (uint8) {
    return games[game_num].board[x][y];
  }

  function move_history(uint game_num) constant returns (uint8[]) {
      return games[game_num].move_history;
  }

  function single_move(uint game_num, uint8 x, uint8 y) internal {
    if (x > board_size || y > board_size) {
      throw;
    }
    Game g = games[game_num];
    if (g.board[x][y] != 0) {
      throw;
    }
    g.board[x][y] = g.turn;
  }

  function make_move(uint game_num, uint8 x1, uint8 y1, uint8 x2, uint8 y2) {
    Game g = games[game_num];
    if (g.winner != 0 || msg.sender != g.players[g.turn]) {
      throw;
    }
    single_move(game_num, x1, y1);
    single_move(game_num, x2, y2);
    g.turn = 3 - g.turn;
    g.deadline = now + g.time_per_move;
    g.move_history.length++;
    g.move_history[g.move_history.length - 1] = x1;
    g.move_history.length++;
    g.move_history[g.move_history.length - 1] = y1;
    g.move_history.length++;
    g.move_history[g.move_history.length - 1] = x2;
    g.move_history.length++;
    g.move_history[g.move_history.length - 1] = y2;
    LogMoveMade(game_num, x1, y1, x2, y2);
  }

  function make_move_and_claim_victory(uint game_num, uint8 x1, uint8 y1, uint8 x2, uint8 y2, uint8 wx, uint8 wy, uint8 dir) {
    make_move(game_num, x1, y1, x2, y2);
    claim_victory(game_num, wx, wy, dir);
  }
  
  function pay_winner(uint game_num) internal {
    Game g = games[game_num];
    uint amount = g.player_1_stake + g.player_2_stake;
    if (amount > 0 && !g.players[g.winner].send(amount)) {
      throw;
    }
  }

  function claim_time_victory(uint game_num) {
    Game g = games[game_num];
    if (g.winner != 0 || g.deadline == 0 || now <= g.deadline) {
      throw;
    }
    g.winner = 3 - g.turn;
    pay_winner(game_num);
    LogVictory(game_num, g.winner);
  }

  function claim_victory(uint game_num, uint8 x, uint8 y, uint8 dir) {
    Game g = games[game_num];
    if (x > board_size 
        || y > board_size
        || g.winner != 0
        || g.board[x][y] == 0
        || dir > 3) {
      throw;
    }
    // We don't have to worry about overflow and underflows here because all the values outside the 
    // 19 x 19 board are 0
    if (dir == 3) {
      // this is going diagonal (10:30pm)
      for (uint8 j = 1; j < 6; j++) {
        if (g.board[x - j*dx][y + j*dy] != g.board[x][y]) {
          throw;
        }
      }
    } else {
      uint8 dx = 0;
      uint8 dy = 0;
      if (dir == 2) {
        // diagonal - 1:30pm
        dx = 1;
        dy = 1;
      } else if (dir == 1) {
        // 12:00pm
        dy = 1;
      } else {
        // 3 pm
        dx = 1;
      }
      for (uint8 i = 1; i < 6; i++) {
        if (g.board[x + i*dx][y + i*dy] != g.board[x][y]) {
          throw;
        }
      }
    }
    g.winner = g.board[x][y];
    pay_winner(game_num);
    LogVictory(game_num, g.winner);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"game_num","type":"uint256"},{"name":"x","type":"uint8"},{"name":"y","type":"uint8"}],"name":"board","outputs":[{"name":"","type":"uint8"}],"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"games","outputs":[{"name":"turn","type":"uint8"},{"name":"winner","type":"uint8"},{"name":"time_per_move","type":"uint256"},{"name":"deadline","type":"uint256"},{"name":"player_1_stake","type":"uint256"},{"name":"player_2_stake","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"game_num","type":"uint256"}],"name":"player_2","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"game_num","type":"uint256"},{"name":"x1","type":"uint8"},{"name":"y1","type":"uint8"},{"name":"x2","type":"uint8"},{"name":"y2","type":"uint8"},{"name":"wx","type":"uint8"},{"name":"wy","type":"uint8"},{"name":"dir","type":"uint8"}],"name":"make_move_and_claim_victory","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"game_num","type":"uint256"}],"name":"player_1","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"game_num","type":"uint256"},{"name":"x","type":"uint8"},{"name":"y","type":"uint8"},{"name":"dir","type":"uint8"}],"name":"claim_victory","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"game_num","type":"uint256"}],"name":"join_game","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"game_num","type":"uint256"}],"name":"move_history","outputs":[{"name":"","type":"uint8[]"}],"type":"function"},{"constant":false,"inputs":[{"name":"game_num","type":"uint256"},{"name":"x1","type":"uint8"},{"name":"y1","type":"uint8"},{"name":"x2","type":"uint8"},{"name":"y2","type":"uint8"}],"name":"make_move","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"_time_per_move","type":"uint256"},{"name":"opponent_stake","type":"uint256"}],"name":"new_game","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"board_size","outputs":[{"name":"","type":"uint8"}],"type":"function"},{"constant":false,"inputs":[{"name":"game_num","type":"uint256"}],"name":"claim_time_victory","outputs":[],"type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"game_num","type":"uint256"}],"name":"LogGameCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"game_num","type":"uint256"}],"name":"LogGameStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"game_num","type":"uint256"},{"indexed":false,"name":"winner","type":"uint8"}],"name":"LogVictory","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"game_num","type":"uint256"},{"indexed":false,"name":"x1","type":"uint8"},{"indexed":false,"name":"y1","type":"uint8"},{"indexed":false,"name":"x2","type":"uint8"},{"indexed":false,"name":"y2","type":"uint8"}],"name":"LogMoveMade","type":"event"}]

6060604052610f1b806100126000396000f3606060405236156100975760e060020a6000350462601d6c8114610099578063117a5b90146100f15780631ef0625b146101d55780633df16377146102265780633e4c0c821461024e5780634a1aa7671461029e5780634a7b26ec1461034e5780635837e0831461039e578063a35cfa221461045b578063d9e7ee1c1461052c578063e0cd6eff1461056b578063e6e7237f14610573575b005b6105de6004356024356044356000600060005084815481101561000257505060ff9283168152600080516020610efb833981519152600a90940293909301602090815260408085209284168552919052909120541690565b6105f5600435600080548290811015610002575080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568600a909102908101547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c8201547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5698301547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a8401547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b9094015460ff848116956101009095041693919286565b61062e6004356000600060005082815481101561000257505080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567600a82020154600160a060020a03165b919050565b61009760043560243560443560643560843560a43560c43560e435610695888888888861046e565b61062e6004356000600060005082815481101561000257505080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566600a82020154600160a060020a0316610221565b6100976004356024356044356064355b60006000600060006000600060005089815481101561000257908052600a02600080516020610efb833981519152019450601360ff891611806102f45750601360ff8816115b8061030c57506005850154610100900460ff16600014155b80610336575060ff8881166000908152602087815260408083208b85168452909152812054909116145b80610344575060038660ff16115b156106ab57610002565b610097600435600060006000508281548110156100025790600052602060002090600a0201600050600581015490915060ff166000141580610394575060098101543414155b1561091357610002565b61064b600435604080516020810190915260008082528054839081101561000257508052604080517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564600a8502018054602081810284018101909452808352919290919083018282801561044f57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116104205790505b50505050509050610221565b6100976004356024356044356064356084355b60006000600050868154811015610002575050808052600a86027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568810154600080516020610efb833981519152919091019161010090910460ff1614158061052257506005810154600282019060ff16600381101561000257600a8802017f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565015433600160a060020a039081169116141590505b1561098657610002565b61009760043560243560008054600181018083558290828015829011610c6057600a0281600a028360005260206000209182019101610c609190610ddd565b6105de601381565b6100976004356000600060005082815481101561000257908052600a02600080516020610efb8339815191520181506005810154909150610100900460ff1660001415806105c5575060078101546000145b806105d4575060078101544211155b15610e0b57610002565b6040805160ff929092168252519081900360200190f35b6040805160ff9788168152959096166020860152848601939093526060840191909152608083015260a082015290519081900360c00190f35b60408051600160a060020a03929092168252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600f02600301f1509050019250505060405180910390f35b6106a1888484846102ae565b5050505050505050565b8560ff166003141561071457600193505b60068460ff1610156107345760ff8881166000908152602087815260408083208b851684528252808320548888028d03851684528983528184208988028d018616855290925290912054821691161461083857610002565b60009250600091508560ff1660021415610844576001925082915061085e565b60ff8881166000908152602087815260408083208b8516845290915290205460058701805461ff00191691909216610100021790556108c2895b60006000600060005083815481101561000257908052600a027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c8101547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b820154600080516020610efb83398151915292909201935001908111801561082e575060058201546002830190610100900460ff16600381101561000257604051910154600160a060020a031690600090839082818181858883f19350505050155b15610d9457610002565b600193909301926106bc565b8560ff1660011415610859576001915061085e565b600192505b5060015b60068160ff1610156107345760ff8881166000908152602087815260408083208b851684528252808320548786028d01851684528983528184208787028d01861685529092529091205482169116146108ba57610002565b600101610862565b6040805160058701548b8252610100900460ff16602082015281517f63ec96b7c5fed36a47de85e52dc8566f43c4b93e97ab7b1098e2f9bb97f0364d929181900390910190a1505050505050505050565b60048101805473ffffffffffffffffffffffffffffffffffffffff19163317905560058101805460ff191660021790556006810154420160078201556040805183815290517fa7c1a70843ae25305c2e9932b44a5ea7f136f91eef037889721acd158796dbc39181900360200190a15050565b6109ae8686865b6000601360ff841611806109a45750601360ff8316115b15610e7a57610002565b6109b986848461098d565b60058101805460ff811660030360ff1990911617905560068101544201600782015560018181018054918201808255828015829011610a2957601f016020900481601f01602090048360005260206000209182019101610a2991905b80821115610aaf5760008155600101610a15565b505050506001810180548691906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610ab357601f016020900481601f01602090048360005260206000209182019101610ab39190610a15565b5090565b505050506001810180548591906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610b3957601f016020900481601f01602090048360005260206000209182019101610b399190610a15565b505050506001810180548491906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610bbf57601f016020900481601f01602090048360005260206000209182019101610bbf9190610a15565b5050505060018101805483919060001981019081101561000257906000526020600020906020918282040191900681546101009190910a60ff8181021990921693029290921790556040805188815287831660208201528683168183015285831660608201529184166080830152517ffd9177b5d9e465f56cc8079919bc8a734a3b74ec3de3de9340904e23c903d82c9181900360a00190a1505050505050565b5050600080549092506000198101915081101561000257600a027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5668101805473ffffffffffffffffffffffffffffffffffffffff1916331790557f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5698101859055347f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b8201557f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c810184905560098252600080516020610efb83398151915201602081815260408084208252808420805460ff191660011790559254835160001991909101815292519193507fa4bb252efaaa14c454d60c7f572e2ce4cf91a188db9122e78072b05290af7cb3928290030190a15b505050565b5050600060028201819055600382018190556004820181905560058201805461ffff191690556006820181905560078201819055600882018190556009820155600a015b80821115610aaf5760018101805460008083559182526020808320610d9992601f0191909104810190610a15565b60058101805460ff81166003036101000261ff001991909116179055610e308261076e565b604080516005830154848252610100900460ff16602082015281517f63ec96b7c5fed36a47de85e52dc8566f43c4b93e97ab7b1098e2f9bb97f0364d929181900390910190a15050565b600080548590811015610002575060ff8481168252600a8602600080516020610efb833981519152016020818152604080852087851686529091528320549093501614610ec657610002565b600581015460ff938416600090815260209283526040808220948616825293909252919020805460ff1916919092161790555056290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563

Deployed Bytecode

0x606060405236156100975760e060020a6000350462601d6c8114610099578063117a5b90146100f15780631ef0625b146101d55780633df16377146102265780633e4c0c821461024e5780634a1aa7671461029e5780634a7b26ec1461034e5780635837e0831461039e578063a35cfa221461045b578063d9e7ee1c1461052c578063e0cd6eff1461056b578063e6e7237f14610573575b005b6105de6004356024356044356000600060005084815481101561000257505060ff9283168152600080516020610efb833981519152600a90940293909301602090815260408085209284168552919052909120541690565b6105f5600435600080548290811015610002575080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568600a909102908101547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c8201547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5698301547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a8401547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b9094015460ff848116956101009095041693919286565b61062e6004356000600060005082815481101561000257505080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e567600a82020154600160a060020a03165b919050565b61009760043560243560443560643560843560a43560c43560e435610695888888888861046e565b61062e6004356000600060005082815481101561000257505080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566600a82020154600160a060020a0316610221565b6100976004356024356044356064355b60006000600060006000600060005089815481101561000257908052600a02600080516020610efb833981519152019450601360ff891611806102f45750601360ff8816115b8061030c57506005850154610100900460ff16600014155b80610336575060ff8881166000908152602087815260408083208b85168452909152812054909116145b80610344575060038660ff16115b156106ab57610002565b610097600435600060006000508281548110156100025790600052602060002090600a0201600050600581015490915060ff166000141580610394575060098101543414155b1561091357610002565b61064b600435604080516020810190915260008082528054839081101561000257508052604080517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564600a8502018054602081810284018101909452808352919290919083018282801561044f57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116104205790505b50505050509050610221565b6100976004356024356044356064356084355b60006000600050868154811015610002575050808052600a86027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e568810154600080516020610efb833981519152919091019161010090910460ff1614158061052257506005810154600282019060ff16600381101561000257600a8802017f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565015433600160a060020a039081169116141590505b1561098657610002565b61009760043560243560008054600181018083558290828015829011610c6057600a0281600a028360005260206000209182019101610c609190610ddd565b6105de601381565b6100976004356000600060005082815481101561000257908052600a02600080516020610efb8339815191520181506005810154909150610100900460ff1660001415806105c5575060078101546000145b806105d4575060078101544211155b15610e0b57610002565b6040805160ff929092168252519081900360200190f35b6040805160ff9788168152959096166020860152848601939093526060840191909152608083015260a082015290519081900360c00190f35b60408051600160a060020a03929092168252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600f02600301f1509050019250505060405180910390f35b6106a1888484846102ae565b5050505050505050565b8560ff166003141561071457600193505b60068460ff1610156107345760ff8881166000908152602087815260408083208b851684528252808320548888028d03851684528983528184208988028d018616855290925290912054821691161461083857610002565b60009250600091508560ff1660021415610844576001925082915061085e565b60ff8881166000908152602087815260408083208b8516845290915290205460058701805461ff00191691909216610100021790556108c2895b60006000600060005083815481101561000257908052600a027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c8101547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b820154600080516020610efb83398151915292909201935001908111801561082e575060058201546002830190610100900460ff16600381101561000257604051910154600160a060020a031690600090839082818181858883f19350505050155b15610d9457610002565b600193909301926106bc565b8560ff1660011415610859576001915061085e565b600192505b5060015b60068160ff1610156107345760ff8881166000908152602087815260408083208b851684528252808320548786028d01851684528983528184208787028d01861685529092529091205482169116146108ba57610002565b600101610862565b6040805160058701548b8252610100900460ff16602082015281517f63ec96b7c5fed36a47de85e52dc8566f43c4b93e97ab7b1098e2f9bb97f0364d929181900390910190a1505050505050505050565b60048101805473ffffffffffffffffffffffffffffffffffffffff19163317905560058101805460ff191660021790556006810154420160078201556040805183815290517fa7c1a70843ae25305c2e9932b44a5ea7f136f91eef037889721acd158796dbc39181900360200190a15050565b6109ae8686865b6000601360ff841611806109a45750601360ff8316115b15610e7a57610002565b6109b986848461098d565b60058101805460ff811660030360ff1990911617905560068101544201600782015560018181018054918201808255828015829011610a2957601f016020900481601f01602090048360005260206000209182019101610a2991905b80821115610aaf5760008155600101610a15565b505050506001810180548691906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610ab357601f016020900481601f01602090048360005260206000209182019101610ab39190610a15565b5090565b505050506001810180548591906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610b3957601f016020900481601f01602090048360005260206000209182019101610b399190610a15565b505050506001810180548491906000198101908110156100025790600052602060002090602091828204019190066101000a81548160ff021916908302179055508060010160005080548091906001019090815481835581811511610bbf57601f016020900481601f01602090048360005260206000209182019101610bbf9190610a15565b5050505060018101805483919060001981019081101561000257906000526020600020906020918282040191900681546101009190910a60ff8181021990921693029290921790556040805188815287831660208201528683168183015285831660608201529184166080830152517ffd9177b5d9e465f56cc8079919bc8a734a3b74ec3de3de9340904e23c903d82c9181900360a00190a1505050505050565b5050600080549092506000198101915081101561000257600a027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5668101805473ffffffffffffffffffffffffffffffffffffffff1916331790557f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5698101859055347f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b8201557f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56c810184905560098252600080516020610efb83398151915201602081815260408084208252808420805460ff191660011790559254835160001991909101815292519193507fa4bb252efaaa14c454d60c7f572e2ce4cf91a188db9122e78072b05290af7cb3928290030190a15b505050565b5050600060028201819055600382018190556004820181905560058201805461ffff191690556006820181905560078201819055600882018190556009820155600a015b80821115610aaf5760018101805460008083559182526020808320610d9992601f0191909104810190610a15565b60058101805460ff81166003036101000261ff001991909116179055610e308261076e565b604080516005830154848252610100900460ff16602082015281517f63ec96b7c5fed36a47de85e52dc8566f43c4b93e97ab7b1098e2f9bb97f0364d929181900390910190a15050565b600080548590811015610002575060ff8481168252600a8602600080516020610efb833981519152016020818152604080852087851686529091528320549093501614610ec657610002565b600581015460ff938416600090815260209283526040808220948616825293909252919020805460ff1916919092161790555056290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563

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.