Latest 2 txns

TxHash Age From To Value [TxFee]
0x6256a7d5f7a267cad2f6ca5a1fad32c680894dab10e4066e032f7efe71c670b712 days 20 hrs ago0xb7cf24accd758df9c92797f4835ab0a10e568098  IN   0xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether0.000046053
0x3f2593c6d40279d10155b8b8dfa58982f2651df1b9daebb8c5c4948b07fb319712 days 20 hrs ago0xb7cf24accd758df9c92797f4835ab0a10e568098  IN    Contract Creation0 Ether0.003041352


[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 19 Internal Transactions

ParentTxHash Block Age From To Value
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0xa9ac9e5daac43a284aaed638dc555a6be52c2bc10x595150692f1719bc556d3280bee733c49aaae9570 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0xa9ac9e5daac43a284aaed638dc555a6be52c2bc10x595150692f1719bc556d3280bee733c49aaae9570 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x9d20e3bb11e69be297ebe60eda935b4f40befe5809241b0b942d8b76fd6b3bc71002946012 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0x6256a7d5f7a267cad2f6ca5a1fad32c680894dab10e4066e032f7efe71c670b71002945612 days 20 hrs ago0xa9ac9e5daac43a284aaed638dc555a6be52c2bc10x595150692f1719bc556d3280bee733c49aaae9570 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xf6d3191a7b10abe8fb1843d2fd9fe8a3aaa6379a51bb3b3c068af1a9cb760c691002944112 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
0xdb8bb2d6ddc52564247b08b0d2abec162128134817dbecfcee026bc112d7cf1a1002942712 days 20 hrs ago0x595150692f1719bc556d3280bee733c49aaae9570xa9ac9e5daac43a284aaed638dc555a6be52c2bc10 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: Config
Compiler Text: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.23;

pragma solidity ^0.4.23;


pragma solidity ^0.4.23;


/**
 * @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.
   */
  constructor() 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.23;

/// @title BlockchainCuties: Collectible and breedable cuties on the Ethereum blockchain.
/// @author https://BlockChainArchitect.io
/// @dev This is the BlockchainCuties configuration. It can be changed redeploying another version.
interface ConfigInterface
{
    function isConfig() external pure returns (bool);

    function getCooldownIndexFromGeneration(uint16 _generation, uint40 _cutieId) external view returns (uint16);
    
    function getCooldownEndTimeFromIndex(uint16 _cooldownIndex, uint40 _cutieId) external view returns (uint40);

    function getCooldownIndexCount() external view returns (uint256);

    function getBabyGenFromId(uint40 _momId, uint40 _dadId) external view returns (uint16);
    function getBabyGen(uint16 _momGen, uint16 _dadGen) external pure returns (uint16);

    function getTutorialBabyGen(uint16 _dadGen) external pure returns (uint16);

    function getBreedingFee(uint40 _momId, uint40 _dadId) external view returns (uint256);
}

pragma solidity ^0.4.23;



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

    ConfigInterface public config;

    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;

    function createSaleAuction(
        uint40 _cutieId,
        uint128 _startPrice,
        uint128 _endPrice,
        uint40 _duration
    )
    public;

    function getApproved(uint256 _tokenId) external returns (address);
    function totalSupply() view external returns (uint256);
    function createPromoCutie(uint256 _genes, address _owner) external;
    function checkOwnerAndApprove(address _claimant, uint40 _cutieId, address _pluginsContract) external view;
    function breedWith(uint40 _momId, uint40 _dadId) public payable returns (uint40);
    function getBreedingFee(uint40 _momId, uint40 _dadId) public view returns (uint256);
}


/// @title BlockchainCuties: Collectible and breedable cuties on the Ethereum blockchain.
/// @author https://BlockChainArchitect.io
/// @dev This is the BlockchainCuties configuration. It can be changed redeploying another version.

