Contract 0x82cbd34d49761fcb5bd5915f82c6c7462131f57a

 

TxHash Block Age From To Value [TxFee]
0x0949330e0728b9ac86487e86caa393034bac7aa97c0ea6bd232fc7abeb855157695839857 days 6 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0x6f15f8ecb1c6f1a07b9d0582373c2ce307d16989c5922b5784a4994b0f0b314c695835757 days 6 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0x55fb8fe4e74c2f5cafabcfcadedc851d4c45b31fe94124d049f715b5d2dada61695813157 days 7 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0xce25b301885115c03a4b6f6eedfc4b1368235876dbec1e26b958ae1aa08a9bd7695721657 days 11 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0xb306880a468347d3a392088fcc989414fc797276dcb97f96c19af903a8a621ca695675357 days 13 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0xa80edf76501cf9434dd72cb5767886c788f94895ff26028c8f4015a88ed1c9f2695666357 days 13 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0x8561aeb9a5dfc06abb73663fdb4a01b8c68fdae93e86cc39be6942c9522011bc695592257 days 16 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001534731
0x41cd6e808aa06097fe4ba9b455f541393a737c31157bd56abf3470ff27544490695537257 days 18 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001953294
0xe1da044d14154c04a66564aeb11dfb4b6ab0700e45f5641e9c0e3cdede83670f695526857 days 19 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001953294
0xbb4cdec83f36a2d6954006412942a1290a28fd7bb7a67a0919dc0dbd7930a830695526257 days 19 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001953294
0xdab4243dd067c3737f716454bedbb1ef844eddd35b45ac75cccfd6783b25be85695497457 days 20 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001953294
0x49550474b3ce58fbf28bea6d9e23c3599bcc8ad3b6c88fcc67df69727590000d695438857 days 22 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0002139322
0x5e0f7b8636327d39d89e07fa38680f7c7ec4d635408cf316bed02766f58b92b1695438057 days 22 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0002139322
0xcb710010d78f7949582f41664215f6b7d3f0033d4dba5f15b014dcd5d24d7351695345758 days 2 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001674252
0xa5b14313ae39054773e4bd383c81d3700e8d0987f639587529ff0d648ae1a980695339758 days 2 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001674252
0xb37018a3b86d7572abcddf2e92c9dd48935c3bfaae652668a7c619d14b539636695058158 days 13 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0002046308
0x454792bcd8dfee616cddbf8161a38fd3276f3ddf604b912c82a0845fd84e8136694958958 days 17 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.000418563
0x5a3b733f1cf3822d2a0281b647a52c42cec3ebdb2724b295cd87a40ac737f908694913958 days 19 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.000418563
0x4f25725986168b3b9af4b1b7369cd9a2053b2e7796af56fa187902e783ca81b3694901558 days 20 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.000418563
0xcc0cc2ba74477b712514436cc82fa6150c9bee615c77e232e430a1d44160cc17694763959 days 1 hr ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
0xe8a3e992f1957ac8613af83b65e630b394a76f74fc436f7db49e8e01d6e44bf1694725359 days 3 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
0x0a908f10e4e1b2cb11479c307c2ae087158805aab36985299df85699b1f80057694717659 days 3 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
0xb2ae5ba7df329f7ed19a3f7a15a3a504b4c6f7953664564ca5d01e64f3707c83694670359 days 5 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
0xa2ccea40212acb99aaad28600b1a7969bdf3d39b545b66f14cd1f564bb9161a9694670159 days 5 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
0xca3aef4c81b0c37b92a482734f55e8f8835ad4767fa1e3914f6e405e13f7ae07694660859 days 6 hrs ago0x04ff7c9dcc4b711f5991350b7ca92223f9b148e8 IN  BC_CutieReward0 Ether0.0001488224
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: CutieReward
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.21;


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

pragma solidity ^0.4.20;

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

pragma solidity ^0.4.20;

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();
    }

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


/// @title Item effect for Blockchain Cuties
/// @author https://BlockChainArchitect.io
contract CutieReward is CutiePluginBase
{
    address public operatorAddress;

    function runSigned(
        uint40/* _cutieId*/,
        uint256/* _parameter*/,
        address/* _sender*/
    )
        external
        onlyCore
        whenNotPaused
        payable
    {
        revert();
    }

    function setOperator(address _newOperator) external onlyOwner
    {
        operatorAddress = _newOperator;
    }

    function setupCutie(uint40 cutieId, uint16 generation)
        external
        whenNotPaused
    {
        require(msg.sender == operatorAddress);

        coreContract.changeGeneration(cutieId, generation);
        coreContract.changeCooldownIndex(cutieId, generation);
    }
}

Contract ABI
[{"constant":false,"inputs":[],"name":"onRemove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"operatorAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"","type":"uint256"},{"name":"","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":false,"inputs":[{"name":"_newOperator","type":"address"}],"name":"setOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerFee","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"cutieId","type":"uint40"},{"name":"generation","type":"uint16"}],"name":"setupCutie","outputs":[],"payable":false,"stateMutability":"nonpayable","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":[],"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
606060405260008054600160a060020a033316600160a860020a0319909116179055610877806100306000396000f3006060604052600436106100d75763ffffffff60e060020a6000350416631195236981146100dc578063127effb2146100f15780633ccfd60b146101205780633f4ba83a146101335780635c975abb146101465780638456cb591461016d5780638da5cb5b146101805780638e0055531461019357806394a89233146101ad5780639652713e146101c0578063a055d455146101e1578063b3ab15fb14610202578063d5b2a01a14610221578063df1b817e1461024b578063e410a0c61461026f578063e80db5db14610295578063f2fde38b146102a8575b600080fd5b34156100e757600080fd5b6100ef6102c7565b005b34156100fc57600080fd5b6101046102ec565b604051600160a060020a03909116815260200160405180910390f35b341561012b57600080fd5b6100ef6102fb565b341561013e57600080fd5b6100ef61037d565b341561015157600080fd5b6101596103fc565b604051901515815260200160405180910390f35b341561017857600080fd5b6100ef61040c565b341561018b57600080fd5b610104610490565b341561019e57600080fd5b6100ef61ffff6004351661049f565b34156101b857600080fd5b610159610500565b6100ef64ffffffffff60043516602435600160a060020a0360443516610505565b6100ef64ffffffffff60043516602435600160a060020a0360443516610537565b341561020d57600080fd5b6100ef600160a060020a0360043516610552565b341561022c57600080fd5b61023461059c565b60405161ffff909116815260200160405180910390f35b341561025657600080fd5b6100ef64ffffffffff6004351661ffff602435166105ad565b341561027a57600080fd5b6100ef600160a060020a036004351661ffff602435166106b4565b34156102a057600080fd5b6101046107a1565b34156102b357600080fd5b6100ef600160a060020a03600435166107b0565b60015433600160a060020a039081169116146102e257600080fd5b6102ea6102fb565b565b600254600160a060020a031681565b60005433600160a060020a0390811691161480610326575060015433600160a060020a039081169116145b151561033157600080fd5b600030600160a060020a03163111156102ea57600154600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156102ea57600080fd5b60005433600160a060020a0390811691161461039857600080fd5b60005460a060020a900460ff1615156103b057600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60005460a060020a900460ff1681565b60005433600160a060020a0390811691161461042757600080fd5b60005460a060020a900460ff161561043e57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b61271061ffff821611156104b257600080fd5b60005433600160a060020a039081169116146104cd57600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b60015433600160a060020a0390811691161461052057600080fd5b60005460a060020a900460ff16156100d757600080fd5b60015433600160a060020a039081169116146100d757600080fd5b60005433600160a060020a0390811691161461056d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015460a060020a900461ffff1681565b60005460a060020a900460ff16156105c457600080fd5b60025433600160a060020a039081169116146105df57600080fd5b600154600160a060020a0316635a3f88f0838360405160e060020a63ffffffff851602815264ffffffffff909216600483015261ffff166024820152604401600060405180830381600087803b151561063757600080fd5b5af1151561064457600080fd5b5050600154600160a060020a0316905063cf7e69f8838360405160e060020a63ffffffff851602815264ffffffffff909216600483015261ffff166024820152604401600060405180830381600087803b15156106a057600080fd5b5af115156106ad57600080fd5b5050505050565b600061271061ffff831611156106c957600080fd5b60005433600160a060020a039081169116146106e457600080fd5b506001805475ffff0000000000000000000000000000000000000000191660a060020a61ffff84160217905581600160a060020a038116634d6a813a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561074e57600080fd5b5af1151561075b57600080fd5b50505060405180519050151561077057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b60005433600160a060020a039081169116146107cb57600080fd5b600160a060020a03811615156107e057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058203fc4d6a03e1b639f2460ec6730e6621553f426b82bc42af6275dde8722a7f8ee0029


   Swarm Source:
bzzr://3fc4d6a03e1b639f2460ec6730e6621553f426b82bc42af6275dde8722a7f8ee
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.