ETH Price: $2,019.25 (-0.48%)

Contract

0xB2eE4ACf44b12f85885F23494A739357575a1760
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer57558922018-06-08 23:17:562483 days ago1528499876IN
0xB2eE4ACf...7575a1760
0 ETH0.000286266
Withdraw All52170132018-03-08 6:29:242576 days ago1520490564IN
0xB2eE4ACf...7575a1760
0 ETH0.000154294
Buy51843822018-03-02 18:01:082581 days ago1520013668IN
0xB2eE4ACf...7575a1760
0.32 ETH0.000133382
Buy51834622018-03-02 14:12:082581 days ago1519999928IN
0xB2eE4ACf...7575a1760
0.3072 ETH0.000245073
Buy51808302018-03-02 3:14:102582 days ago1519960450IN
0xB2eE4ACf...7575a1760
0.04 ETH0.0011509450.1
Withdraw All51807132018-03-02 2:48:202582 days ago1519958900IN
0xB2eE4ACf...7575a1760
0 ETH0.0005785915
Withdraw51807022018-03-02 2:43:022582 days ago1519958582IN
0xB2eE4ACf...7575a1760
0 ETH0.0005669810
Buy51641532018-02-27 7:32:582585 days ago1519716778IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0002297310
Buy51641462018-02-27 7:30:482585 days ago1519716648IN
0xB2eE4ACf...7575a1760
0.16 ETH0.0002297310
Buy51641422018-02-27 7:29:302585 days ago1519716570IN
0xB2eE4ACf...7575a1760
0.04 ETH0.0007351332
Buy51641412018-02-27 7:29:022585 days ago1519716542IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0002297310
Buy51641412018-02-27 7:29:022585 days ago1519716542IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0004594620
Buy51641392018-02-27 7:28:402585 days ago1519716520IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0011486550
Buy51641372018-02-27 7:28:222585 days ago1519716502IN
0xB2eE4ACf...7575a1760
0.04 ETH0.000068913
Buy51641352018-02-27 7:28:102585 days ago1519716490IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0011486550
Buy51641342018-02-27 7:27:352585 days ago1519716455IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0011486550
Buy51641322018-02-27 7:27:202585 days ago1519716440IN
0xB2eE4ACf...7575a1760
0.16 ETH0.0003445915
Buy51641312018-02-27 7:27:162585 days ago1519716436IN
0xB2eE4ACf...7575a1760
0.16 ETH0.000114865
Buy51641282018-02-27 7:26:282585 days ago1519716388IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0004824321
Buy51641272018-02-27 7:25:552585 days ago1519716355IN
0xB2eE4ACf...7575a1760
0.02 ETH0.000068913
Buy51641232018-02-27 7:24:452585 days ago1519716285IN
0xB2eE4ACf...7575a1760
0.02 ETH0.0002297310
Buy51641232018-02-27 7:24:452585 days ago1519716285IN
0xB2eE4ACf...7575a1760
0.08 ETH0.0003445915
Buy51641232018-02-27 7:24:452585 days ago1519716285IN
0xB2eE4ACf...7575a1760
0.02 ETH0.0003445915
Buy51641232018-02-27 7:24:452585 days ago1519716285IN
0xB2eE4ACf...7575a1760
0.04 ETH0.0004594620
Buy51641222018-02-27 7:24:112585 days ago1519716251IN
0xB2eE4ACf...7575a1760
0.02 ETH0.0002297310
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer52170132018-03-08 6:29:242576 days ago1520490564
0xB2eE4ACf...7575a1760
0.025088 ETH
Transfer52170132018-03-08 6:29:242576 days ago1520490564
0xB2eE4ACf...7575a1760
0.025088 ETH
Transfer51843822018-03-02 18:01:082581 days ago1520013668
0xB2eE4ACf...7575a1760
0.2944 ETH
Transfer51834622018-03-02 14:12:082581 days ago1519999928
0xB2eE4ACf...7575a1760
0.282624 ETH
Transfer51807132018-03-02 2:48:202582 days ago1519958900
0xB2eE4ACf...7575a1760
8.29604733 ETH
Transfer51807132018-03-02 2:48:202582 days ago1519958900
0xB2eE4ACf...7575a1760
8.29604733 ETH
Transfer51807022018-03-02 2:43:022582 days ago1519958582
0xB2eE4ACf...7575a1760
5.5275 ETH
Transfer51581052018-02-26 6:21:342586 days ago1519626094
0xB2eE4ACf...7575a1760
1.0174464 ETH
Transfer51579572018-02-26 5:46:052586 days ago1519623965
0xB2eE4ACf...7575a1760
0.6782976 ETH
Transfer51579152018-02-26 5:36:532586 days ago1519623413
0xB2eE4ACf...7575a1760
0.2944 ETH
Transfer51574992018-02-26 3:50:192586 days ago1519617019
0xB2eE4ACf...7575a1760
0.2944 ETH
Transfer51574862018-02-26 3:47:182586 days ago1519616838
0xB2eE4ACf...7575a1760
0.565248 ETH
Transfer51574752018-02-26 3:44:452586 days ago1519616685
0xB2eE4ACf...7575a1760
1.271808 ETH
Transfer51567592018-02-26 0:42:562586 days ago1519605776
0xB2eE4ACf...7575a1760
0.97674854 ETH
Transfer51566552018-02-26 0:21:432586 days ago1519604503
0xB2eE4ACf...7575a1760
1.75814737 ETH
Transfer51451242018-02-24 1:15:032588 days ago1519434903
0xB2eE4ACf...7575a1760
0.70656 ETH
Transfer51450702018-02-24 0:58:232588 days ago1519433903
0xB2eE4ACf...7575a1760
0.5888 ETH
Transfer51446372018-02-23 23:09:322588 days ago1519427372
0xB2eE4ACf...7575a1760
0.565248 ETH
Transfer51446192018-02-23 23:06:282588 days ago1519427188
0xB2eE4ACf...7575a1760
1.46512281 ETH
Transfer51446182018-02-23 23:06:192588 days ago1519427179
0xB2eE4ACf...7575a1760
1.17209825 ETH
Transfer51446182018-02-23 23:06:192588 days ago1519427179
0xB2eE4ACf...7575a1760
1.22093568 ETH
Transfer51446112018-02-23 23:04:192588 days ago1519427059
0xB2eE4ACf...7575a1760
1.46512281 ETH
Transfer51445942018-02-23 22:59:372588 days ago1519426777
0xB2eE4ACf...7575a1760
0.97674854 ETH
Transfer51445902018-02-23 22:59:132588 days ago1519426753
0xB2eE4ACf...7575a1760
1.0174464 ETH
Transfer51445892018-02-23 22:58:532588 days ago1519426733
0xB2eE4ACf...7575a1760
1.0174464 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KpopToken

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-19
*/

pragma solidity ^0.4.18;

// KpopToken is a ERC-721 token (https://github.com/ethereum/eips/issues/721)
// Kpop celebrity cards as digital collectibles
// Kpop.io is the official website

contract ERC721 {
  function approve(address _to, uint _tokenId) public;
  function balanceOf(address _owner) public view returns (uint balance);
  function implementsERC721() public pure returns (bool);
  function ownerOf(uint _tokenId) public view returns (address addr);
  function takeOwnership(uint _tokenId) public;
  function totalSupply() public view returns (uint total);
  function transferFrom(address _from, address _to, uint _tokenId) public;
  function transfer(address _to, uint _tokenId) public;

  event Transfer(address indexed from, address indexed to, uint tokenId);
  event Approval(address indexed owner, address indexed approved, uint tokenId);
}

contract KpopToken is ERC721 {
  address public author;
  address public coauthor;

  string public constant NAME = "Kpopio";
  string public constant SYMBOL = "KpopToken";

  uint public GROWTH_BUMP = 0.1 ether;
  uint public MIN_STARTING_PRICE = 0.002 ether;
  uint public PRICE_INCREASE_SCALE = 120; // 120% of previous price

  struct Celeb {
    string name;
  }

  Celeb[] public celebs;

  mapping(uint => address) public tokenIdToOwner;
  mapping(uint => uint) public tokenIdToPrice; // in wei
  mapping(address => uint) public userToNumCelebs;
  mapping(uint => address) public tokenIdToApprovedRecipient;

  event Transfer(address indexed from, address indexed to, uint tokenId);
  event Approval(address indexed owner, address indexed approved, uint tokenId);
  event CelebSold(uint tokenId, uint oldPrice, uint newPrice, string celebName, address prevOwner, address newOwner);

  function KpopToken() public {
    author = msg.sender;
    coauthor = msg.sender;
  }

  function _transfer(address _from, address _to, uint _tokenId) private {
    require(ownerOf(_tokenId) == _from);
    require(!isNullAddress(_to));
    require(balanceOf(_from) > 0);

    uint prevBalances = balanceOf(_from) + balanceOf(_to);
    tokenIdToOwner[_tokenId] = _to;
    userToNumCelebs[_from]--;
    userToNumCelebs[_to]++;

    // Clear outstanding approvals
    delete tokenIdToApprovedRecipient[_tokenId];

    Transfer(_from, _to, _tokenId);
    
    assert(balanceOf(_from) + balanceOf(_to) == prevBalances);
  }

  function buy(uint _tokenId) payable public {
    address prevOwner = ownerOf(_tokenId);
    uint currentPrice = tokenIdToPrice[_tokenId];

    require(prevOwner != msg.sender);
    require(!isNullAddress(msg.sender));
    require(msg.value >= currentPrice);

    // Take a cut off the payment
    uint payment = uint(SafeMath.div(SafeMath.mul(currentPrice, 92), 100));
    uint leftover = SafeMath.sub(msg.value, currentPrice);
    uint newPrice;

    _transfer(prevOwner, msg.sender, _tokenId);

    if (currentPrice < GROWTH_BUMP) {
      newPrice = SafeMath.mul(currentPrice, 2);
    } else {
      newPrice = SafeMath.div(SafeMath.mul(currentPrice, PRICE_INCREASE_SCALE), 100);
    }

    tokenIdToPrice[_tokenId] = newPrice;

    if (prevOwner != address(this)) {
      prevOwner.transfer(payment);
    }

    CelebSold(_tokenId, currentPrice, newPrice,
      celebs[_tokenId].name, prevOwner, msg.sender);

    msg.sender.transfer(leftover);
  }

  function balanceOf(address _owner) public view returns (uint balance) {
    return userToNumCelebs[_owner];
  }

  function ownerOf(uint _tokenId) public view returns (address addr) {
    return tokenIdToOwner[_tokenId];
  }

  function totalSupply() public view returns (uint total) {
    return celebs.length;
  }

  function transfer(address _to, uint _tokenId) public {
    _transfer(msg.sender, _to, _tokenId);
  }

  /** START FUNCTIONS FOR AUTHORS **/

  function createCeleb(string _name, uint _price) public onlyAuthors {
    require(_price >= MIN_STARTING_PRICE);

    uint tokenId = celebs.push(Celeb(_name)) - 1;
    tokenIdToOwner[tokenId] = author;
    tokenIdToPrice[tokenId] = _price;
    userToNumCelebs[author]++;
  }

  function withdraw(uint _amount, address _to) public onlyAuthors {
    require(!isNullAddress(_to));
    require(_amount <= this.balance);

    _to.transfer(_amount);
  }

  function withdrawAll() public onlyAuthors {
    require(author != 0x0);
    require(coauthor != 0x0);

    uint halfBalance = uint(SafeMath.div(this.balance, 2));

    author.transfer(halfBalance);
    coauthor.transfer(halfBalance);
  }

  function setCoAuthor(address _coauthor) public onlyAuthor {
    require(!isNullAddress(_coauthor));

    coauthor = _coauthor;
  }

  /** END FUNCTIONS FOR AUTHORS **/

  function getCeleb(uint _tokenId) public view returns (
    string name,
    uint price,
    address owner
  ) {
    name = celebs[_tokenId].name;
    price = tokenIdToPrice[_tokenId];
    owner = tokenIdToOwner[_tokenId];
  }

  /** START FUNCTIONS RELATED TO EXTERNAL CONTRACT INTERACTIONS **/

  function approve(address _to, uint _tokenId) public {
    require(msg.sender == ownerOf(_tokenId));

    tokenIdToApprovedRecipient[_tokenId] = _to;

    Approval(msg.sender, _to, _tokenId);
  }

  function transferFrom(address _from, address _to, uint _tokenId) public {
    require(ownerOf(_tokenId) == _from);
    require(isApproved(_to, _tokenId));
    require(!isNullAddress(_to));

    _transfer(_from, _to, _tokenId);
  }

  function takeOwnership(uint _tokenId) public {
    require(!isNullAddress(msg.sender));
    require(isApproved(msg.sender, _tokenId));

    address currentOwner = tokenIdToOwner[_tokenId];

    _transfer(currentOwner, msg.sender, _tokenId);
  }

  /** END FUNCTIONS RELATED TO EXTERNAL CONTRACT INTERACTIONS **/

  function implementsERC721() public pure returns (bool) {
    return true;
  }

  /** MODIFIERS **/

  modifier onlyAuthor() {
    require(msg.sender == author);
    _;
  }

  modifier onlyAuthors() {
    require(msg.sender == author || msg.sender == coauthor);
    _;
  }

  /** FUNCTIONS THAT WONT BE USED FREQUENTLY **/

  function setMinStartingPrice(uint _price) public onlyAuthors {
    MIN_STARTING_PRICE = _price;
  }

  function setGrowthBump(uint _bump) public onlyAuthors {
    GROWTH_BUMP = _bump;
  }

  function setPriceIncreaseScale(uint _scale) public onlyAuthors {
    PRICE_INCREASE_SCALE = _scale;
  }

  /** PRIVATE FUNCTIONS **/

  function isApproved(address _to, uint _tokenId) private view returns (bool) {
    return tokenIdToApprovedRecipient[_tokenId] == _to;
  }

  function isNullAddress(address _addr) private pure returns (bool) {
    return _addr == 0x0;
  }
}

// https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
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;
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"celebs","outputs":[{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bump","type":"uint256"}],"name":"setGrowthBump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRICE_INCREASE_SCALE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getCeleb","outputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coauthor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coauthor","type":"address"}],"name":"setCoAuthor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"setMinStartingPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_STARTING_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"author","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_price","type":"uint256"}],"name":"createCeleb","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_scale","type":"uint256"}],"name":"setPriceIncreaseScale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToApprovedRecipient","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GROWTH_BUMP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userToNumCelebs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"celebName","type":"string"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"CelebSold","type":"event"}]

606060405267016345785d8a000060025566071afd498d00006003556078600455341561002b57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f8b806100bb6000396000f300606060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce14610179578063095ea7b3146101bb5780630b892e3f146101fd5780630d963235146102b65780631051db34146102d957806318160ddd146103065780631bd8b0411461032f5780631d7bc4491461035857806323b872dd1461042e5780632bddc31c1461048f57806343d1498b146104e45780636352211e1461051d5780636e9e48ef146105805780636fba7544146105e357806370a08231146106065780637c67fb9f14610653578063853828b61461067c578063a3f4df7e14610691578063a6c3e6b91461071f578063a71d818114610774578063a9059cbb146107da578063aad99ef11461081c578063b2e6ceeb1461083f578063b60e6bc014610862578063c43ae983146108c5578063d96a094a146108ee578063f4812eb914610906578063f76f8d781461093d578063fad8200e146109cb575b600080fd5b341561018457600080fd5b6101b9600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a18565b005b34156101c657600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b4a565b005b341561020857600080fd5b61021e6004808035906020019091905050610c47565b60405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b50509250505060405180910390f35b34156102c157600080fd5b6102d76004808035906020019091905050610c70565b005b34156102e457600080fd5b6102ec610d2d565b604051808215151515815260200191505060405180910390f35b341561031157600080fd5b610319610d36565b6040518082815260200191505060405180910390f35b341561033a57600080fd5b610342610d43565b6040518082815260200191505060405180910390f35b341561036357600080fd5b6103796004808035906020019091905050610d49565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156103f15780820151818401526020810190506103d6565b50505050905090810190601f16801561041e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561043957600080fd5b61048d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e5f565b005b341561049a57600080fd5b6104a2610edb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b61051b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f01565b005b341561052857600080fd5b61053e6004808035906020019091905050610fb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050610ff2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ee57600080fd5b6106046004808035906020019091905050611025565b005b341561061157600080fd5b61063d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110e2565b6040518082815260200191505060405180910390f35b341561065e57600080fd5b61066661112b565b6040518082815260200191505060405180910390f35b341561068757600080fd5b61068f611131565b005b341561069c57600080fd5b6106a461135f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e45780820151818401526020810190506106c9565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072a57600080fd5b610732611398565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561077f57600080fd5b6107d8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506113bd565b005b34156107e557600080fd5b61081a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115dd565b005b341561082757600080fd5b61083d60048080359060200190919050506115ec565b005b341561084a57600080fd5b61086060048080359060200190919050506116a9565b005b341561086d57600080fd5b610883600480803590602001909190505061171a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108d057600080fd5b6108d861174d565b6040518082815260200191505060405180910390f35b6109046004808035906020019091905050611753565b005b341561091157600080fd5b6109276004808035906020019091905050611a69565b6040518082815260200191505060405180910390f35b341561094857600080fd5b610950611a81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610990578082015181840152602081019050610975565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d657600080fd5b610a02600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611aba565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610acb57600080fd5b610ad481611ad2565b151515610ae057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610b0657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610b4657600080fd5b5050565b610b5381610fb5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8c57600080fd5b816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600581815481101515610c5657fe5b906000526020600020900160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d185750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2357600080fd5b8060028190555050565b60006001905090565b6000600580549050905090565b60045481565b610d51611e03565b600080600584815481101515610d6357fe5b90600052602060002090016000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e055780601f10610dda57610100808354040283529160200191610e05565b820191906000526020600020905b815481529060010190602001808311610de857829003601f168201915b50505050509250600760008581526020019081526020016000205491506006600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509193909250565b8273ffffffffffffffffffffffffffffffffffffffff16610e7f82610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515610ea157600080fd5b610eab8282611af4565b1515610eb657600080fd5b610ebf82611ad2565b151515610ecb57600080fd5b610ed6838383611b60565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f5c57600080fd5b610f6581611ad2565b151515610f7157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156110d857600080fd5b8060038190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111db5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111e657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561122d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561127557600080fd5b6112973073ffffffffffffffffffffffffffffffffffffffff16316002611d94565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561135c57600080fd5b50565b6040805190810160405280600681526020017f4b706f70696f000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114675750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561147257600080fd5b600354821015151561148357600080fd5b6001600580548060010182816114999190611e17565b9160005260206000209001600060206040519081016040528088815250909190915060008201518160000190805190602001906114d7929190611e43565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007600083815260200190815260200160002081905550600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550505050565b6115e8338383611b60565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561169f57600080fd5b8060048190555050565b60006116b433611ad2565b1515156116c057600080fd5b6116ca3383611af4565b15156116d557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611716813384611b60565b5050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600080600080600061176486610fb5565b9450600760008781526020019081526020016000205493503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156117b757600080fd5b6117c033611ad2565b1515156117cc57600080fd5b8334101515156117db57600080fd5b6117f06117e985605c611daf565b6064611d94565b92506117fc3485611dea565b9150611809853388611b60565b6002548410156118255761181e846002611daf565b905061183e565b61183b61183485600454611daf565b6064611d94565b90505b8060076000888152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156118cc578473ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156118cb57600080fd5b5b7f77bf8b91997cafc1367eb5da889ddc2f196e9eea2aa84e672244db58f1be9c1286858360058a8154811015156118ff57fe5b9060005260206000209001600001893360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a0e5780601f106119e357610100808354040283529160200191611a0e565b820191906000526020600020905b8154815290600101906020018083116119f157829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611a6157600080fd5b505050505050565b60076020528060005260406000206000915090505481565b6040805190810160405280600981526020017f4b706f70546f6b656e000000000000000000000000000000000000000000000081525081565b60086020528060005260406000206000915090505481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff16611b8283610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515611ba457600080fd5b611bad83611ad2565b151515611bb957600080fd5b6000611bc4856110e2565b111515611bd057600080fd5b611bd9836110e2565b611be2856110e2565b019050826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a380611d7b846110e2565b611d84866110e2565b01141515611d8e57fe5b50505050565b6000808284811515611da257fe5b0490508091505092915050565b6000806000841415611dc45760009150611de3565b8284029050828482811515611dd557fe5b04141515611ddf57fe5b8091505b5092915050565b6000828211151515611df857fe5b818303905092915050565b602060405190810160405280600081525090565b815481835581811511611e3e57818360005260206000209182019101611e3d9190611ec3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8457805160ff1916838001178555611eb2565b82800160010185558215611eb2579182015b82811115611eb1578251825591602001919060010190611e96565b5b509050611ebf9190611ef2565b5090565b611eef91905b80821115611eeb5760008082016000611ee29190611f17565b50600101611ec9565b5090565b90565b611f1491905b80821115611f10576000816000905550600101611ef8565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f3d5750611f5c565b601f016020900490600052602060002090810190611f5b9190611ef2565b5b505600a165627a7a7230582048cde4721834ff450031a5e28cf17648686cc8b72221a0fd66b255987c6b36bb0029

Deployed Bytecode

0x606060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce14610179578063095ea7b3146101bb5780630b892e3f146101fd5780630d963235146102b65780631051db34146102d957806318160ddd146103065780631bd8b0411461032f5780631d7bc4491461035857806323b872dd1461042e5780632bddc31c1461048f57806343d1498b146104e45780636352211e1461051d5780636e9e48ef146105805780636fba7544146105e357806370a08231146106065780637c67fb9f14610653578063853828b61461067c578063a3f4df7e14610691578063a6c3e6b91461071f578063a71d818114610774578063a9059cbb146107da578063aad99ef11461081c578063b2e6ceeb1461083f578063b60e6bc014610862578063c43ae983146108c5578063d96a094a146108ee578063f4812eb914610906578063f76f8d781461093d578063fad8200e146109cb575b600080fd5b341561018457600080fd5b6101b9600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a18565b005b34156101c657600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b4a565b005b341561020857600080fd5b61021e6004808035906020019091905050610c47565b60405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b50509250505060405180910390f35b34156102c157600080fd5b6102d76004808035906020019091905050610c70565b005b34156102e457600080fd5b6102ec610d2d565b604051808215151515815260200191505060405180910390f35b341561031157600080fd5b610319610d36565b6040518082815260200191505060405180910390f35b341561033a57600080fd5b610342610d43565b6040518082815260200191505060405180910390f35b341561036357600080fd5b6103796004808035906020019091905050610d49565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156103f15780820151818401526020810190506103d6565b50505050905090810190601f16801561041e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561043957600080fd5b61048d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e5f565b005b341561049a57600080fd5b6104a2610edb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b61051b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f01565b005b341561052857600080fd5b61053e6004808035906020019091905050610fb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050610ff2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ee57600080fd5b6106046004808035906020019091905050611025565b005b341561061157600080fd5b61063d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110e2565b6040518082815260200191505060405180910390f35b341561065e57600080fd5b61066661112b565b6040518082815260200191505060405180910390f35b341561068757600080fd5b61068f611131565b005b341561069c57600080fd5b6106a461135f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e45780820151818401526020810190506106c9565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072a57600080fd5b610732611398565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561077f57600080fd5b6107d8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506113bd565b005b34156107e557600080fd5b61081a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115dd565b005b341561082757600080fd5b61083d60048080359060200190919050506115ec565b005b341561084a57600080fd5b61086060048080359060200190919050506116a9565b005b341561086d57600080fd5b610883600480803590602001909190505061171a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108d057600080fd5b6108d861174d565b6040518082815260200191505060405180910390f35b6109046004808035906020019091905050611753565b005b341561091157600080fd5b6109276004808035906020019091905050611a69565b6040518082815260200191505060405180910390f35b341561094857600080fd5b610950611a81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610990578082015181840152602081019050610975565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d657600080fd5b610a02600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611aba565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610acb57600080fd5b610ad481611ad2565b151515610ae057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610b0657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610b4657600080fd5b5050565b610b5381610fb5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8c57600080fd5b816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600581815481101515610c5657fe5b906000526020600020900160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d185750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2357600080fd5b8060028190555050565b60006001905090565b6000600580549050905090565b60045481565b610d51611e03565b600080600584815481101515610d6357fe5b90600052602060002090016000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e055780601f10610dda57610100808354040283529160200191610e05565b820191906000526020600020905b815481529060010190602001808311610de857829003601f168201915b50505050509250600760008581526020019081526020016000205491506006600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509193909250565b8273ffffffffffffffffffffffffffffffffffffffff16610e7f82610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515610ea157600080fd5b610eab8282611af4565b1515610eb657600080fd5b610ebf82611ad2565b151515610ecb57600080fd5b610ed6838383611b60565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f5c57600080fd5b610f6581611ad2565b151515610f7157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156110d857600080fd5b8060038190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111db5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111e657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561122d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561127557600080fd5b6112973073ffffffffffffffffffffffffffffffffffffffff16316002611d94565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561135c57600080fd5b50565b6040805190810160405280600681526020017f4b706f70696f000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114675750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561147257600080fd5b600354821015151561148357600080fd5b6001600580548060010182816114999190611e17565b9160005260206000209001600060206040519081016040528088815250909190915060008201518160000190805190602001906114d7929190611e43565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007600083815260200190815260200160002081905550600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550505050565b6115e8338383611b60565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561169f57600080fd5b8060048190555050565b60006116b433611ad2565b1515156116c057600080fd5b6116ca3383611af4565b15156116d557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611716813384611b60565b5050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600080600080600061176486610fb5565b9450600760008781526020019081526020016000205493503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156117b757600080fd5b6117c033611ad2565b1515156117cc57600080fd5b8334101515156117db57600080fd5b6117f06117e985605c611daf565b6064611d94565b92506117fc3485611dea565b9150611809853388611b60565b6002548410156118255761181e846002611daf565b905061183e565b61183b61183485600454611daf565b6064611d94565b90505b8060076000888152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156118cc578473ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156118cb57600080fd5b5b7f77bf8b91997cafc1367eb5da889ddc2f196e9eea2aa84e672244db58f1be9c1286858360058a8154811015156118ff57fe5b9060005260206000209001600001893360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a0e5780601f106119e357610100808354040283529160200191611a0e565b820191906000526020600020905b8154815290600101906020018083116119f157829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611a6157600080fd5b505050505050565b60076020528060005260406000206000915090505481565b6040805190810160405280600981526020017f4b706f70546f6b656e000000000000000000000000000000000000000000000081525081565b60086020528060005260406000206000915090505481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff16611b8283610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515611ba457600080fd5b611bad83611ad2565b151515611bb957600080fd5b6000611bc4856110e2565b111515611bd057600080fd5b611bd9836110e2565b611be2856110e2565b019050826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a380611d7b846110e2565b611d84866110e2565b01141515611d8e57fe5b50505050565b6000808284811515611da257fe5b0490508091505092915050565b6000806000841415611dc45760009150611de3565b8284029050828482811515611dd557fe5b04141515611ddf57fe5b8091505b5092915050565b6000828211151515611df857fe5b818303905092915050565b602060405190810160405280600081525090565b815481835581811511611e3e57818360005260206000209182019101611e3d9190611ec3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8457805160ff1916838001178555611eb2565b82800160010185558215611eb2579182015b82811115611eb1578251825591602001919060010190611e96565b5b509050611ebf9190611ef2565b5090565b611eef91905b80821115611eeb5760008082016000611ee29190611f17565b50600101611ec9565b5090565b90565b611f1491905b80821115611f10576000816000905550600101611ef8565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f3d5750611f5c565b601f016020900490600052602060002090810190611f5b9190611ef2565b5b505600a165627a7a7230582048cde4721834ff450031a5e28cf17648686cc8b72221a0fd66b255987c6b36bb0029

Swarm Source

bzzr://48cde4721834ff450031a5e28cf17648686cc8b72221a0fd66b255987c6b36bb

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.