ETH Price: $1,995.76 (+2.39%)
 

Overview

ETH Balance

0.4578 ETH

Eth Value

$913.66 (@ $1,995.76/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy140149092022-01-16 6:33:521507 days ago1642314832IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.0039439151.26406654
Buy140148992022-01-16 6:30:591507 days ago1642314659IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.00300075115.09066653
Buy140139962022-01-16 3:06:491507 days ago1642302409IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.0024547394.14854513
Buy140077812022-01-15 3:58:151508 days ago1642219095IN
0xffd4E8a6...f54Ca93E8
0.1001 ETH0.0038537147.73638904
Buy140077682022-01-15 3:54:421508 days ago1642218882IN
0xffd4E8a6...f54Ca93E8
0.1001 ETH0.00359938137.98675336
Buy139139382021-12-31 15:32:141522 days ago1640964734IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.0051328681.63211651
Create Sale139025602021-12-29 21:01:511524 days ago1640811711IN
0xffd4E8a6...f54Ca93E8
0 ETH0.01326532116.79791818
Buy139024452021-12-29 20:34:401524 days ago1640810080IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.0025460297.649862
Buy139024322021-12-29 20:31:371524 days ago1640809897IN
0xffd4E8a6...f54Ca93E8
0.015 ETH0.006556781.98140845
Create Sale139022832021-12-29 20:03:311524 days ago1640808211IN
0xffd4E8a6...f54Ca93E8
0 ETH0.01697811143.4265195
Cancel Sale138053452021-12-14 20:04:341539 days ago1639512274IN
0xffd4E8a6...f54Ca93E8
0 ETH0.0044635386.63527566
Cancel Sale138053402021-12-14 20:02:181539 days ago1639512138IN
0xffd4E8a6...f54Ca93E8
0 ETH0.00161767.89556299
Cancel Sale138053392021-12-14 20:02:041539 days ago1639512124IN
0xffd4E8a6...f54Ca93E8
0 ETH0.0044143965.78738652
Buy131813622021-09-07 22:33:271637 days ago1631054007IN
0xffd4E8a6...f54Ca93E8
0.1001 ETH0.00262884100.78013524
Buy131134462021-08-28 10:53:421647 days ago1630148022IN
0xffd4E8a6...f54Ca93E8
0.1001 ETH0.0043812350.53909375
Create Sale68991952018-12-16 20:24:442633 days ago1544991884IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000200422
Create Sale68991912018-12-16 20:23:412633 days ago1544991821IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000200422
Create Sale68989472018-12-16 19:21:162633 days ago1544988076IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000200422
Create Sale68989472018-12-16 19:21:162633 days ago1544988076IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000200422
Create Sale68600772018-12-10 9:31:372639 days ago1544434297IN
0xffd4E8a6...f54Ca93E8
0 ETH0.00034114
Create Sale67898402018-11-28 19:05:012651 days ago1543431901IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000801688
Update Sale Pric...67476932018-11-21 20:50:342658 days ago1542833434IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000121444
Update Sale Pric...66092762018-10-30 4:05:402681 days ago1540872340IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000152125
Create Sale65773442018-10-24 22:38:032686 days ago1540420683IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000426055
Create Sale65710812018-10-23 22:08:262687 days ago1540332506IN
0xffd4E8a6...f54Ca93E8
0 ETH0.000400844
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-139139382021-12-31 15:32:141522 days ago1640964734
0xffd4E8a6...f54Ca93E8
0.0141 ETH
-139024322021-12-29 20:31:371524 days ago1640809897
0xffd4E8a6...f54Ca93E8
0.0141 ETH
-131134462021-08-28 10:53:421647 days ago1630148022
0xffd4E8a6...f54Ca93E8
0.0001 ETH
-131134462021-08-28 10:53:421647 days ago1630148022
0xffd4E8a6...f54Ca93E8
0.094 ETH
Transfer59829762018-07-17 22:19:422785 days ago1531865982
0xffd4E8a6...f54Ca93E8
0.0001 ETH
Transfer59829762018-07-17 22:19:422785 days ago1531865982
0xffd4E8a6...f54Ca93E8
1.128 ETH
Transfer59819432018-07-17 18:16:192785 days ago1531851379
0xffd4E8a6...f54Ca93E8
4.042 ETH
Transfer59737302018-07-16 8:23:152786 days ago1531729395
0xffd4E8a6...f54Ca93E8
1.88 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CelebrityMarket

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.18;


/**
 * @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;
  }
}



/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
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 Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    Unpause();
  }
}


/**
 * @title ERC721 interface
 * @dev see https://github.com/ethereum/eips/issues/721
 */
contract ERC721 {
  event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
  event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);

  function balanceOf(address _owner) public view returns (uint256 _balance);
  function ownerOf(uint256 _tokenId) public view returns (address _owner);
  function transfer(address _to, uint256 _tokenId) public;
  function approve(address _to, uint256 _tokenId) public;
  function takeOwnership(uint256 _tokenId) public;
}