contract Config is Ownable
{
    function isConfig() public pure returns (bool)
    {
        return true;
    }

    /// @dev A lookup table that shows the cooldown duration after a successful
    ///  breeding action, called "breeding cooldown". The cooldown roughly doubles each time
    /// a cutie is bred, so that owners don't breed the same cutie continuously. Maximum cooldown is seven days.
    uint32[14] public cooldowns = [
    uint32(1 minutes),
    uint32(2 minutes),
    uint32(5 minutes),
    uint32(10 minutes),
    uint32(30 minutes),
    uint32(1 hours),
    uint32(2 hours),
    uint32(4 hours),
    uint32(8 hours),
    uint32(16 hours),
    uint32(1 days),
    uint32(2 days),
    uint32(4 days),
    uint32(7 days)
    ];

    /*    function setCooldown(uint16 index, uint32 newCooldown) public onlyOwner
        {
            cooldowns[index] = newCooldown;
        }*/

    CutieCoreInterface public coreContract;

    function setup(address _coreAddress) public onlyOwner
    {
        CutieCoreInterface candidateContract = CutieCoreInterface(_coreAddress);
        require(candidateContract.isCutieCore());
        coreContract = candidateContract;
    }

    function getCooldownIndexFromGeneration(uint16 _generation) public view returns (uint16)
    {
        uint16 result = _generation;
        if (result >= getCooldownIndexCount()) {
            result = uint16(getCooldownIndexCount() - 1);
        }
        return result;
    }

    function getCooldownEndTimeFromIndex(uint16 _cooldownIndex) public view returns (uint40)
    {
        return uint40(now + cooldowns[_cooldownIndex]);
    }

    function getCooldownIndexCount() public view returns (uint256)
    {
        return cooldowns.length;
    }

    function getBabyGenFromId(uint40 _momId, uint40 _dadId) public view returns (uint16)
    {
        uint16 momGen = coreContract.getGeneration(_momId);
        uint16 dadGen = coreContract.getGeneration(_dadId);

        return getBabyGen(momGen, dadGen);
    }

    function getBabyGen(uint16 _momGen, uint16 _dadGen) public pure returns (uint16)
    {
        uint16 babyGen = _momGen;
        if (_dadGen > _momGen) {
            babyGen = _dadGen;
        }
        babyGen = babyGen + 1;
        return babyGen;
    }

    function getTutorialBabyGen(uint16 _dadGen) public pure returns (uint16)
    {
        // Tutorial pet gen is 1
        return getBabyGen(1, _dadGen);
    }

    function getBreedingFee(uint40 _momId, uint40 _dadId)
    public
    view
    returns (uint256)
    {
        if (_momId == 30 && _dadId == 31)
        {
            return 0;
        }

        uint16 momGen = coreContract.getGeneration(_momId);
        uint16 dadGen = coreContract.getGeneration(_dadId);
        uint16 momCooldown = coreContract.getCooldownIndex(_momId);
        uint16 dadCooldown = coreContract.getCooldownIndex(_dadId);

        uint256 sum = uint256(momCooldown) + dadCooldown - momGen - dadGen;
        return 1 finney + 3 szabo*sum*sum;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"_cooldownIndex","type":"uint16"}],"name":"getCooldownEndTimeFromIndex","outputs":[{"name":"","type":"uint40"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_momGen","type":"uint16"},{"name":"_dadGen","type":"uint16"}],"name":"getBabyGen","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_generation","type":"uint16"}],"name":"getCooldownIndexFromGeneration","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_dadGen","type":"uint16"}],"name":"getTutorialBabyGen","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_coreAddress","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_momId","type":"uint40"},{"name":"_dadId","type":"uint40"}],"name":"getBreedingFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCooldownIndexCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_momId","type":"uint40"},{"name":"_dadId","type":"uint40"}],"name":"getBabyGenFromId","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"cooldowns","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isConfig","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","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":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
610240604052603c6080908152607860a05261012c60c05261025860e05261070861010052610e1061012052611c2061014052613840610160526170806101805261e1006101a052620151806101c0526202a3006101e052620546006102005262093a806102205261007590600190600e61008d565b5060008054600160a060020a0319163317905561014d565b6002830191839082156101195791602002820160005b838211156100e757835183826101000a81548163ffffffff021916908363ffffffff16021790555092602001926004016020816003010492830192600103026100a3565b80156101175782816101000a81549063ffffffff02191690556004016020816003010492830192600103026100e7565b505b50610125929150610129565b5090565b61014a91905b8082111561012557805463ffffffff1916815560010161012f565b90565b6109228061015c6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306347def81146100c95780631af97fb7146100ff5780635757dcdf14610138578063656e8d6f1461015457806366d382031461017057806366dc860a14610193578063732606fc146101ca5780638ba5a54f146101df5780638da5cb5b146102045780639d6fac6f14610235578063dcb31b8214610266578063e80db5db1461028f578063f2fde38b146102a4575b600080fd5b3480156100d557600080fd5b506100e561ffff600435166102c5565b6040805164ffffffffff9092168252519081900360200190f35b34801561010b57600080fd5b5061012161ffff60043581169060243516610303565b6040805161ffff9092168252519081900360200190f35b34801561014457600080fd5b5061012161ffff60043516610322565b34801561016057600080fd5b5061012161ffff6004351661034b565b34801561017c57600080fd5b50610191600160a060020a0360043516610358565b005b34801561019f57600080fd5b506101b864ffffffffff60043581169060243516610431565b60408051918252519081900360200190f35b3480156101d657600080fd5b506101b86106e9565b3480156101eb57600080fd5b5061012164ffffffffff600435811690602435166106ee565b34801561021057600080fd5b50610219610812565b60408051600160a060020a039092168252519081900360200190f35b34801561024157600080fd5b5061024d600435610821565b6040805163ffffffff9092168252519081900360200190f35b34801561027257600080fd5b5061027b61084e565b604080519115158252519081900360200190f35b34801561029b57600080fd5b50610219610853565b3480156102b057600080fd5b50610191600160a060020a0360043516610862565b6000600161ffff8316600e81106102d857fe5b600891828204019190066004029054906101000a900463ffffffff1663ffffffff1642019050919050565b60008261ffff80821690841611156103185750815b6001019392505050565b60008161032d6106e9565b61ffff8216106103455760016103416106e9565b0390505b92915050565b6000610345600183610303565b60008054600160a060020a0316331461037057600080fd5b81905080600160a060020a0316634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156103ca57600080fd5b505af11580156103de573d6000803e3d6000fd5b505050506040513d60208110156103f457600080fd5b5051151561040157600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905550565b6000806000806000808764ffffffffff16601e14801561045857508664ffffffffff16601f145b1561046657600095506106de565b6003546040805160e560020a6304e48d7102815264ffffffffff8b1660048201529051600160a060020a0390921691639c91ae20916024808201926020929091908290030181600087803b1580156104bd57600080fd5b505af11580156104d1573d6000803e3d6000fd5b505050506040513d60208110156104e757600080fd5b50516003546040805160e560020a6304e48d7102815264ffffffffff8b1660048201529051929750600160a060020a0390911691639c91ae20916024808201926020929091908290030181600087803b15801561054357600080fd5b505af1158015610557573d6000803e3d6000fd5b505050506040513d602081101561056d57600080fd5b5051600354604080517f2917f16200000000000000000000000000000000000000000000000000000000815264ffffffffff8c1660048201529051929650600160a060020a0390911691632917f162916024808201926020929091908290030181600087803b1580156105df57600080fd5b505af11580156105f3573d6000803e3d6000fd5b505050506040513d602081101561060957600080fd5b5051600354604080517f2917f16200000000000000000000000000000000000000000000000000000000815264ffffffffff8b1660048201529051929550600160a060020a0390911691632917f162916024808201926020929091908290030181600087803b15801561067b57600080fd5b505af115801561068f573d6000803e3d6000fd5b505050506040513d60208110156106a557600080fd5b505166038d7ea4c6800061ffff8087168882168783169285169290920191909103038080026502ba7def30000291909101975090925090505b505050505092915050565b600e90565b6003546040805160e560020a6304e48d7102815264ffffffffff85166004820152905160009283928392600160a060020a0390921691639c91ae209160248082019260209290919082900301818787803b15801561074b57600080fd5b505af115801561075f573d6000803e3d6000fd5b505050506040513d602081101561077557600080fd5b50516003546040805160e560020a6304e48d7102815264ffffffffff881660048201529051929450600160a060020a0390911691639c91ae20916024808201926020929091908290030181600087803b1580156107d157600080fd5b505af11580156107e5573d6000803e3d6000fd5b505050506040513d60208110156107fb57600080fd5b505190506108098282610303565b95945050505050565b600054600160a060020a031681565b600181600e811061082e57fe5b60089182820401919006600402915054906101000a900463ffffffff1681565b600190565b600354600160a060020a031681565b600054600160a060020a0316331461087957600080fd5b600160a060020a038116151561088e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820c5acd78456f881a02d126b58ed8ef12d4aab78a14cbc8e9f603869e1a85e6c770029

   Swarm Source:
bzzr://c5acd78456f881a02d126b58ed8ef12d4aab78a14cbc8e9f603869e1a85e6c77

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward