Contract Overview |  BlockchainCuties_Bank
Balance: 0.35 Ether
Ether Value: $41.12 (@ $117.48/ETH)
Transactions: 3 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x2f26d1ddabcdd88aeca3d4f527d4366c37e15c78at txn 0x8f6c6afbbaf851bedd79ed70ccdb510f8ed28f4f82df386fbda01d178bfb8d7c
 Internal Transactions as a result of Contract Execution
 Latest 24 Internal Transactions

ParentTxHash Block Age From To Value
0xdc7b24fe85dced606b486ea660edca744088ccf106b76812deb75904f96358fd711388711 hrs 28 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0xbb76935b490a8f00267342f777a6171f485a967360693634a570e02a2d04e34f705509611 days 5 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x39642d382508b402015e9aea2a6e65ce80aa22d1f698698b9aee44e162e552d4702137717 days 6 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0x785e0835cd7f575e17fa1953676a2dbdc6bbe90327bb92f25a7731cda44854fd692789833 days 6 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0xb45e67b8de5998580ae520b592d1161c482f560efd458c669d3f26db5d3ed549692641933 days 12 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0xcdff036dc28ad8b80b40e13a02defc60b2a1f6250515a648ef364fd87c643d81692217834 days 6 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x45c100dd490ba51b0304ce34486a688986e3e43c2c67407fca0678345030f5c8687188942 days 15 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x1bc6be92100a4b21fa91a91ebbbd24667e76d190a0bf4784c7c81dac7e5faefb686028944 days 14 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0x903feb9f58cff901d86632d6aaea43d45bf37a673de3ce2642f784b1b8ee9cc2681775851 days 14 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0x881e8753868d9f31176798bcc95b03e958d873932369967faa6045c464ee26d6677402458 days 20 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x71b372c198253e67fe93543f9ef813e3d4bc40f1f4e7467b12d236cd9588d706676977659 days 12 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x114073afe572c270c1300d59c43d211a84bb84953edee2c545f01ebe6c19b133675702961 days 14 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0x823b1515860291178ab01077cbfec05c93339721e11a6e9e694fffec6e22d929668839072 days 21 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x61e0453810722942ae26678bf50170ecd24c625d268519f08d3a769215b802fc668710673 days 2 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0xe4688e7d705dda39d95e38065b1b601a4d2f81664756cfc13070012e9b51d8bd662917182 days 13 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.03 Ether
0x05d5e39eacdd063d0df5d1458059647cabc3d0054e4b786f1a8bde16354e5cdb652683499 days 7 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x2b6ea0ca69c17f93b2f32bcaec9f76cbc1720e9ddb3e93553de8b90b5895a8116510729101 days 22 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0xe79f4bf6bfd66542fadd7bc0e49d91ab16dc5dca766fa8791f2dea0a4610fe616503819103 days 1 hr ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0xdf8eb467925c09f8cbbb41959ca623991f16b9f59333a324353e394aad46fee46387455122 days 58 mins ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x17e5a05f4dfd028db19870078d0193b1ed68dbeebfd0c7e0cc8e0c5f7e7fa1c16356051127 days 5 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x485f4ff51c2f3f6689f4b3be052ae1a5d75af93073aab457f1ebda8760e1bfdd6081051173 days 10 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x2db70a50b729eceb1b619e5386f3dd64971b994f73dc88e3bdb8f51c00c35abd6021937183 days 10 hrs ago0xaa4250216f77a79fd9983642a987f708f1fe75040xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0.02 Ether
0xa8dc2b2ee6774d097fa78129eeb2621fca20c00d9909eb2d7dfc3391649180805739925231 days 21 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
0x2beaa5fcc6d8eb6fedd36b241275ea38d9b5f3761b620858ed7bff740c8487ee5623973252 days 10 hrs ago0xd73be539d6b2076bab83ca6ba62dfe189abc6bbe0xaa4250216f77a79fd9983642a987f708f1fe75040.01 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Bank
Compiler Text: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 payments for payd features from players for Blockchain Cuties
/// @author https://BlockChainArchitect.io
contract Bank is CutiePluginBase
{
    function run(
        uint40,
        uint256,
        address
    ) 
        public
        payable
        onlyCore
    {
        revert();
    }

    function runSigned(uint40, uint256, address)
        external
        payable
        onlyCore
    {
        // just accept payments
    }
}

    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":"","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":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":[],"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 Switch To Opcodes View
606060405260008054600160a060020a033316600160a860020a03199091161790556106c0806100306000396000f3006060604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631195236981146100d45780633ccfd60b146100e95780633f4ba83a146100fc5780635c975abb1461010f5780638456cb59146101365780638da5cb5b146101495780638e0055531461017857806394a89233146101925780639652713e146101a5578063a055d455146101c6578063d5b2a01a146101e7578063e410a0c614610211578063e80db5db14610237578063f2fde38b1461024a575b600080fd5b34156100df57600080fd5b6100e7610269565b005b34156100f457600080fd5b6100e761028e565b341561010757600080fd5b6100e7610310565b341561011a57600080fd5b61012261038f565b604051901515815260200160405180910390f35b341561014157600080fd5b6100e761039f565b341561015457600080fd5b61015c610423565b604051600160a060020a03909116815260200160405180910390f35b341561018357600080fd5b6100e761ffff60043516610432565b341561019d57600080fd5b610122610493565b6100e764ffffffffff60043516602435600160a060020a0360443516610498565b6100e764ffffffffff60043516602435600160a060020a03604435166104b8565b34156101f257600080fd5b6101fa6104d3565b60405161ffff909116815260200160405180910390f35b341561021c57600080fd5b6100e7600160a060020a036004351661ffff602435166104e4565b341561024257600080fd5b61015c6105ea565b341561025557600080fd5b6100e7600160a060020a03600435166105f9565b60015433600160a060020a0390811691161461028457600080fd5b61028c61028e565b565b60005433600160a060020a03908116911614806102b9575060015433600160a060020a039081169116145b15156102c457600080fd5b600030600160a060020a031631111561028c57600154600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561028c57600080fd5b60005433600160a060020a0390811691161461032b57600080fd5b60005460a060020a900460ff16151561034357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146103ba57600080fd5b60005460a060020a900460ff16156103d157600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600054600160a060020a031681565b61271061ffff8216111561044557600080fd5b60005433600160a060020a0390811691161461046057600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b60015433600160a060020a039081169116146104b357600080fd5b505050565b60015433600160a060020a039081169116146100cf57600080fd5b60015460a060020a900461ffff1681565b600061271061ffff831611156104f957600080fd5b60005433600160a060020a0390811691161461051457600080fd5b506001805475ffff0000000000000000000000000000000000000000191660a060020a61ffff84160217905581600160a060020a038116634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561059757600080fd5b5af115156105a457600080fd5b5050506040518051905015156105b957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b60005433600160a060020a0390811691161461061457600080fd5b600160a060020a038116151561062957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058207f9c65db02900529d27653b8b1123e2b073bd87ce8f789067af5b80f7c0ef5dc0029

   Swarm Source:
bzzr://7f9c65db02900529d27653b8b1123e2b073bd87ce8f789067af5b80f7c0ef5dc

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.