/// @title CryptoCelebritiesMarket
/// @dev Contains models, variables, and internal methods for sales.
contract CelebrityMarket is Pausable{

    ERC721 ccContract;

    // Represents a sale item on an NFT
    struct Sale {
        // Current owner of NFT
        address seller;
        // Price (in wei) at beginning of a sale item
        uint256 salePrice;
        // Time when sale started
        // NOTE: 0 if this sale has been concluded
        uint64 startedAt;
    }

    // Owner of this contract
    address public owner;

    // Map from token ID to their corresponding sale.
    mapping (uint256 => Sale) tokenIdToSale;

    event SaleCreated(address seller,uint256 tokenId, uint256 salePrice, uint256 startedAt);
    event SaleSuccessful(address seller, uint256 tokenId, uint256 totalPrice, address winner);
    event SaleCancelled(address seller, uint256 tokenId);
    event SaleUpdated(address seller, uint256 tokenId, uint256 oldPrice, uint256 newPrice);
    
    /// @dev Constructor registers the nft address (CCAddress)
    /// @param _ccAddress - Address of the CryptoCelebrities contract
    function CelebrityMarket(address _ccAddress) public {
        ccContract = ERC721(_ccAddress);
        owner = msg.sender;
    }

    /// @dev DON'T give me your money.
    function() external {}


    /// @dev Remove all Ether from the contract, which is the owner's cuts
    ///  as well as any Ether sent directly to the contract address.
    ///  Always transfers to the NFT contract, but can be called either by
    ///  the owner or the NFT contract.
    function withdrawBalance() external {
        require(
            msg.sender == owner
        );
        msg.sender.transfer(address(this).balance);
    }

    /// @dev Creates and begins a new sale.
    /// @param _tokenId - ID of token to sell, sender must be owner.
    /// @param _salePrice - Sale Price of item (in wei).
    function createSale(
        uint256 _tokenId,
        uint256 _salePrice
    )
        public
        whenNotPaused
    {
        require(_owns(msg.sender, _tokenId));
        _escrow(_tokenId);
        Sale memory sale = Sale(
            msg.sender,
            _salePrice,
            uint64(now)
        );
        _addSale(_tokenId, sale);
    }

    /// @dev Update sale price of a sale item that hasn't been completed yet.
    /// @notice This is a state-modifying function that can
    ///  be called while the contract is paused.
    /// @param _tokenId - ID of token on sale
    /// @param _newPrice - new sale price
    function updateSalePrice(uint256 _tokenId, uint256 _newPrice)
        public
    {
        Sale storage sale = tokenIdToSale[_tokenId];
        require(_isOnSale(sale));
        address seller = sale.seller;
        require(msg.sender == seller);
        _updateSalePrice(_tokenId, _newPrice, seller);
    }

    /// @dev Allows to buy a sale item, completing the sale and transferring
    /// ownership of the NFT if enough Ether is supplied.
    /// @param _tokenId - ID of token to buy.
    function buy(uint256 _tokenId)
        public
        payable
        whenNotPaused
    {
        // _bid will throw if the bid or funds transfer fails
        _buy(_tokenId, msg.value);
        _transfer(msg.sender, _tokenId);
    }

    /// @dev Cancels a sale that hasn't been completed yet.
    ///  Returns the NFT to original owner.
    /// @notice This is a state-modifying function that can
    ///  be called while the contract is paused.
    /// @param _tokenId - ID of token on sale
    function cancelSale(uint256 _tokenId)
        public
    {
        Sale storage sale = tokenIdToSale[_tokenId];
        require(_isOnSale(sale));
        address seller = sale.seller;
        require(msg.sender == seller);
        _cancelSale(_tokenId, seller);
    }

    /// @dev Cancels a sale when the contract is paused.
    ///  Only the owner may do this, and NFTs are returned to
    ///  the seller. This should only be used in emergencies.
    /// @param _tokenId - ID of the NFT on sale to cancel.
    function cancelSaleWhenPaused(uint256 _tokenId)
        whenPaused
        onlyOwner
        public
    {
        Sale storage sale = tokenIdToSale[_tokenId];
        require(_isOnSale(sale));
        _cancelSale(_tokenId, sale.seller);
    }

    /// @dev Returns sale info for an NFT on sale.
    /// @param _tokenId - ID of NFT on sale.
    function getSale(uint256 _tokenId)
        public
        view
        returns
    (
        address seller,
        uint256 salePrice,
        uint256 startedAt
    ) {
        Sale storage sale = tokenIdToSale[_tokenId];
        require(_isOnSale(sale));
        return (
            sale.seller,
            sale.salePrice,
            sale.startedAt
        );
    }

    /// @dev Returns the current price of a sale item.
    /// @param _tokenId - ID of the token price we are checking.
    function getSalePrice(uint256 _tokenId)
        public
        view
        returns (uint256)
    {
        Sale storage sale = tokenIdToSale[_tokenId];
        require(_isOnSale(sale));
        return sale.salePrice;
    }

    /// @dev Returns true if the claimant owns the token.
    /// @param _claimant - Address claiming to own the token.
    /// @param _tokenId - ID of token whose ownership to verify.
    function _owns(address _claimant, uint256 _tokenId) internal view returns (bool) {
        return (ccContract.ownerOf(_tokenId) == _claimant);
    }

    /// @dev Escrows the CCToken, assigning ownership to this contract.
    /// Throws if the escrow fails.
    /// @param _tokenId - ID of token whose approval to verify.
    function _escrow(uint256 _tokenId) internal {
        // it will throw if transfer fails
        ccContract.takeOwnership(_tokenId);
    }

    /// @dev Transfers a CCToken owned by this contract to another address.
    /// Returns true if the transfer succeeds.
    /// @param _receiver - Address to transfer NFT to.
    /// @param _tokenId - ID of token to transfer.
    function _transfer(address _receiver, uint256 _tokenId) internal {
        // it will throw if transfer fails
        ccContract.transfer(_receiver, _tokenId);
    }

    /// @dev Adds a sale to the list of open sales. Also fires the
    ///  SaleCreated event.
    /// @param _tokenId The ID of the token to be put on sale.
    /// @param _sale Sale to add.
    function _addSale(uint256 _tokenId, Sale _sale) internal {

        tokenIdToSale[_tokenId] = _sale;
        
        SaleCreated(
            address(_sale.seller),
            uint256(_tokenId),
            uint256(_sale.salePrice),
            uint256(_sale.startedAt)
        );
    }

    /// @dev Cancels a sale unconditionally.
    function _cancelSale(uint256 _tokenId, address _seller) internal {
        _removeSale(_tokenId);
        _transfer(_seller, _tokenId);
        SaleCancelled(_seller, _tokenId);
    }

    /// @dev updates sale price of item
    function _updateSalePrice(uint256 _tokenId, uint256 _newPrice, address _seller) internal {
        // Get a reference to the sale struct
        Sale storage sale = tokenIdToSale[_tokenId];
        uint256 oldPrice = sale.salePrice;
        sale.salePrice = _newPrice;
        SaleUpdated(_seller, _tokenId, oldPrice, _newPrice);
    }

    /// @dev Computes the price and transfers winnings.
    /// Does NOT transfer ownership of token.
    function _buy(uint256 _tokenId, uint256 _amount)
        internal
        returns (uint256)
    {
        // Get a reference to the sale struct
        Sale storage sale = tokenIdToSale[_tokenId];

        // Explicitly check that this sale is currently live.
        // (Because of how Ethereum mappings work, we can't just count
        // on the lookup above failing. An invalid _tokenId will just
        // return an sale object that is all zeros.)
        require(_isOnSale(sale));

        // Check that the incoming bid is higher than the current
        // price
        uint256 price = sale.salePrice;

        require(_amount >= price);

        // Grab a reference to the seller before the sale struct
        // gets deleted.
        address seller = sale.seller;

        // The bid is good! Remove the sale before sending the fees
        // to the sender so we can't have a reentrancy attack.
        _removeSale(_tokenId);

        // Transfer proceeds to seller (if there are any!)
        if (price > 0) {
            //  Calculate the market owner's cut.
            // (NOTE: _computeCut() is guaranteed to return a
            //  value <= price, so this subtraction can't go negative.)
            uint256 ownerCut = _computeCut(price);
            uint256 sellerProceeds = price - ownerCut;

            // NOTE: Doing a transfer() in the middle of a complex
            // method like this is generally discouraged because of
            // reentrancy attacks and DoS attacks if the seller is
            // a contract with an invalid fallback function. We explicitly
            // guard against reentrancy attacks by removing the sale item
            // before calling transfer(), and the only thing the seller
            // can DoS is the sale of their own asset! (And if it's an
            // accident, they can call cancelSale(). )
            seller.transfer(sellerProceeds);
        }

        // Calculate any excess funds included with the bid. If the excess
        // is anything worth worrying about, transfer it back to bidder.
        // NOTE: We checked above that the bid amount is greater than or
        // equal to the price so this cannot underflow.
        uint256 amountExcess = _amount - price;

        // Return the funds. Similar to the previous transfer, this is
        // not susceptible to a re-entry attack because the sale is
        // removed before any transfers occur.
        msg.sender.transfer(amountExcess);

        // Tell the world!
        SaleSuccessful(seller, _tokenId, price, msg.sender);

        return price;
    }

    /// @dev Removes a sale item from the list of open sales.
    /// @param _tokenId - ID of NFT on sale.
    function _removeSale(uint256 _tokenId) internal {
        delete tokenIdToSale[_tokenId];
    }

    /// @dev Returns true if the NFT is on sale.
    /// @param _sale - Sale to check.
    function _isOnSale(Sale storage _sale) internal view returns (bool) {
        return (_sale.startedAt > 0);
    }

    /// @dev Computes owner's cut of a sale.
    /// @param _price - Sale price of NFT.
    function _computeCut(uint256 _price) internal pure returns (uint256) {
        return uint256(SafeMath.div(SafeMath.mul(_price, 6), 100));
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"cancelSaleWhenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_newPrice","type":"uint256"}],"name":"updateSalePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_salePrice","type":"uint256"}],"name":"createSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"cancelSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getSale","outputs":[{"name":"seller","type":"address"},{"name":"salePrice","type":"uint256"},{"name":"startedAt","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":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getSalePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_ccAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"salePrice","type":"uint256"},{"indexed":false,"name":"startedAt","type":"uint256"}],"name":"SaleCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"totalPrice","type":"uint256"},{"indexed":false,"name":"winner","type":"address"}],"name":"SaleSuccessful","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"SaleCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"seller","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"}],"name":"SaleUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60606040526000805460a060020a60ff0219169055341561001f57600080fd5b604051602080610c658339810160405280805160008054600160a060020a03338116600160a060020a03199283168117909355600180549190941690821617909255600280549092161790555050610be98061007c6000396000f3006060604052600436106100ab5763ffffffff60e060020a60003504166323edfb8981146100b85780633f4ba83a146100ce5780634896672e146100e15780635c975abb146100fa5780635fd8c710146101215780636019061b146101345780638456cb591461014d5780638da5cb5b14610160578063bd94b0051461018f578063d8f6d596146101a5578063d96a094a146101f1578063f2fde38b146101fc578063f8eb5fc51461021b575b34156100b657600080fd5b005b34156100c357600080fd5b6100b6600435610243565b34156100d957600080fd5b6100b66102b4565b34156100ec57600080fd5b6100b6600435602435610333565b341561010557600080fd5b61010d610383565b604051901515815260200160405180910390f35b341561012c57600080fd5b6100b6610393565b341561013f57600080fd5b6100b66004356024356103ed565b341561015857600080fd5b6100b661046a565b341561016b57600080fd5b6101736104ee565b604051600160a060020a03909116815260200160405180910390f35b341561019a57600080fd5b6100b66004356104fd565b34156101b057600080fd5b6101bb600435610546565b6040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390f35b6100b6600435610599565b341561020757600080fd5b6100b6600160a060020a03600435166105c8565b341561022657600080fd5b610231600435610663565b60405190815260200160405180910390f35b6000805460a060020a900460ff16151561025c57600080fd5b60005433600160a060020a0390811691161461027757600080fd5b50600081815260036020526040902061028f8161068f565b151561029a57600080fd5b80546102b0908390600160a060020a03166106a5565b5050565b60005433600160a060020a039081169116146102cf57600080fd5b60005460a060020a900460ff1615156102e757600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008281526003602052604081209061034b8261068f565b151561035657600080fd5b508054600160a060020a03908116903316811461037257600080fd5b61037d848483610700565b50505050565b60005460a060020a900460ff1681565b60025433600160a060020a039081169116146103ae57600080fd5b33600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f1935050505015156103eb57600080fd5b565b6103f5610b9d565b60005460a060020a900460ff161561040c57600080fd5b6104163384610787565b151561042157600080fd5b61042a8361080b565b60606040519081016040528033600160a060020a031681526020018381526020014267ffffffffffffffff1681525090506104658382610864565b505050565b60005433600160a060020a0390811691161461048557600080fd5b60005460a060020a900460ff161561049c57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600254600160a060020a031681565b6000818152600360205260408120906105158261068f565b151561052057600080fd5b508054600160a060020a03908116903316811461053c57600080fd5b61046583826106a5565b6000818152600360205260408120819081906105618161068f565b151561056c57600080fd5b80546001820154600290920154600160a060020a039091169691955067ffffffffffffffff169350915050565b60005460a060020a900460ff16156105b057600080fd5b6105ba813461094b565b506105c53382610a80565b50565b60005433600160a060020a039081169116146105e357600080fd5b600160a060020a03811615156105f857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600081815260036020526040812061067a8161068f565b151561068557600080fd5b6001015492915050565b60020154600067ffffffffffffffff9091161190565b6106ae82610aee565b6106b88183610a80565b7fc9b961c43fe701b83ae14bfe2d7625ea85b27c33b4aae8d1fdf4b344d5ea1dbc8183604051600160a060020a03909216825260208201526040908101905180910390a15050565b600083815260036020526040908190206001810180549085905590917fb165af5b3d8c4956215e2ea9ece7fed2bd0bc65751daa3d1e627cfafa1e058aa908490879084908890518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a15050505050565b600154600090600160a060020a038085169116636352211e84846040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156107de57600080fd5b6102c65a03f115156107ef57600080fd5b50505060405180519050600160a060020a031614905092915050565b600154600160a060020a031663b2e6ceeb8260405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b151561085357600080fd5b6102c65a03f1151561037d57600080fd5b600082815260036020526040902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805467ffffffffffffffff191667ffffffffffffffff909216919091179055507f2cd2dfcdeb2b58c4b80527e9df5e12da537fa4f6c958a4fb623a83ab74eeab638151838360200151846040015167ffffffffffffffff166040518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a15050565b600082815260036020526040812081808080806109678661068f565b151561097257600080fd5b600186015494508488101561098657600080fd5b8554600160a060020a0316935061099c89610aee565b60008511156109e6576109ae85610b33565b92508285039150600160a060020a03841682156108fc0283604051600060405180830381858888f1935050505015156109e657600080fd5b50838703600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610a1b57600080fd5b7f5b47613bd30103b02485b799feb74a88bc18be665b667188d79e5c57b6d9ecdc848a8733604051600160a060020a03948516815260208101939093526040808401929092529092166060820152608001905180910390a15092979650505050505050565b600154600160a060020a031663a9059cbb838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610ad657600080fd5b6102c65a03f11515610ae757600080fd5b5050505050565b6000908152600360205260408120805473ffffffffffffffffffffffffffffffffffffffff191681556001810191909155600201805467ffffffffffffffff19169055565b6000610b4a610b43836006610b50565b6064610b86565b92915050565b600080831515610b635760009150610b7f565b50828202828482811515610b7357fe5b0414610b7b57fe5b8091505b5092915050565b6000808284811515610b9457fe5b04949350505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820f13e4d2aeb4d860fdbf00ec777500f905c8fdf6ddaa51b1c8f0d292e01005ba60029000000000000000000000000bb5ed1edeb5149af3ab43ea9c7a6963b3c1374f7

