Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,619 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Setup Cutie | 6958398 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6958357 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6958131 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6957216 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6956753 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6956663 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6955922 | 2148 days ago | IN | 0 ETH | 0.00015347 | ||||
Setup Cutie | 6955372 | 2148 days ago | IN | 0 ETH | 0.00019532 | ||||
Setup Cutie | 6955268 | 2148 days ago | IN | 0 ETH | 0.00019532 | ||||
Setup Cutie | 6955262 | 2148 days ago | IN | 0 ETH | 0.00019532 | ||||
Setup Cutie | 6954974 | 2149 days ago | IN | 0 ETH | 0.00019532 | ||||
Setup Cutie | 6954388 | 2149 days ago | IN | 0 ETH | 0.00021393 | ||||
Setup Cutie | 6954380 | 2149 days ago | IN | 0 ETH | 0.00021393 | ||||
Setup Cutie | 6953457 | 2149 days ago | IN | 0 ETH | 0.00016742 | ||||
Setup Cutie | 6953397 | 2149 days ago | IN | 0 ETH | 0.00016742 | ||||
Setup Cutie | 6950581 | 2149 days ago | IN | 0 ETH | 0.00020463 | ||||
Setup Cutie | 6949589 | 2149 days ago | IN | 0 ETH | 0.00041856 | ||||
Setup Cutie | 6949139 | 2150 days ago | IN | 0 ETH | 0.00041856 | ||||
Setup Cutie | 6949015 | 2150 days ago | IN | 0 ETH | 0.00041856 | ||||
Setup Cutie | 6947639 | 2150 days ago | IN | 0 ETH | 0.00014882 | ||||
Setup Cutie | 6947253 | 2150 days ago | IN | 0 ETH | 0.00014882 | ||||
Setup Cutie | 6947176 | 2150 days ago | IN | 0 ETH | 0.00014882 | ||||
Setup Cutie | 6946703 | 2150 days ago | IN | 0 ETH | 0.00014882 | ||||
Setup Cutie | 6946701 | 2150 days ago | IN | 0 ETH | 0.00014882 | ||||
Setup Cutie | 6946608 | 2150 days ago | IN | 0 ETH | 0.00014882 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
CutieReward
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-05-24 */ 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 Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
Deployed Bytecode
0x6060604052600436106100d75763ffffffff60e060020a6000350416631195236981146100dc578063127effb2146100f15780633ccfd60b146101205780633f4ba83a146101335780635c975abb146101465780638456cb591461016d5780638da5cb5b146101805780638e0055531461019357806394a89233146101ad5780639652713e146101c0578063a055d455146101e1578063b3ab15fb14610202578063d5b2a01a14610221578063df1b817e1461024b578063e410a0c61461026f578063e80db5db14610295578063f2fde38b146102a8575b600080fd5b34156100e757600080fd5b6100ef6102c7565b005b34156100fc57600080fd5b6101046102ec565b604051600160a060020a03909116815260200160405180910390f35b341561012b57600080fd5b6100ef6102fb565b341561013e57600080fd5b6100ef61037d565b341561015157600080fd5b6101596103fc565b604051901515815260200160405180910390f35b341561017857600080fd5b6100ef61040c565b341561018b57600080fd5b610104610490565b341561019e57600080fd5b6100ef61ffff6004351661049f565b34156101b857600080fd5b610159610500565b6100ef64ffffffffff60043516602435600160a060020a0360443516610505565b6100ef64ffffffffff60043516602435600160a060020a0360443516610537565b341561020d57600080fd5b6100ef600160a060020a0360043516610552565b341561022c57600080fd5b61023461059c565b60405161ffff909116815260200160405180910390f35b341561025657600080fd5b6100ef64ffffffffff6004351661ffff602435166105ad565b341561027a57600080fd5b6100ef600160a060020a036004351661ffff602435166106b4565b34156102a057600080fd5b6101046107a1565b34156102b357600080fd5b6100ef600160a060020a03600435166107b0565b60015433600160a060020a039081169116146102e257600080fd5b6102ea6102fb565b565b600254600160a060020a031681565b60005433600160a060020a0390811691161480610326575060015433600160a060020a039081169116145b151561033157600080fd5b600030600160a060020a03163111156102ea57600154600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156102ea57600080fd5b60005433600160a060020a0390811691161461039857600080fd5b60005460a060020a900460ff1615156103b057600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60005460a060020a900460ff1681565b60005433600160a060020a0390811691161461042757600080fd5b60005460a060020a900460ff161561043e57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b61271061ffff821611156104b257600080fd5b60005433600160a060020a039081169116146104cd57600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b60015433600160a060020a0390811691161461052057600080fd5b60005460a060020a900460ff16156100d757600080fd5b60015433600160a060020a039081169116146100d757600080fd5b60005433600160a060020a0390811691161461056d57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015460a060020a900461ffff1681565b60005460a060020a900460ff16156105c457600080fd5b60025433600160a060020a039081169116146105df57600080fd5b600154600160a060020a0316635a3f88f0838360405160e060020a63ffffffff851602815264ffffffffff909216600483015261ffff166024820152604401600060405180830381600087803b151561063757600080fd5b5af1151561064457600080fd5b5050600154600160a060020a0316905063cf7e69f8838360405160e060020a63ffffffff851602815264ffffffffff909216600483015261ffff166024820152604401600060405180830381600087803b15156106a057600080fd5b5af115156106ad57600080fd5b5050505050565b600061271061ffff831611156106c957600080fd5b60005433600160a060020a039081169116146106e457600080fd5b506001805475ffff0000000000000000000000000000000000000000191660a060020a61ffff84160217905581600160a060020a038116634d6a813a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561074e57600080fd5b5af1151561075b57600080fd5b50505060405180519050151561077057600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b60005433600160a060020a039081169116146107cb57600080fd5b600160a060020a03811615156107e057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058203fc4d6a03e1b639f2460ec6730e6621553f426b82bc42af6275dde8722a7f8ee0029
Swarm Source
bzzr://3fc4d6a03e1b639f2460ec6730e6621553f426b82bc42af6275dde8722a7f8ee
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.