ETH Price: $3,875.35 (-1.43%)

Contract

0x19324C99fC1B2Fd7ca827c98f6554085F147dea7
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw52386012018-03-11 22:19:472473 days ago1520806787IN
0x19324C99...5F147dea7
0 ETH0.000094873
Purchase52281562018-03-10 3:51:502475 days ago1520653910IN
0x19324C99...5F147dea7
0.0525 ETH0.0002465810
Purchase52281562018-03-10 3:51:502475 days ago1520653910IN
0x19324C99...5F147dea7
0.08157307 ETH0.000196758
Purchase52281562018-03-10 3:51:502475 days ago1520653910IN
0x19324C99...5F147dea7
0.0125 ETH0.000172157
Purchase52281542018-03-10 3:51:282475 days ago1520653888IN
0x19324C99...5F147dea7
0.0125 ETH0.0003205513
Purchase52281542018-03-10 3:51:282475 days ago1520653888IN
0x19324C99...5F147dea7
0.06274851 ETH0.000049182
Purchase52274862018-03-10 1:11:482475 days ago1520644308IN
0x19324C99...5F147dea7
0.16078125 ETH0.000252852
Purchase52274862018-03-10 1:11:482475 days ago1520644308IN
0x19324C99...5F147dea7
0.08157307 ETH0.000938527
Purchase52274862018-03-10 1:11:482475 days ago1520644308IN
0x19324C99...5F147dea7
0.0525 ETH0.0002958912
Purchase52274862018-03-10 1:11:482475 days ago1520644308IN
0x19324C99...5F147dea7
0.0525 ETH0.0002459410
Purchase52274842018-03-10 1:11:242475 days ago1520644284IN
0x19324C99...5F147dea7
0.05960464 ETH0.000049312
Purchase52273412018-03-10 0:38:152475 days ago1520642295IN
0x19324C99...5F147dea7
0.0537824 ETH0.0003205513
Purchase52273412018-03-10 0:38:152475 days ago1520642295IN
0x19324C99...5F147dea7
0.0537824 ETH0.0002459410
Purchase52273412018-03-10 0:38:152475 days ago1520642295IN
0x19324C99...5F147dea7
0.0196 ETH0.000221929
Purchase52273412018-03-10 0:38:152475 days ago1520642295IN
0x19324C99...5F147dea7
0.014 ETH0.000049312
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0.0196 ETH0.000221349
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0 ETH0.000147946
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0.06274851 ETH0.000196758
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0.02441406 ETH0.000196758
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0.02441406 ETH0.00017267
Purchase52273382018-03-10 0:38:042475 days ago1520642284IN
0x19324C99...5F147dea7
0.09294114 ETH0.000197268
Purchase52273302018-03-10 0:36:292475 days ago1520642189IN
0x19324C99...5F147dea7
0.01953125 ETH0.000221349
Purchase52273282018-03-10 0:36:182475 days ago1520642178IN
0x19324C99...5F147dea7
0.015625 ETH0.000049312
Purchase52164292018-03-08 4:06:332477 days ago1520481993IN
0x19324C99...5F147dea7
0.08 ETH0.00107268
Purchase52163372018-03-08 3:47:252477 days ago1520480845IN
0x19324C99...5F147dea7
0.08 ETH0.0017429713
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
52386012018-03-11 22:19:472473 days ago1520806787
0x19324C99...5F147dea7
0.04 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.01607812 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.01607812 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.01607812 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.01607812 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.09405703 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00241171 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00093132 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00093132 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00093132 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00093132 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.069011 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00176951 ETH
52274862018-03-10 1:11:482475 days ago1520644308
0x19324C99...5F147dea7
0.00706726 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00186264 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00186264 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00186264 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00186264 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.06537884 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00167638 ETH
52164292018-03-08 4:06:332477 days ago1520481993
0x19324C99...5F147dea7
0.00549419 ETH
52163372018-03-08 3:47:252477 days ago1520480845
0x19324C99...5F147dea7
0.00093132 ETH
52163372018-03-08 3:47:252477 days ago1520480845
0x19324C99...5F147dea7
0.00093132 ETH
52163372018-03-08 3:47:252477 days ago1520480845
0x19324C99...5F147dea7
0.00093132 ETH
52163372018-03-08 3:47:252477 days ago1520480845
0x19324C99...5F147dea7
0.00093132 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BlockMarket

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.19;