Deployed Bytecode

0x6060604052600436106100ab5763ffffffff60e060020a60003504166323edfb8981146100b85780633f4ba83a146100ce5780634896672e146100e15780635c975abb146100fa5780635fd8c710146101215780636019061b146101345780638456cb591461014d5780638da5cb5b14610160578063bd94b0051461018f578063d8f6d596146101a5578063d96a094a146101f1578063f2fde38b146101fc578063f8eb5fc51461021b575b34156100b657600080fd5b005b34156100c357600080fd5b6100b6600435610243565b34156100d957600080fd5b6100b66102b4565b34156100ec57600080fd5b6100b6600435602435610333565b341561010557600080fd5b61010d610383565b604051901515815260200160405180910390f35b341561012c57600080fd5b6100b6610393565b341561013f57600080fd5b6100b66004356024356103ed565b341561015857600080fd5b6100b661046a565b341561016b57600080fd5b6101736104ee565b604051600160a060020a03909116815260200160405180910390f35b341561019a57600080fd5b6100b66004356104fd565b34156101b057600080fd5b6101bb600435610546565b6040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390f35b6100b6600435610599565b341561020757600080fd5b6100b6600160a060020a03600435166105c8565b341561022657600080fd5b610231600435610663565b60405190815260200160405180910390f35b6000805460a060020a900460ff16151561025c57600080fd5b60005433600160a060020a0390811691161461027757600080fd5b50600081815260036020526040902061028f8161068f565b151561029a57600080fd5b80546102b0908390600160a060020a03166106a5565b5050565b60005433600160a060020a039081169116146102cf57600080fd5b60005460a060020a900460ff1615156102e757600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60008281526003602052604081209061034b8261068f565b151561035657600080fd5b508054600160a060020a03908116903316811461037257600080fd5b61037d848483610700565b50505050565b60005460a060020a900460ff1681565b60025433600160a060020a039081169116146103ae57600080fd5b33600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f1935050505015156103eb57600080fd5b565b6103f5610b9d565b60005460a060020a900460ff161561040c57600080fd5b6104163384610787565b151561042157600080fd5b61042a8361080b565b60606040519081016040528033600160a060020a031681526020018381526020014267ffffffffffffffff1681525090506104658382610864565b505050565b60005433600160a060020a0390811691161461048557600080fd5b60005460a060020a900460ff161561049c57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600254600160a060020a031681565b6000818152600360205260408120906105158261068f565b151561052057600080fd5b508054600160a060020a03908116903316811461053c57600080fd5b61046583826106a5565b6000818152600360205260408120819081906105618161068f565b151561056c57600080fd5b80546001820154600290920154600160a060020a039091169691955067ffffffffffffffff169350915050565b60005460a060020a900460ff16156105b057600080fd5b6105ba813461094b565b506105c53382610a80565b50565b60005433600160a060020a039081169116146105e357600080fd5b600160a060020a03811615156105f857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600081815260036020526040812061067a8161068f565b151561068557600080fd5b6001015492915050565b60020154600067ffffffffffffffff9091161190565b6106ae82610aee565b6106b88183610a80565b7fc9b961c43fe701b83ae14bfe2d7625ea85b27c33b4aae8d1fdf4b344d5ea1dbc8183604051600160a060020a03909216825260208201526040908101905180910390a15050565b600083815260036020526040908190206001810180549085905590917fb165af5b3d8c4956215e2ea9ece7fed2bd0bc65751daa3d1e627cfafa1e058aa908490879084908890518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a15050505050565b600154600090600160a060020a038085169116636352211e84846040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156107de57600080fd5b6102c65a03f115156107ef57600080fd5b50505060405180519050600160a060020a031614905092915050565b600154600160a060020a031663b2e6ceeb8260405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b151561085357600080fd5b6102c65a03f1151561037d57600080fd5b600082815260036020526040902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805467ffffffffffffffff191667ffffffffffffffff909216919091179055507f2cd2dfcdeb2b58c4b80527e9df5e12da537fa4f6c958a4fb623a83ab74eeab638151838360200151846040015167ffffffffffffffff166040518085600160a060020a0316600160a060020a0316815260200184815260200183815260200182815260200194505050505060405180910390a15050565b600082815260036020526040812081808080806109678661068f565b151561097257600080fd5b600186015494508488101561098657600080fd5b8554600160a060020a0316935061099c89610aee565b60008511156109e6576109ae85610b33565b92508285039150600160a060020a03841682156108fc0283604051600060405180830381858888f1935050505015156109e657600080fd5b50838703600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610a1b57600080fd5b7f5b47613bd30103b02485b799feb74a88bc18be665b667188d79e5c57b6d9ecdc848a8733604051600160a060020a03948516815260208101939093526040808401929092529092166060820152608001905180910390a15092979650505050505050565b600154600160a060020a031663a9059cbb838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610ad657600080fd5b6102c65a03f11515610ae757600080fd5b5050505050565b6000908152600360205260408120805473ffffffffffffffffffffffffffffffffffffffff191681556001810191909155600201805467ffffffffffffffff19169055565b6000610b4a610b43836006610b50565b6064610b86565b92915050565b600080831515610b635760009150610b7f565b50828202828482811515610b7357fe5b0414610b7b57fe5b8091505b5092915050565b6000808284811515610b9457fe5b04949350505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820f13e4d2aeb4d860fdbf00ec777500f905c8fdf6ddaa51b1c8f0d292e01005ba60029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000bb5ed1edeb5149af3ab43ea9c7a6963b3c1374f7

-----Decoded View---------------
Arg [0] : _ccAddress (address): 0xbb5Ed1EdeB5149AF3ab43ea9c7a6963b3C1374F7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000bb5ed1edeb5149af3ab43ea9c7a6963b3c1374f7


Swarm Source

bzzr://f13e4d2aeb4d860fdbf00ec777500f905c8fdf6ddaa51b1c8f0d292e01005ba6

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.