Contract 0x33914fa445969ded631bf4c33d8882c225386620

 

Contract Overview

BC: Item Market
Balance:
7.791927719226693394 Ether

EtherValue:
$1,070.30 (@ $137.36/ETH)

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x171cfb9f7a06723947886f2cb19304f5e54abe4cfe693f60627a6d3b0c82d42074187765 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x8b3ad493c077e894a034db7eb53e8285560298fd0.013824 Ether
0x171cfb9f7a06723947886f2cb19304f5e54abe4cfe693f60627a6d3b0c82d42074187765 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0144 Ether
0x14c7b227ed1272bfe7bb611a4bb6f87435b98aac8187f457a66e7b2bda3e53bb741873813 mins ago0x33914fa445969ded631bf4c33d8882c2253866200xf281e85a0b992efa5fda4f52b35685dc5ee67bea0.024 Ether
0x14c7b227ed1272bfe7bb611a4bb6f87435b98aac8187f457a66e7b2bda3e53bb741873813 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.025 Ether
0x392edb793322ebefde8c50ada94a5df06604483c9d0c156934d0b4636838767574183251 hr 43 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x3d079971b5a69d23c1658d329fd4d41f82208f5f0.003552 Ether
0x392edb793322ebefde8c50ada94a5df06604483c9d0c156934d0b4636838767574183251 hr 43 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0037 Ether
0xff7d991b14e2beae996295dc3d1e10848fce3c5b2c02c20ff60274a1b45dade574181092 hrs 35 mins ago0x33914fa445969ded631bf4c33d8882c2253866200xfa4cde6cb5537b36a8b65ebfaebd6d05526a3d9f0.0022176 Ether
0xff7d991b14e2beae996295dc3d1e10848fce3c5b2c02c20ff60274a1b45dade574181092 hrs 35 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.00231 Ether
0x5f38e1f2a9cb482c9918fa18a6bcb7ff5a6aac542e2e99e3325bfdfdcc81e63b74180642 hrs 47 mins ago0x33914fa445969ded631bf4c33d8882c2253866200xddca59f0f2d0362043549e9b2a779cc1db9e99a80.000096 Ether
0x5f38e1f2a9cb482c9918fa18a6bcb7ff5a6aac542e2e99e3325bfdfdcc81e63b74180642 hrs 47 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0001 Ether
0xa8111c3a1590297b6c269c07a1c5f743d4479e39ace29fdf41dcfbbf7dcedba074180322 hrs 56 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x55d3761ea3066475b49b8dae335493f71303ceb40.0000576 Ether
0xa8111c3a1590297b6c269c07a1c5f743d4479e39ace29fdf41dcfbbf7dcedba074180322 hrs 56 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.00006 Ether
0x61193c1d9da31cd92674064111fe31d293bd653c96e5f30c177990d9fa62afb774180183 hrs 1 min ago0x33914fa445969ded631bf4c33d8882c2253866200x0d2a4fa7b5cc5d2ee65ec4157de03016e9a0cfe60.0025632 Ether
0x61193c1d9da31cd92674064111fe31d293bd653c96e5f30c177990d9fa62afb774180183 hrs 1 min ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.00267 Ether
0xd9947a471312657f474d71aa25870de3b156c51e2a8ddd59040ae9e90a465a5074180063 hrs 3 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x3fd56b89e4e3012b66d788d4f97f51d8392dd4b20.008928 Ether
0xd9947a471312657f474d71aa25870de3b156c51e2a8ddd59040ae9e90a465a5074180063 hrs 3 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0093 Ether
0xb7b62f865e1499d633598a79009969ee5234218f4121c4b1b3cece237f43914474179973 hrs 6 mins ago0x33914fa445969ded631bf4c33d8882c2253866200xf84a470d5d6ba3c960163df174b051a1fb0cc3890.001824 Ether
0xb7b62f865e1499d633598a79009969ee5234218f4121c4b1b3cece237f43914474179973 hrs 6 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0019 Ether
0xd49f477ffe75e598d0828e863741f6866083fec2d5f1bffd59f629530a32060474179793 hrs 10 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x2087e39e342da38812f80deb6cc4bfe4ffedc8740.00192 Ether
0xd49f477ffe75e598d0828e863741f6866083fec2d5f1bffd59f629530a32060474179793 hrs 10 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.002 Ether
0xa839b5a30797f4c8c3ef83981d09f051c12adb5851e127a620f1c6afde72cfb174179783 hrs 10 mins ago0x33914fa445969ded631bf4c33d8882c2253866200xc932857b013f30b61b8d2bbac0f22ae623a8c04d0.00192 Ether
0xa839b5a30797f4c8c3ef83981d09f051c12adb5851e127a620f1c6afde72cfb174179783 hrs 10 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.002 Ether
0x948b4fa0e2a0b5be958849d4f5efaf16ec67001d789d060514cf3421ae56e67a74179553 hrs 15 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x99531aa682dca2570555e052b33531d77081e5b10.027264 Ether
0x948b4fa0e2a0b5be958849d4f5efaf16ec67001d789d060514cf3421ae56e67a74179553 hrs 15 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0x33914fa445969ded631bf4c33d8882c2253866200.0284 Ether
0x7ad0946bae1828b6d31c98c7fa1f252e5a90feb8373ea92ee6b9bfc1e0c3342274179543 hrs 15 mins ago0x33914fa445969ded631bf4c33d8882c2253866200x6a90c50507935f1339a81588326a5be0c50673290.0096 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
ItemMarket

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes

Runs (Optimizer):
200

Contract Source Code

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 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"}]

Contract Creation Code

606060405260008054600160a060020a033316600160a860020a03199091161790556107d5806100306000396000f3006060604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631195236981146100d45780633ccfd60b146100e95780633f4ba83a146100fc5780635c975abb1461010f5780638456cb59146101365780638da5cb5b146101495780638e0055531461017857806394a89233146101925780639652713e146101a5578063a055d455146101c6578063d5b2a01a146101e7578063e410a0c614610211578063e80db5db14610237578063f2fde38b1461024a575b600080fd5b34156100df57600080fd5b6100e7610269565b005b34156100f457600080fd5b6100e761028e565b341561010757600080fd5b6100e7610310565b341561011a57600080fd5b61012261038f565b604051901515815260200160405180910390f35b341561014157600080fd5b6100e761039f565b341561015457600080fd5b61015c610423565b604051600160a060020a03909116815260200160405180910390f35b341561018357600080fd5b6100e761ffff60043516610432565b341561019d57600080fd5b610122610493565b6100e764ffffffffff60043516602435600160a060020a0360443516610498565b6100e764ffffffffff60043516602435600160a060020a036044351661059d565b34156101f257600080fd5b6101fa6105b8565b60405161ffff909116815260200160405180910390f35b341561021c57600080fd5b6100e7600160a060020a036004351661ffff602435166105c9565b341561024257600080fd5b61015c6106cf565b341561025557600080fd5b6100e7600160a060020a03600435166106de565b60015433600160a060020a0390811691161461028457600080fd5b61028c61028e565b565b60005433600160a060020a03908116911614806102b9575060015433600160a060020a039081169116145b15156102c457600080fd5b600030600160a060020a031631111561028c57600154600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561028c57600080fd5b60005433600160a060020a0390811691161461032b57600080fd5b60005460a060020a900460ff16151561034357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146103ba57600080fd5b60005460a060020a900460ff16156103d157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b61271061ffff8216111561044557600080fd5b60005433600160a060020a0390811691161461046057600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b60015460009081908190819033600160a060020a039081169116146104bc57600080fd5b85935060a060020a8404925064ffffffffff83164211156104dc57600080fd5b6104e534610779565b9150506fffffffffffffffffffffffffffffffff811634037f27772adc63db07aae765b71eb2b533064fa781bd57457e1b138592d8198d0959858583604051600160a060020a0393841681529190921660208201526fffffffffffffffffffffffffffffffff9091166040808301919091526060909101905180910390a1600160a060020a03841681156108fc0282604051600060405180830381858888f19350505050151561059457600080fd5b50505050505050565b60015433600160a060020a039081169116146100cf57600080fd5b60015460a060020a900461ffff1681565b600061271061ffff831611156105de57600080fd5b60005433600160a060020a039081169116146105f957600080fd5b506001805475ffff0000000000000000000000000000000000000000191660a060020a61ffff84160217905581600160a060020a038116634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561067c57600080fd5b5af1151561068957600080fd5b50505060405180519050151561069e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b60005433600160a060020a039081169116146106f957600080fd5b600160a060020a038116151561070e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6001546000906127109060a060020a900461ffff1683026fffffffffffffffffffffffffffffffff1604929150505600a165627a7a72305820c175081370d109d0e0569f1c7286dfeef7e64365f52451fd7fad84fd9d6f3cc60029

Swarm Source

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