Contract 0x33914fA445969DED631BF4c33D8882C225386620

 
Ad
Crypto.com
Txn Hash Method
Block
From
To
Value
0x383cc869d1a77c31321dddc76897f30d246617761db951028828251a101d2315Setup55052322018-04-25 20:47:051154 days 13 hrs agoBlockchain Cuties: Deployer IN  BC: Item Market0 Ether0.000183845
0xab4a5ac11c6a0c7c1e09c014a0695ee70b84757250a7896404eb77f917d9037cSetup54928392018-04-23 17:13:041156 days 17 hrs agoBlockchain Cuties: Deployer IN  BC: Item Market0 Ether0.0003106086
0xe6222a993be7154e54dba1411c9aa15b939716bb902d382e01feaa53d757d4750x6060604054928102018-04-23 17:06:231156 days 17 hrs agoBlockchain Cuties: Deployer IN  Contract Creation0 Ether0.003603396
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xb262b0f6fc3bdf2cf03c3a8e36b49593d322dee67e6e1ee911f299a25f4362ba81360402019-07-12 11:31:04711 days 23 hrs ago BC: Item Market Blockchain Cuties: Old BC Token14.007750668046445699 Ether
0x4d87330af11310b96db931c4c9d881189b5e5da73e52fcb482e0ceedfd782b7781358802019-07-12 10:58:30711 days 23 hrs ago BC: Item Market0x91be8affa47b89ad9f0a58c610c331a5671da0480.01298304 Ether
0x4d87330af11310b96db931c4c9d881189b5e5da73e52fcb482e0ceedfd782b7781358802019-07-12 10:58:30711 days 23 hrs ago Blockchain Cuties: Old BC Token BC: Item Market0.013524 Ether
0xf635c039294417a4c048556cc91bfd552f3d858fc8010f05c08745aeadc4726481358672019-07-12 10:56:01711 days 23 hrs ago BC: Item Market0x1d9dd228fd039de2de7fe2bc684a6cceb34dba530.013152 Ether
0xf635c039294417a4c048556cc91bfd552f3d858fc8010f05c08745aeadc4726481358672019-07-12 10:56:01711 days 23 hrs ago Blockchain Cuties: Old BC Token BC: Item Market0.0137 Ether
0x40d3f1ab5382bda29fb80d858c708e29811ce423466cd2d87fbc79af258e642b81358672019-07-12 10:56:01711 days 23 hrs ago BC: Item Market0xc9a8cabc9446c1b816c7a832bbf76f171cd50f5f0.0131328 Ether
0x40d3f1ab5382bda29fb80d858c708e29811ce423466cd2d87fbc79af258e642b81358672019-07-12 10:56:01711 days 23 hrs ago Blockchain Cuties: Old BC Token BC: Item Market0.01368 Ether
0xa2e4c62014863442866d286b4b59c2e9de6ffe0b02d18ad411c45ddbb96fcf3381357232019-07-12 10:25:00712 days 15 mins ago BC: Item Market0xcdfa49b279e90c13552f7e33a2097231d407db7c0.0003168 Ether
0xa2e4c62014863442866d286b4b59c2e9de6ffe0b02d18ad411c45ddbb96fcf3381357232019-07-12 10:25:00712 days 15 mins ago Blockchain Cuties: Old BC Token BC: Item Market0.00033 Ether
0xa2446c185b802071db2f62f56826e782fe449e2c1a004a5aa9ba8f0542cb72ca81356212019-07-12 10:01:31712 days 38 mins ago BC: Item Market0xf2d09194c15d6f32978a744a4ef962eb061c89bf0.001152 Ether
0xa2446c185b802071db2f62f56826e782fe449e2c1a004a5aa9ba8f0542cb72ca81356212019-07-12 10:01:31712 days 38 mins ago Blockchain Cuties: Old BC Token BC: Item Market0.0012 Ether
0x0adb1fa4f50b1fb3cde3cfebf9aeb4c187a2c516ccd4213d1e1c6eac675e717881356212019-07-12 10:01:31712 days 38 mins ago BC: Item Market0xb6257c3dfb16359265864a9f4b83f1eede036cfb2 wei
0x0adb1fa4f50b1fb3cde3cfebf9aeb4c187a2c516ccd4213d1e1c6eac675e717881356212019-07-12 10:01:31712 days 38 mins ago Blockchain Cuties: Old BC Token BC: Item Market2 wei
0xd397aed742339a9e26e767207b996bb0a8ca57343faa1ae1940654bb9f6157e381356122019-07-12 9:59:01712 days 41 mins ago BC: Item Market 0x3523057e290ec9b76d376efe9a892db09ad1b3c90.0012576 Ether
0xd397aed742339a9e26e767207b996bb0a8ca57343faa1ae1940654bb9f6157e381356122019-07-12 9:59:01712 days 41 mins ago Blockchain Cuties: Old BC Token BC: Item Market0.00131 Ether
0x4c95c1fef7a4fd3f93df5f2ebb45abc16adf0da263b45ea00cf7757eb8bcd05e81355342019-07-12 9:39:31712 days 1 hr ago BC: Item Market0x6c03ab745aa6bd5bec0611ed3d1fb68ce9c401970.0009312 Ether
0x4c95c1fef7a4fd3f93df5f2ebb45abc16adf0da263b45ea00cf7757eb8bcd05e81355342019-07-12 9:39:31712 days 1 hr ago Blockchain Cuties: Old BC Token BC: Item Market0.00097 Ether
0xc2f49d4775c0ac121b5cc6eff31e25c038c0f2cc556503d7e1774d63a9064c9b81354082019-07-12 9:10:19712 days 1 hr ago BC: Item Market0xb64e65062e5b96e13eaab0c2baecffd1b8510b160.001056000000000001 Ether
0xc2f49d4775c0ac121b5cc6eff31e25c038c0f2cc556503d7e1774d63a9064c9b81354082019-07-12 9:10:19712 days 1 hr ago Blockchain Cuties: Old BC Token BC: Item Market0.001100000000000001 Ether
0xf05c25028dc210e3ac221f49cf28f0d1a9bb8a307e98eff4257efd05ed290de081353902019-07-12 9:04:00712 days 1 hr ago BC: Item Market0xcdfa49b279e90c13552f7e33a2097231d407db7c0.0001056 Ether
0xf05c25028dc210e3ac221f49cf28f0d1a9bb8a307e98eff4257efd05ed290de081353902019-07-12 9:04:00712 days 1 hr ago Blockchain Cuties: Old BC Token BC: Item Market0.00011 Ether
0xe31541b93582640dce4361e67296d2ae3744a3a6c169236427ce38374411221681353882019-07-12 9:03:50712 days 1 hr ago BC: Item Market0x2e0ce5513f4b3a48a8a4e30ff69e24714f5cd5fa0.000096 Ether
0xe31541b93582640dce4361e67296d2ae3744a3a6c169236427ce38374411221681353882019-07-12 9:03:50712 days 1 hr ago Blockchain Cuties: Old BC Token BC: Item Market0.0001 Ether
0x30dcc40bac97c11b3e29ea140c7b22b4e7350c099bd733af8a480240c943834a81353882019-07-12 9:03:50712 days 1 hr ago BC: Item Market0x39c4e59bea399f09818c817a7ad96ed4891396ef0.00037632 Ether
0x30dcc40bac97c11b3e29ea140c7b22b4e7350c099bd733af8a480240c943834a81353882019-07-12 9:03:50712 days 1 hr ago Blockchain Cuties: Old BC Token BC: Item Market0.000392 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ItemMarket

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-24
*/

pragma solidity ^0.4.20;

/**
 * @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));
    emit 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;
    emit Pause();
  }

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



/// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase
contract PluginInterface
{
    /// @dev simply a boolean to indicate this is the contract we expect to be
    function isPluginInterface() public pure returns (bool);

    function onRemove() public;

    /// @dev Begins new feature.
    /// @param _cutieId - ID of token to auction, sender must be owner.
    /// @param _parameter - arbitrary parameter
    /// @param _seller - Old owner, if not the message sender
    function run(
        uint40 _cutieId,
        uint256 _parameter,
        address _seller
    ) 
    public
    payable;

    /// @dev Begins new feature, approved and signed by COO.
    /// @param _cutieId - ID of token to auction, sender must be owner.
    /// @param _parameter - arbitrary parameter
    function runSigned(
        uint40 _cutieId,
        uint256 _parameter,
        address _owner
    )
    external
    payable;

    function withdraw() public;
}



contract CutieCoreInterface
{
    function isCutieCore() pure public returns (bool);

    function transferFrom(address _from, address _to, uint256 _cutieId) external;
    function transfer(address _to, uint256 _cutieId) external;

    function ownerOf(uint256 _cutieId)
        external
        view
        returns (address owner);

    function getCutie(uint40 _id)
        external
        view
        returns (
        uint256 genes,
        uint40 birthTime,
        uint40 cooldownEndTime,
        uint40 momId,
        uint40 dadId,
        uint16 cooldownIndex,
        uint16 generation
    );

     function getGenes(uint40 _id)
        public
        view
        returns (
        uint256 genes
    );


    function getCooldownEndTime(uint40 _id)
        public
        view
        returns (
        uint40 cooldownEndTime
    );

    function getCooldownIndex(uint40 _id)
        public
        view
        returns (
        uint16 cooldownIndex
    );


    function getGeneration(uint40 _id)
        public
        view
        returns (
        uint16 generation
    );

    function getOptional(uint40 _id)
        public
        view
        returns (
        uint64 optional
    );


    function changeGenes(
        uint40 _cutieId,
        uint256 _genes)
        public;

    function changeCooldownEndTime(
        uint40 _cutieId,
        uint40 _cooldownEndTime)
        public;

    function changeCooldownIndex(
        uint40 _cutieId,
        uint16 _cooldownIndex)
        public;

    function changeOptional(
        uint40 _cutieId,
        uint64 _optional)
        public;

    function changeGeneration(
        uint40 _cutieId,
        uint16 _generation)
        public;
}


/// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase
contract CutiePluginBase is PluginInterface, Pausable
{
    function isPluginInterface() public pure returns (bool)
    {
        return true;
    }

    // Reference to contract tracking NFT ownership
    CutieCoreInterface public coreContract;

    // Cut owner takes on each auction, measured in basis points (1/100 of a percent).
    // Values 0-10,000 map to 0%-100%
    uint16 public ownerFee;

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

    /// @dev Constructor creates a reference to the NFT ownership contract
    ///  and verifies the owner cut is in the valid range.
    /// @param _coreAddress - address of a deployed contract implementing
    ///  the Nonfungible Interface.
    /// @param _fee - percent cut the owner takes on each auction, must be
    ///  between 0-10,000.
    function setup(address _coreAddress, uint16 _fee) public {
        require(_fee <= 10000);
        require(msg.sender == owner);
        ownerFee = _fee;
        
        CutieCoreInterface candidateContract = CutieCoreInterface(_coreAddress);
        require(candidateContract.isCutieCore());
        coreContract = candidateContract;
    }

    // @dev Set the owner's fee.
    //  @param fee should be between 0-10,000.
    function setFee(uint16 _fee) public
    {
        require(_fee <= 10000);
        require(msg.sender == owner);

        ownerFee = _fee;
    }

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

    /// @dev Escrows the NFT, assigning ownership to this contract.
    /// Throws if the escrow fails.
    /// @param _owner - Current owner address of token to escrow.
    /// @param _cutieId - ID of token whose approval to verify.
    function _escrow(address _owner, uint40 _cutieId) internal {
        // it will throw if transfer fails
        coreContract.transferFrom(_owner, this, _cutieId);
    }

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

    /// @dev Computes owner's cut of a sale.
    /// @param _price - Sale price of NFT.
    function _computeFee(uint128 _price) internal view returns (uint128) {
        // NOTE: We don't use SafeMath (or similar) in this function because
        //  all of our entry functions carefully cap the maximum values for
        //  currency (at 128-bits), and ownerFee <= 10000 (see the require()
        //  statement in the ClockAuction constructor). The result of this
        //  function is always guaranteed to be <= _price.
        return _price * ownerFee / 10000;
    }

    function withdraw() public
    {
        require(
            msg.sender == owner ||
            msg.sender == address(coreContract)
        );
        if (address(this).balance > 0)
        {
            address(coreContract).transfer(address(this).balance);
        }
    }

    function onRemove() public onlyCore
    {
        withdraw();
    }
}


/// @dev Receives and transfers money from item buyer to seller for Blockchain Cuties
/// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase
contract ItemMarket is CutiePluginBase
{
    event Transfer(address from, address to, uint128 value);

    function run(
        uint40,
        uint256,
        address
    ) 
        public
        payable
        onlyCore
    {
        revert();
    }

    function runSigned(uint40, uint256 _parameter, address _buyer)
        external
        payable
        onlyCore
    {
        // first 160 bits
        address seller = address(_parameter);
        // next 40 bits (shift right by 160 bits)
        uint40 endTime = uint40(_parameter/0x0010000000000000000000000000000000000000000);
        // check if auction is ended
        require(now <= endTime);
        uint128 fee = _computeFee(uint128(msg.value));
        uint256 sellerValue = msg.value - fee;

        emit Transfer(_buyer, seller, uint128(sellerValue));
        seller.transfer(sellerValue);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"onRemove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","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":"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":"_fee","type":"uint16"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPluginInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint40"},{"name":"_parameter","type":"uint256"},{"name":"_buyer","type":"address"}],"name":"runSigned","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint40"},{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"run","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ownerFee","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coreAddress","type":"address"},{"name":"_fee","type":"uint16"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coreContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint128"}],"name":"Transfer","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"}]

606060405260008054600160a060020a033316600160a860020a03199091161790556107d5806100306000396000f3006060604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631195236981146100d45780633ccfd60b146100e95780633f4ba83a146100fc5780635c975abb1461010f5780638456cb59146101365780638da5cb5b146101495780638e0055531461017857806394a89233146101925780639652713e146101a5578063a055d455146101c6578063d5b2a01a146101e7578063e410a0c614610211578063e80db5db14610237578063f2fde38b1461024a575b600080fd5b34156100df57600080fd5b6100e7610269565b005b34156100f457600080fd5b6100e761028e565b341561010757600080fd5b6100e7610310565b341561011a57600080fd5b61012261038f565b604051901515815260200160405180910390f35b341561014157600080fd5b6100e761039f565b341561015457600080fd5b61015c610423565b604051600160a060020a03909116815260200160405180910390f35b341561018357600080fd5b6100e761ffff60043516610432565b341561019d57600080fd5b610122610493565b6100e764ffffffffff60043516602435600160a060020a0360443516610498565b6100e764ffffffffff60043516602435600160a060020a036044351661059d565b34156101f257600080fd5b6101fa6105b8565b60405161ffff909116815260200160405180910390f35b341561021c57600080fd5b6100e7600160a060020a036004351661ffff602435166105c9565b341561024257600080fd5b61015c6106cf565b341561025557600080fd5b6100e7600160a060020a03600435166106de565b60015433600160a060020a0390811691161461028457600080fd5b61028c61028e565b565b60005433600160a060020a03908116911614806102b9575060015433600160a060020a039081169116145b15156102c457600080fd5b600030600160a060020a031631111561028c57600154600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561028c57600080fd5b60005433600160a060020a0390811691161461032b57600080fd5b60005460a060020a900460ff16151561034357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146103ba57600080fd5b60005460a060020a900460ff16156103d157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b61271061ffff8216111561044557600080fd5b60005433600160a060020a0390811691161461046057600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b60015460009081908190819033600160a060020a039081169116146104bc57600080fd5b85935060a060020a8404925064ffffffffff83164211156104dc57600080fd5b6104e534610779565b9150506fffffffffffffffffffffffffffffffff811634037f27772adc63db07aae765b71eb2b533064fa781bd57457e1b138592d8198d0959858583604051600160a060020a0393841681529190921660208201526fffffffffffffffffffffffffffffffff9091166040808301919091526060909101905180910390a1600160a060020a03841681156108fc0282604051600060405180830381858888f19350505050151561059457600080fd5b50505050505050565b60015433600160a060020a039081169116146100cf57600080fd5b60015460a060020a900461ffff1681565b600061271061ffff831611156105de57600080fd5b60005433600160a060020a039081169116146105f957600080fd5b506001805475ffff0000000000000000000000000000000000000000191660a060020a61ffff84160217905581600160a060020a038116634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561067c57600080fd5b5af1151561068957600080fd5b50505060405180519050151561069e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b60005433600160a060020a039081169116146106f957600080fd5b600160a060020a038116151561070e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6001546000906127109060a060020a900461ffff1683026fffffffffffffffffffffffffffffffff1604929150505600a165627a7a72305820c175081370d109d0e0569f1c7286dfeef7e64365f52451fd7fad84fd9d6f3cc60029

Swarm Source

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