/**
 * @title Ownable
 */
contract Ownable {
  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

/**
 * @title SafeMath Library
 */
library SafeMath {
  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

/**
 * @title BlockMarketCore
 */
contract BlockMarket is Ownable {
  struct Stock {
    string  name;
    uint256 priceIncrease;
    uint256 dividendAmount;
    uint256 lastAction;
    uint256 dividendsPaid;
  }

  struct Share {
    address holder;
    uint256 purchasePrice;
  }

  Stock[] public stocks;
  Share[] public shares;
  mapping (uint256 => uint256[]) public stockShares;

  event CompanyListed(string company, uint256 basePrice);
  event DividendPaid(address shareholder, uint256 amount);
  event ShareSold(
    uint256 stockId,
    uint256 shareId,
    uint256 oldPrice,
    uint256 newPrice,
    address oldOwner,
    address newOwner
  );

  /**
   * @dev A fallback function to catch, uh... let's call them gifts.
   */
  function () payable public { }

  /**
   * @dev Adds a new stock to the game
   * @param _name the name of the stock (e.g. "Kodak")
   * @param _initialPrice the original cost of the stock's shares (in Wei)
   * @param _priceIncrease the amount by which the shares should increase upon sale (i.e. 120 = 20% increase)
   * @param _dividendAmount the amount of each purchase that should be split among dividend recipients
   * @param _numShares the number of shares of this stock available for purchase
   */
  function addStock(
    string  _name,
    uint256 _initialPrice,
    uint256 _priceIncrease,
    uint256 _dividendAmount,
    uint8   _numShares
  ) public onlyOwner returns (uint256 stockId) {
    stockId = stocks.length;

    stocks.push(
      Stock(
        _name,
        _priceIncrease == 0 ? 130 : _priceIncrease, // 30% by default
        _dividendAmount == 0 ? 110 : _dividendAmount, // 10% by default
        block.timestamp,
        0
      )
    );

    for(uint8 i = 0; i < _numShares; i++) {
      stockShares[stockId].push(shares.length);
      shares.push(Share(owner, _initialPrice));
    }

    CompanyListed(_name, _initialPrice);
  }

  /**
   * @dev Purchase a share from its current owner
   * @param _stockId the ID of the stock that owns the share
   * @param _shareId the ID of the specific share to purchase
   */
  function purchase(uint256 _stockId, uint256 _shareId) public payable {
    require(_stockId < stocks.length && _shareId < shares.length);

    // look up the assets
    Stock storage stock = stocks[_stockId];
    uint256[] storage sharesForStock = stockShares[_stockId];
    Share storage share = shares[sharesForStock[_shareId]];

    // look up the share's current holder
    address previousHolder = share.holder;

    // determine the current price for the share
    uint256 currentPrice = getPurchasePrice(
      share.purchasePrice,
      stock.priceIncrease
    );
    require(msg.value >= currentPrice);

    // return any excess payment
    if (msg.value > currentPrice) {
      msg.sender.transfer(SafeMath.sub(msg.value, currentPrice));
    }

    // calculate dividend holders' shares
    uint256 dividendPerRecipient = getDividendPayout(
      currentPrice,
      stock.dividendAmount,
      sharesForStock.length - 1
    );

    // calculate the previous owner's share
    uint256 previousHolderShare = SafeMath.sub(
      currentPrice,
      SafeMath.mul(dividendPerRecipient, sharesForStock.length - 1)
    );

    // calculate the transaction fee - 1/40 = 2.5% fee
    uint256 fee = SafeMath.div(previousHolderShare, 40);
    owner.transfer(fee);

    // payout the previous shareholder
    previousHolder.transfer(SafeMath.sub(previousHolderShare, fee));

    // payout the dividends
    for(uint8 i = 0; i < sharesForStock.length; i++) {
      if (i != _shareId) {
        shares[sharesForStock[i]].holder.transfer(dividendPerRecipient);
        stock.dividendsPaid = SafeMath.add(stock.dividendsPaid, dividendPerRecipient);
        DividendPaid(
          shares[sharesForStock[i]].holder,
          dividendPerRecipient
        );
      }
    }

    ShareSold(
      _stockId,
      _shareId,
      share.purchasePrice,
      currentPrice,
      share.holder,
      msg.sender
    );

    // update share information
    share.holder = msg.sender;
    share.purchasePrice = currentPrice;
    stock.lastAction = block.timestamp;
  }

  /**
   * @dev Calculates the current purchase price for the given stock share
   * @param _stockId the ID of the stock that owns the share
   * @param _shareId the ID of the specific share to purchase
   */
  function getCurrentPrice(
    uint256 _stockId,
    uint256 _shareId
  ) public view returns (uint256 currentPrice) {
    require(_stockId < stocks.length && _shareId < shares.length);
    currentPrice = SafeMath.div(
      SafeMath.mul(stocks[_stockId].priceIncrease, shares[_shareId].purchasePrice),
      100
    );
  }

  /**
   * @dev Calculates the current token owner's payout amount if the token sells
   * @param _currentPrice the current total sale price of the asset
   * @param _priceIncrease the percentage of price increase per sale
   */
  function getPurchasePrice(
    uint256 _currentPrice,
    uint256 _priceIncrease
  ) internal pure returns (uint256 currentPrice) {
    currentPrice = SafeMath.div(
      SafeMath.mul(_currentPrice, _priceIncrease),
      100
    );
  }

  /**
   * @dev Calculates the payout of each dividend recipient in the event of a share sale.
   * @param _purchasePrice the current total sale price of the asset
   * @param _stockDividend the percentage of the sale allocated for dividends
   * @param _numDividends the number of dividend holders to share the total dividend amount
   */
  function getDividendPayout(
    uint256 _purchasePrice,
    uint256 _stockDividend,
    uint256 _numDividends
  ) public pure returns (uint256 dividend) {
    uint256 dividendPerRecipient = SafeMath.sub(
      SafeMath.div(SafeMath.mul(_purchasePrice, _stockDividend), 100),
      _purchasePrice
    );
    dividend = SafeMath.div(dividendPerRecipient, _numDividends);
  }

  /**
  * @dev Fetches the number of stocks available
  */
  function getStockCount() public view returns (uint256) {
    return stocks.length;
  }

  /**
  * @dev Fetches the share IDs connected to the given stock
  * @param _stockId the ID of the stock to count shares of
  */
  function getStockShares(uint256 _stockId) public view returns (uint256[]) {
    return stockShares[_stockId];
  }

  /**
   * @dev Transfers a set amount of ETH from the contract to the specified address
   * @notice Proceeds are paid out right away, but the contract might receive unexpected funds
   */
  function withdraw(uint256 _amount, address _destination) public onlyOwner {
    require(_destination != address(0));
    require(_amount <= this.balance);
    _destination.transfer(_amount == 0 ? this.balance : _amount);
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_destination","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_stockId","type":"uint256"},{"name":"_shareId","type":"uint256"}],"name":"getCurrentPrice","outputs":[{"name":"currentPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stocks","outputs":[{"name":"name","type":"string"},{"name":"priceIncrease","type":"uint256"},{"name":"dividendAmount","type":"uint256"},{"name":"lastAction","type":"uint256"},{"name":"dividendsPaid","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_purchasePrice","type":"uint256"},{"name":"_stockDividend","type":"uint256"},{"name":"_numDividends","type":"uint256"}],"name":"getDividendPayout","outputs":[{"name":"dividend","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_stockId","type":"uint256"}],"name":"getStockShares","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"stockShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"shares","outputs":[{"name":"holder","type":"address"},{"name":"purchasePrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_stockId","type":"uint256"},{"name":"_shareId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStockCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_initialPrice","type":"uint256"},{"name":"_priceIncrease","type":"uint256"},{"name":"_dividendAmount","type":"uint256"},{"name":"_numShares","type":"uint8"}],"name":"addStock","outputs":[{"name":"stockId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"company","type":"string"},{"indexed":false,"name":"basePrice","type":"uint256"}],"name":"CompanyListed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"shareholder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DividendPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"stockId","type":"uint256"},{"indexed":false,"name":"shareId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"ShareSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611492806100536000396000f3006060604052600436106100b9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146100bb57806304673368146100fd578063226b876c1461013d578063269aacc8146102125780632deb79b61461025b578063541b9ff4146102d357806357a858fc1461031357806370876c981461037d5780638da5cb5b1461039e578063dc08e5ff146103f3578063e079e7e51461041c578063f2fde38b146104b4575b005b34156100c657600080fd5b6100fb600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506104ed565b005b341561010857600080fd5b6101276004808035906020019091908035906020019091905050610614565b6040518082815260200191505060405180910390f35b341561014857600080fd5b61015e6004808035906020019091905050610695565b60405180806020018681526020018581526020018481526020018381526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156101ff5780601f106101d4576101008083540402835291602001916101ff565b820191906000526020600020905b8154815290600101906020018083116101e257829003601f168201915b5050965050505050505060405180910390f35b341561021d57600080fd5b61024560048080359060200190919080359060200190919080359060200190919050506106d9565b6040518082815260200191505060405180910390f35b341561026657600080fd5b61027c600480803590602001909190505061070f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102bf5780820151818401526020810190506102a4565b505050509050019250505060405180910390f35b34156102de57600080fd5b6102fd6004808035906020019091908035906020019091905050610780565b6040518082815260200191505060405180910390f35b341561031e57600080fd5b61033460048080359060200190919050506107b1565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61039c6004808035906020019091908035906020019091905050610804565b005b34156103a957600080fd5b6103b1610d10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fe57600080fd5b610406610d35565b6040518082815260200191505060405180910390f35b341561042757600080fd5b61049e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001909190803560ff16906020019091905050610d42565b6040518082815260200191505060405180910390f35b34156104bf57600080fd5b6104eb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611038565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561054857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561058457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163182111515156105aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600084146105d257836105eb565b3073ffffffffffffffffffffffffffffffffffffffff16315b9081150290604051600060405180830381858888f19350505050151561061057600080fd5b5050565b60006001805490508310801561062e575060028054905082105b151561063957600080fd5b61068d61068660018581548110151561064e57fe5b90600052602060002090600502016001015460028581548110151561066f57fe5b90600052602060002090600202016001015461118d565b60646111c8565b905092915050565b6001818154811015156106a457fe5b906000526020600020906005020160009150905080600001908060010154908060020154908060030154908060040154905085565b6000806106f96106f36106ec878761118d565b60646111c8565b866111e3565b905061070581846111c8565b9150509392505050565b610717611238565b6003600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b60036020528160005260406000208181548110151561079b57fe5b9060005260206000209001600091509150505481565b6002818154811015156107c057fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60008060008060008060008060006001805490508b10801561082a57506002805490508a105b151561083557600080fd5b60018b81548110151561084457fe5b90600052602060002090600502019850600360008c815260200190815260200160002097506002888b81548110151561087957fe5b90600052602060002090015481548110151561089157fe5b906000526020600020906002020196508660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695506108da87600101548a600101546111fc565b94508434101515156108eb57600080fd5b8434111561093d573373ffffffffffffffffffffffffffffffffffffffff166108fc61091734886111e3565b9081150290604051600060405180830381858888f19350505050151561093c57600080fd5b5b610953858a6002015460018b80549050036106d9565b935061096f8561096a8660018c805490500361118d565b6111e3565b925061097c8360286111c8565b91506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109df57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc610a0385856111e3565b9081150290604051600060405180830381858888f193505050501515610a2857600080fd5b600090505b87805490508160ff161015610bcf57898160ff16141515610bc2576002888260ff16815481101515610a5b57fe5b906000526020600020900154815481101515610a7357fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501515610ae457600080fd5b610af289600401548561121a565b89600401819055507fb70dbf0e62ac2891fc0dccea9117219168105932d8f1537152476ad5e9f7a19d6002898360ff16815481101515610b2e57fe5b906000526020600020900154815481101515610b4657fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b8080600101915050610a2d565b7f03947f2be2f87e89ad65c0eb1a30dbc46991098b133f174f769f9ea4e32d107e8b8b8960010154888b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633604051808781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1338760000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508487600101819055504289600301819055505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600180549050905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da057600080fd5b600180549050915060018054806001018281610dbc919061124c565b9160005260206000209060050201600060a0604051908101604052808b815260200160008a14610dec5789610def565b60825b815260200160008914610e025788610e05565b606e5b8152602001428152602001600081525090919091506000820151816000019080519060200190610e3692919061127e565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505050600090505b8260ff168160ff161015610f8a57600360008381526020019081526020016000208054806001018281610e9a91906112fe565b916000526020600020900160006002805490509091909150555060028054806001018281610ec8919061132a565b9160005260206000209060020201600060408051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050508080600101915050610e67565b7f5b8627dd085bdb239ede72bb09c0d05a5262056ee79ba2747bdc9a310a761f6587876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff3578082015181840152602081019050610fd8565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110cf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156111a257600091506111c1565b82840290508284828115156111b357fe5b041415156111bd57fe5b8091505b5092915050565b60008082848115156111d657fe5b0490508091505092915050565b60008282111515156111f157fe5b818303905092915050565b600061121261120b848461118d565b60646111c8565b905092915050565b600080828401905083811015151561122e57fe5b8091505092915050565b602060405190810160405280600081525090565b81548183558181151161127957600502816005028360005260206000209182019101611278919061135c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112bf57805160ff19168380011785556112ed565b828001600101855582156112ed579182015b828111156112ec5782518255916020019190600101906112d1565b5b5090506112fa91906113ab565b5090565b8154818355818115116113255781836000526020600020918201910161132491906113ab565b5b505050565b8154818355818115116113575760020281600202836000526020600020918201910161135691906113d0565b5b505050565b6113a891905b808211156113a4576000808201600061137b919061141e565b600182016000905560028201600090556003820160009055600482016000905550600501611362565b5090565b90565b6113cd91905b808211156113c95760008160009055506001016113b1565b5090565b90565b61141b91905b8082111561141757600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055506002016113d6565b5090565b90565b50805460018160011615610100020316600290046000825580601f106114445750611463565b601f01602090049060005260206000209081019061146291906113ab565b5b505600a165627a7a7230582058b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca0029

Deployed Bytecode

0x6060604052600436106100b9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146100bb57806304673368146100fd578063226b876c1461013d578063269aacc8146102125780632deb79b61461025b578063541b9ff4146102d357806357a858fc1461031357806370876c981461037d5780638da5cb5b1461039e578063dc08e5ff146103f3578063e079e7e51461041c578063f2fde38b146104b4575b005b34156100c657600080fd5b6100fb600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506104ed565b005b341561010857600080fd5b6101276004808035906020019091908035906020019091905050610614565b6040518082815260200191505060405180910390f35b341561014857600080fd5b61015e6004808035906020019091905050610695565b60405180806020018681526020018581526020018481526020018381526020018281038252878181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156101ff5780601f106101d4576101008083540402835291602001916101ff565b820191906000526020600020905b8154815290600101906020018083116101e257829003601f168201915b5050965050505050505060405180910390f35b341561021d57600080fd5b61024560048080359060200190919080359060200190919080359060200190919050506106d9565b6040518082815260200191505060405180910390f35b341561026657600080fd5b61027c600480803590602001909190505061070f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102bf5780820151818401526020810190506102a4565b505050509050019250505060405180910390f35b34156102de57600080fd5b6102fd6004808035906020019091908035906020019091905050610780565b6040518082815260200191505060405180910390f35b341561031e57600080fd5b61033460048080359060200190919050506107b1565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61039c6004808035906020019091908035906020019091905050610804565b005b34156103a957600080fd5b6103b1610d10565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fe57600080fd5b610406610d35565b6040518082815260200191505060405180910390f35b341561042757600080fd5b61049e600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001909190803590602001909190803560ff16906020019091905050610d42565b6040518082815260200191505060405180910390f35b34156104bf57600080fd5b6104eb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611038565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561054857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561058457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163182111515156105aa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc600084146105d257836105eb565b3073ffffffffffffffffffffffffffffffffffffffff16315b9081150290604051600060405180830381858888f19350505050151561061057600080fd5b5050565b60006001805490508310801561062e575060028054905082105b151561063957600080fd5b61068d61068660018581548110151561064e57fe5b90600052602060002090600502016001015460028581548110151561066f57fe5b90600052602060002090600202016001015461118d565b60646111c8565b905092915050565b6001818154811015156106a457fe5b906000526020600020906005020160009150905080600001908060010154908060020154908060030154908060040154905085565b6000806106f96106f36106ec878761118d565b60646111c8565b866111e3565b905061070581846111c8565b9150509392505050565b610717611238565b6003600083815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561077457602002820191906000526020600020905b815481526020019060010190808311610760575b50505050509050919050565b60036020528160005260406000208181548110151561079b57fe5b9060005260206000209001600091509150505481565b6002818154811015156107c057fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60008060008060008060008060006001805490508b10801561082a57506002805490508a105b151561083557600080fd5b60018b81548110151561084457fe5b90600052602060002090600502019850600360008c815260200190815260200160002097506002888b81548110151561087957fe5b90600052602060002090015481548110151561089157fe5b906000526020600020906002020196508660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1695506108da87600101548a600101546111fc565b94508434101515156108eb57600080fd5b8434111561093d573373ffffffffffffffffffffffffffffffffffffffff166108fc61091734886111e3565b9081150290604051600060405180830381858888f19350505050151561093c57600080fd5b5b610953858a6002015460018b80549050036106d9565b935061096f8561096a8660018c805490500361118d565b6111e3565b925061097c8360286111c8565b91506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109df57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc610a0385856111e3565b9081150290604051600060405180830381858888f193505050501515610a2857600080fd5b600090505b87805490508160ff161015610bcf57898160ff16141515610bc2576002888260ff16815481101515610a5b57fe5b906000526020600020900154815481101515610a7357fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501515610ae457600080fd5b610af289600401548561121a565b89600401819055507fb70dbf0e62ac2891fc0dccea9117219168105932d8f1537152476ad5e9f7a19d6002898360ff16815481101515610b2e57fe5b906000526020600020900154815481101515610b4657fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15b8080600101915050610a2d565b7f03947f2be2f87e89ad65c0eb1a30dbc46991098b133f174f769f9ea4e32d107e8b8b8960010154888b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633604051808781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390a1338760000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508487600101819055504289600301819055505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600180549050905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610da057600080fd5b600180549050915060018054806001018281610dbc919061124c565b9160005260206000209060050201600060a0604051908101604052808b815260200160008a14610dec5789610def565b60825b815260200160008914610e025788610e05565b606e5b8152602001428152602001600081525090919091506000820151816000019080519060200190610e3692919061127e565b5060208201518160010155604082015181600201556060820151816003015560808201518160040155505050600090505b8260ff168160ff161015610f8a57600360008381526020019081526020016000208054806001018281610e9a91906112fe565b916000526020600020900160006002805490509091909150555060028054806001018281610ec8919061132a565b9160005260206000209060020201600060408051908101604052806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101555050508080600101915050610e67565b7f5b8627dd085bdb239ede72bb09c0d05a5262056ee79ba2747bdc9a310a761f6587876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610ff3578082015181840152602081019050610fd8565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15095945050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110cf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156111a257600091506111c1565b82840290508284828115156111b357fe5b041415156111bd57fe5b8091505b5092915050565b60008082848115156111d657fe5b0490508091505092915050565b60008282111515156111f157fe5b818303905092915050565b600061121261120b848461118d565b60646111c8565b905092915050565b600080828401905083811015151561122e57fe5b8091505092915050565b602060405190810160405280600081525090565b81548183558181151161127957600502816005028360005260206000209182019101611278919061135c565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112bf57805160ff19168380011785556112ed565b828001600101855582156112ed579182015b828111156112ec5782518255916020019190600101906112d1565b5b5090506112fa91906113ab565b5090565b8154818355818115116113255781836000526020600020918201910161132491906113ab565b5b505050565b8154818355818115116113575760020281600202836000526020600020918201910161135691906113d0565b5b505050565b6113a891905b808211156113a4576000808201600061137b919061141e565b600182016000905560028201600090556003820160009055600482016000905550600501611362565b5090565b90565b6113cd91905b808211156113c95760008160009055506001016113b1565b5090565b90565b61141b91905b8082111561141757600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160009055506002016113d6565b5090565b90565b50805460018160011615610100020316600290046000825580601f106114445750611463565b601f01602090049060005260206000209081019061146291906113ab565b5b505600a165627a7a7230582058b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca0029

Swarm Source

bzzr://58b525b30937f9cd1f53276eb5e25c74ffebb3304047fba1a28b079490c8b2ca

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.