Sponsored Link:   trade.io - The Future of Crypto Trading - A Better, Faster, Smarter Crypto Exchange - Pre-Register Now!
Contract Overview
Balance: 3.619532917381678094 Ether
Ether Value: $1,736.29 (@ $479.70/ETH)
Transactions: 958 txns
Token Contract: John Orion Young (JOY)
 Latest 25 txns from a total Of 958 transactions

TxHash Age From To Value [TxFee]
0xb733085a49b77e6cc224dadda1357bd4f7ebf4534c537e4822c4a2620e967f932 days 3 hrs ago0x29ecaa773f052d14ec5258b352ee7304f57aabc3  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.161726837317994 Ether0.000531328
0xfedbd69cceabdf263a93b24c9e5cbcc1a332b2043aaf280afc1cf5c19881f90f2 days 4 hrs ago0xf6b0e6e6a67512496f60494f9b0da5d36bba5a17  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.115005750981685 Ether0.000597744
0x2511eddbf24aa076390e1a8f0ab1c58cc45accb85bb5488a145159195ccb8ae52 days 4 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.019643802610477 Ether0.00024183
0x107b2e67ce14d4cebbd170e5726ae30d0cdbe8fec3f2ca2bf706b864d1fe6f1a2 days 4 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.009330806239976 Ether0.00024183
0xa9956d69b990ad27764a5a4d4a21f695745771f1c96b56fcb3857638568d52c72 days 4 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.004432132963988 Ether0.000072549
0x2fe217a4a727b8182a8e25e369c11fb93110921b413b5f55ed17880ada1053022 days 4 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.002105263157894 Ether0.000072549
0x97355a9fcaefb8a21c6469794d29b4d982f86f181db21ce2a003d678cc51baa22 days 4 hrs ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.000730576
0x7b0ba1f85e78904ed93a860b600a9b3eecd8a49ee171cd568b61837eb6cc9ff02 days 4 hrs ago0x27d5b14f2314fce17afc00b2bc12854aa6551408  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.00033208
0xd509f7ef88f5ab1838f8258957280927644437410c8325581818c4e51b5b66152 days 4 hrs ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.00066416
0x22cfb2592f07aa04e724d139e2ef5fd0919b33e1ffa09097d18d8d53832179ce2 days 4 hrs ago0x27d5b14f2314fce17afc00b2bc12854aa6551408  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.019643802610477 Ether0.00033095
0xf64c2c03afca5ca304b13016f8509c1ed2298212c00e8e597f70cc8d233e6af92 days 4 hrs ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.009330806239976 Ether0.00099285
0xb71fb9724cfc2376e898baf9f411618b5bb3ab1e284655202ccd8181522fec052 days 4 hrs ago0x27d5b14f2314fce17afc00b2bc12854aa6551408  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.004432132963988 Ether0.00046333
0x735764a3b84a5dfd89baea6fba394e4ee98e75fe7e53f5b0804573f2d42bf09b2 days 4 hrs ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.002105263157894 Ether0.0006619
0x5d12c0f1d73944845752e20e20a028ed0ce4ce6f10749be060cb4e2bd247934f2 days 4 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.001 Ether0.000145098
0x77800bc05d6e82b8852d1912c00c7b0ce0ad651021dad8b9e19cd56e2a34c18c2 days 4 hrs ago0x29ecaa773f052d14ec5258b352ee7304f57aabc3  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.001 Ether0.00047949
0x88b94848971f3d3205e92c2154d6ea8fe3846ea2dfad2f755f8ce6109ba45ed72 days 4 hrs ago0x9ae048c47aef066e03593d5edb230e3fa80c3f17  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540 Ether0.000691548
0x2df2348e2e2ce8793c55dd14c52379b91a1f9110fe40fd8c8e4a1a14b1b6b3542 days 18 hrs ago0xeed4c3963adf953a9ad55ecabc743a6050ea8672  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.161726837317994 Ether0.00033208
0xaa0817d00dbadbad3298badbdf0912431ff00c2eddfa34c81f795694718514e93 days 1 hr ago0x5ea1d56d0dde1ca5b50c277275855f69edefa169  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.0005780536
0x41f2a1bc18c1ab044f1967d4ffd7364629c5d0c0e06363709fdaca38dcc5b3333 days 2 hrs ago0x74b78e98093f5b522a7ebdac3b994641ca7c2b20  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.0016403
0x436df8e50ab6f077b43ede75a1d21a2aafa6aa1b9b439d7cdc5f82437645ccf65 days 4 hrs ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.161726837317994 Ether0.0033208
0x34d42fa7cb8e5cef73cf3498f465d118b240839dbd0ee7dba819cd5a2987a7f25 days 4 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.115005750981685 Ether0.002789472
0xeb6514c4efff109496fadef1bce609e7eda1963dc828662ae103cffd23f9a51f5 days 4 hrs ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.0033208
0x0c0216fdbaf706f5efe14b4c5547a1ce0a939d28487905d19e7f3255aa15ec525 days 4 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.000956735
0x17f8c7b71172cf6cad0e7fe5ba49e9f92ed3d9643d2c76527a6f76b774ba562b5 days 4 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.002723056
0x225bb6c0c65803a51e0d6acc9ac92edb064c8d7a1fff86c5ffc04645c5fe75165 days 4 hrs ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.003121552
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0xb733085a49b77e6cc224dadda1357bd4f7ebf4534c537e4822c4a2620e967f9359765772 days 3 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xf6b0e6e6a67512496f60494f9b0da5d36bba5a170.14555415358619536 Ether
0xfedbd69cceabdf263a93b24c9e5cbcc1a332b2043aaf280afc1cf5c19881f90f59764592 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.103505175883516701 Ether
0x97355a9fcaefb8a21c6469794d29b4d982f86f181db21ce2a003d678cc51baa259763552 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.073603680628278544 Ether
0x7b0ba1f85e78904ed93a860b600a9b3eecd8a49ee171cd568b61837eb6cc9ff059763232 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.052340395113442521 Ether
0xd509f7ef88f5ab1838f8258957280927644437410c8325581818c4e51b5b661559763042 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.037219836525114681 Ether
0x22cfb2592f07aa04e724d139e2ef5fd0919b33e1ffa09097d18d8d53832179ce59763002 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.017679422349429474 Ether
0xf64c2c03afca5ca304b13016f8509c1ed2298212c00e8e597f70cc8d233e6af959762952 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.008397725615979001 Ether
0xb71fb9724cfc2376e898baf9f411618b5bb3ab1e284655202ccd8181522fec0559762912 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.003988919667590026 Ether
0x735764a3b84a5dfd89baea6fba394e4ee98e75fe7e53f5b0804573f2d42bf09b59762892 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x29ecaa773f052d14ec5258b352ee7304f57aabc30.001894736842105263 Ether
0x2df2348e2e2ce8793c55dd14c52379b91a1f9110fe40fd8c8e4a1a14b1b6b35459730532 days 18 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x26521ede6e1796c6faee57cbc68a178e78d8e23e0.14555415358619536 Ether
0xaa0817d00dbadbad3298badbdf0912431ff00c2eddfa34c81f795694718514e959711403 days 1 hr ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xc30ef68274b04a3eddd9189539de6a469553ab640.073603680628278544 Ether
0x41f2a1bc18c1ab044f1967d4ffd7364629c5d0c0e06363709fdaca38dcc5b33359710733 days 2 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x0436610420446f77e09ce7a106a77adfbb6b09ef0.073603680628278544 Ether
0x436df8e50ab6f077b43ede75a1d21a2aafa6aa1b9b439d7cdc5f82437645ccf659584145 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x123085670e817602041e58febb243abe01a9a8250.14555415358619536 Ether
0x34d42fa7cb8e5cef73cf3498f465d118b240839dbd0ee7dba819cd5a2987a7f259584055 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.103505175883516701 Ether
0xeb6514c4efff109496fadef1bce609e7eda1963dc828662ae103cffd23f9a51f59583895 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x123085670e817602041e58febb243abe01a9a8250.073603680628278544 Ether
0x17f8c7b71172cf6cad0e7fe5ba49e9f92ed3d9643d2c76527a6f76b774ba562b59583785 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.052340395113442521 Ether
0x225bb6c0c65803a51e0d6acc9ac92edb064c8d7a1fff86c5ffc04645c5fe751659583745 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.037219836525114681 Ether
0x25929d88063415dcb6e35d3242b458bc15e43a7aa7f43979c524804ab6d4eda959583675 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.017679422349429474 Ether
0x9c48cc61fe65eb03dc8d43720e285993e46bcf2b132f50cc2afecc3819c0ab6659583625 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x123085670e817602041e58febb243abe01a9a8250.008397725615979001 Ether
0x3a9073ff7253bd6007270b1e3cda7babd313d730b69d4a71e46a4640a5b3056a59583575 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.003988919667590026 Ether
0x254c491fdcb3f283eb562db6e75298f45ed4a14b1a247600fd588a4f0aced62a59583545 days 4 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.001894736842105263 Ether
0xcc3c301da535f3d0050a09cddd726558017b2c9767ecae7059d4173ef7ed0d5659456797 days 7 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.14555415358619536 Ether
0xf7ff160e8eaf82152bb767c19b64411a417af366a1869583758cf60d9ed4476159456707 days 7 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.103505175883516701 Ether
0x67ff5a489c3d55405d53c031bae6b0af6b342047bed099ee1c42967bcbd9f1f859456677 days 7 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x123085670e817602041e58febb243abe01a9a8250.073603680628278544 Ether
0x957cea78abdca6913e4cd82458d056fb1aa01c5040a2b7dc791773e5c4e3fc6759456567 days 7 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.052340395113442521 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: JoyArt
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

// inspired by
// https://github.com/axiomzen/cryptokitties-bounty/blob/master/contracts/KittyAccessControl.sol
contract AccessControl {
    /// @dev The addresses of the accounts (or contracts) that can execute actions within each roles
    address public ceoAddress;
    address public cooAddress;

    /// @dev Keeps track whether the contract is paused. When that is true, most actions are blocked
    bool public paused = false;

    /// @dev The AccessControl constructor sets the original C roles of the contract to the sender account
    function AccessControl() public {
        ceoAddress = msg.sender;
        cooAddress = msg.sender;
    }

    /// @dev Access modifier for CEO-only functionality
    modifier onlyCEO() {
        require(msg.sender == ceoAddress);
        _;
    }

    /// @dev Access modifier for COO-only functionality
    modifier onlyCOO() {
        require(msg.sender == cooAddress);
        _;
    }

    /// @dev Access modifier for any CLevel functionality
    modifier onlyCLevel() {
        require(msg.sender == ceoAddress || msg.sender == cooAddress);
        _;
    }

    /// @dev Assigns a new address to act as the CEO. Only available to the current CEO
    /// @param _newCEO The address of the new CEO
    function setCEO(address _newCEO) public onlyCEO {
        require(_newCEO != address(0));
        ceoAddress = _newCEO;
    }

    /// @dev Assigns a new address to act as the COO. Only available to the current CEO
    /// @param _newCOO The address of the new COO
    function setCOO(address _newCOO) public onlyCEO {
        require(_newCOO != address(0));
        cooAddress = _newCOO;
    }

    /// @dev Modifier to allow actions only when the contract IS NOT paused
    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    /// @dev Modifier to allow actions only when the contract IS paused
    modifier whenPaused {
        require(paused);
        _;
    }

    /// @dev Pause the smart contract. Only can be called by the CEO
    function pause() public onlyCEO whenNotPaused {
        paused = true;
    }

    /// @dev Unpauses the smart contract. Only can be called by the CEO
    function unpause() public onlyCEO whenPaused {
        paused = false;
    }
}


/**
 * Interface for required functionality in the ERC721 standard
 * for non-fungible tokens.
 *
 * Author: Nadav Hollander (nadav at dharma.io)
 * https://github.com/dharmaprotocol/NonFungibleToken/blob/master/contracts/ERC721.sol
 */
contract ERC721 {
    // Events
    event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);

    /// For querying totalSupply of token.
    function totalSupply() public view returns (uint256 _totalSupply);

    /// For querying balance of a particular account.
    /// @param _owner The address for balance query.
    /// @dev Required for ERC-721 compliance.
    function balanceOf(address _owner) public view returns (uint256 _balance);

    /// For querying owner of token.
    /// @param _tokenId The tokenID for owner inquiry.
    /// @dev Required for ERC-721 compliance.
    function ownerOf(uint256 _tokenId) public view returns (address _owner);

    /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom()
    /// @param _to The address to be granted transfer approval. Pass address(0) to
    ///  clear all approvals.
    /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
    /// @dev Required for ERC-721 compliance.
    function approve(address _to, uint256 _tokenId) public;

    // NOT IMPLEMENTED
    // function getApproved(uint256 _tokenId) public view returns (address _approved);

    /// Third-party initiates transfer of token from address _from to address _to.
    /// @param _from The address for the token to be transferred from.
    /// @param _to The address for the token to be transferred to.
    /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
    /// @dev Required for ERC-721 compliance.
    function transferFrom(address _from, address _to, uint256 _tokenId) public;

    /// Owner initates the transfer of the token to another account.
    /// @param _to The address of the recipient, can be a user or contract.
    /// @param _tokenId The ID of the token to transfer.
    /// @dev Required for ERC-721 compliance.
    function transfer(address _to, uint256 _tokenId) public;

    ///
    function implementsERC721() public view returns (bool _implementsERC721);

    // EXTRA
    /// @notice Allow pre-approved user to take ownership of a token.
    /// @param _tokenId The ID of the token that can be transferred if this call succeeds.
    /// @dev Required for ERC-721 compliance.
    function takeOwnership(uint256 _tokenId) public;
}


contract DetailedERC721 is ERC721 {
    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
}

contract JoyArt is AccessControl, DetailedERC721 {
    using SafeMath for uint256;

    event TokenCreated(uint256 tokenId, string name, uint256 price, address owner);
    event TokenSold(
        uint256 indexed tokenId,
        string name,
        uint256 sellingPrice,
        uint256 newPrice,
        address indexed oldOwner,
        address indexed newOwner
    );

    mapping (uint256 => address) private tokenIdToOwner;
    mapping (uint256 => uint256) private tokenIdToPrice;
    mapping (address => uint256) private ownershipTokenCount;
    mapping (uint256 => address) private tokenIdToApproved;

    struct Art {
        string name;
    }

    Art[] private artworks;

    uint256 private startingPrice = 0.001 ether;
    bool private erc721Enabled = false;

    modifier onlyERC721() {
        require(erc721Enabled);
        _;
    }

    function createToken(string _name, address _owner, uint256 _price) public onlyCLevel {
        require(_owner != address(0));
        require(_price >= startingPrice);

        _createToken(_name, _owner, _price);
    }

    function createToken(string _name) public onlyCLevel {

        _createToken(_name, address(this), startingPrice);
    }

    function _createToken(string _name, address _owner, uint256 _price) private {
        Art memory _art = Art({
            name: _name
        });
        uint256 newTokenId = artworks.push(_art) - 1;
        tokenIdToPrice[newTokenId] = _price;

        TokenCreated(newTokenId, _name, _price, _owner);

        _transfer(address(0), _owner, newTokenId);
    }

    function getToken(uint256 _tokenId) public view returns (
        string _tokenName,
        uint256 _price,
        uint256 _nextPrice,
        address _owner
    ) {
        _tokenName = artworks[_tokenId].name;
        _price = tokenIdToPrice[_tokenId];
        _nextPrice = nextPriceOf(_tokenId);
        _owner = tokenIdToOwner[_tokenId];
    }

    function getAllTokens() public view returns (
        uint256[],
        uint256[],
        address[]
    ) {
        uint256 total = totalSupply();
        uint256[] memory prices = new uint256[](total);
        uint256[] memory nextPrices = new uint256[](total);
        address[] memory owners = new address[](total);

        for (uint256 i = 0; i < total; i++) {
            prices[i] = tokenIdToPrice[i];
            nextPrices[i] = nextPriceOf(i);
            owners[i] = tokenIdToOwner[i];
        }

        return (prices, nextPrices, owners);
    }

    function tokensOf(address _owner) public view returns(uint256[]) {
        uint256 tokenCount = balanceOf(_owner);
        if (tokenCount == 0) {
            return new uint256[](0);
        } else {
            uint256[] memory result = new uint256[](tokenCount);
            uint256 total = totalSupply();
            uint256 resultIndex = 0;

            for (uint256 i = 0; i < total; i++) {
                if (tokenIdToOwner[i] == _owner) {
                    result[resultIndex] = i;
                    resultIndex++;
                }
            }
            return result;
        }
    }

    function withdrawBalance(address _to, uint256 _amount) public onlyCEO {
        require(_amount <= this.balance);
 
        uint256 amountToWithdraw = _amount;
 
        if (amountToWithdraw == 0) {
            amountToWithdraw = this.balance;
        }
 
        if(_to == address(0)) {
            ceoAddress.transfer(amountToWithdraw);
        } else {
            _to.transfer(amountToWithdraw);
        }
    }

    function purchase(uint256 _tokenId) public payable whenNotPaused {
        address oldOwner = ownerOf(_tokenId);
        address newOwner = msg.sender;
        uint256 sellingPrice = priceOf(_tokenId);

        require(oldOwner != address(0));
        require(newOwner != address(0));
        require(oldOwner != newOwner);
        require(!_isContract(newOwner));
        require(sellingPrice > 0);
        require(msg.value >= sellingPrice);

        _transfer(oldOwner, newOwner, _tokenId);
        tokenIdToPrice[_tokenId] = nextPriceOf(_tokenId);
        TokenSold(
            _tokenId,
            artworks[_tokenId].name,
            sellingPrice,
            priceOf(_tokenId),
            oldOwner,
            newOwner
        );

        uint256 excess = msg.value.sub(sellingPrice);
        uint256 contractCut = sellingPrice.mul(10).div(100); // 10% cut

        if (oldOwner != address(this)) {
            oldOwner.transfer(sellingPrice.sub(contractCut));
        }

        if (excess > 0) {
            newOwner.transfer(excess);
        }
    }

    function priceOf(uint256 _tokenId) public view returns (uint256 _price) {
        return tokenIdToPrice[_tokenId];
    }

    uint256 private increaseLimit1 = 0.02 ether;
    uint256 private increaseLimit2 = 0.5 ether;
    uint256 private increaseLimit3 = 2.0 ether;
    uint256 private increaseLimit4 = 5.0 ether;

    function nextPriceOf(uint256 _tokenId) public view returns (uint256 _nextPrice) {
        uint256 _price = priceOf(_tokenId);
        if (_price < increaseLimit1) {
            return _price.mul(200).div(95);
        } else if (_price < increaseLimit2) {
            return _price.mul(135).div(96);
        } else if (_price < increaseLimit3) {
            return _price.mul(125).div(97);
        } else if (_price < increaseLimit4) {
            return _price.mul(117).div(97);
        } else {
            return _price.mul(115).div(98);
        }
    }

    function enableERC721() public onlyCEO {
        erc721Enabled = true;
    }

    function totalSupply() public view returns (uint256 _totalSupply) {
        _totalSupply = artworks.length;
    }

    function balanceOf(address _owner) public view returns (uint256 _balance) {
        _balance = ownershipTokenCount[_owner];
    }

    function ownerOf(uint256 _tokenId) public view returns (address _owner) {
        _owner = tokenIdToOwner[_tokenId];
    }

    function approve(address _to, uint256 _tokenId) public whenNotPaused onlyERC721 {
        require(_owns(msg.sender, _tokenId));
        tokenIdToApproved[_tokenId] = _to;
        Approval(msg.sender, _to, _tokenId);
    }

    function transferFrom(address _from, address _to, uint256 _tokenId) public whenNotPaused onlyERC721 {
        require(_to != address(0));
        require(_owns(_from, _tokenId));
        require(_approved(msg.sender, _tokenId));

        _transfer(_from, _to, _tokenId);
    }

    function transfer(address _to, uint256 _tokenId) public whenNotPaused onlyERC721 {
        require(_to != address(0));
        require(_owns(msg.sender, _tokenId));

        _transfer(msg.sender, _to, _tokenId);
    }

    function implementsERC721() public view whenNotPaused returns (bool) {
        return erc721Enabled;
    }

    function takeOwnership(uint256 _tokenId) public whenNotPaused onlyERC721 {
        require(_approved(msg.sender, _tokenId));
        _transfer(tokenIdToOwner[_tokenId], msg.sender, _tokenId);
    }

    function name() public view returns (string _name) {
        _name = "John Orion Young";
    }

    function symbol() public view returns (string _symbol) {
        _symbol = "JOY";
    }

    function _owns(address _claimant, uint256 _tokenId) private view returns (bool) {
        return tokenIdToOwner[_tokenId] == _claimant;
    }

    function _approved(address _to, uint256 _tokenId) private view returns (bool) {
        return tokenIdToApproved[_tokenId] == _to;
    }

    function _transfer(address _from, address _to, uint256 _tokenId) private {
        ownershipTokenCount[_to]++;
        tokenIdToOwner[_tokenId] = _to;

        if (_from != address(0)) {
            ownershipTokenCount[_from]--;
            delete tokenIdToApproved[_tokenId];
        }

        Transfer(_from, _to, _tokenId);
    }

    function _isContract(address addr) private view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}


library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAllTokens","outputs":[{"name":"","type":"uint256[]"},{"name":"","type":"uint256[]"},{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"createToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOf","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"nextPriceOf","outputs":[{"name":"_nextPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableERC721","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"}],"name":"createToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"_price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getToken","outputs":[{"name":"_tokenName","type":"string"},{"name":"_price","type":"uint256"},{"name":"_nextPrice","type":"uint256"},{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"owner","type":"address"}],"name":"TokenCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"sellingPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":true,"name":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600160146101000a81548160ff02191690831515021790555066038d7ea4c680006007556000600860006101000a81548160ff02191690831515021790555066470de4df8200006009556706f05b59d3b20000600a55671bc16d674ec80000600b55674563918244f40000600c55336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612481806101046000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610164578063095ea7b3146101f25780630a0f8168146102345780630cf20cc9146102895780631051db34146102cb57806318160ddd146102f857806323b872dd1461032157806327d7874c146103825780632a5c792a146103bb5780632ba73c15146104b55780633f4ba83a146104ee57806345576f94146105035780635a3f2672146105605780635ba9e48e146105ee5780635c975abb146106255780636352211e1461065257806370a08231146106b557806371dc761e1461070257806373b4df05146107175780638456cb591461079c57806395d89b41146107b1578063a9059cbb1461083f578063b047fb5014610881578063b2e6ceeb146108d6578063b9186d7d146108f9578063e4b50cb814610930578063efef39a114610a0d575b600080fd5b341561016f57600080fd5b610177610a25565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101b757808201518184015260208101905061019c565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101fd57600080fd5b610232600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a68565b005b341561023f57600080fd5b610247610b6f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561029457600080fd5b6102c9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b94565b005b34156102d657600080fd5b6102de610d1f565b604051808215151515815260200191505060405180910390f35b341561030357600080fd5b61030b610d52565b6040518082815260200191505060405180910390f35b341561032c57600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d5f565b005b341561038d57600080fd5b6103b9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e0c565b005b34156103c657600080fd5b6103ce610ee6565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156104195780820151818401526020810190506103fe565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561045b578082015181840152602081019050610440565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561049d578082015181840152602081019050610482565b50505050905001965050505050505060405180910390f35b34156104c057600080fd5b6104ec600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611087565b005b34156104f957600080fd5b610501611162565b005b341561050e57600080fd5b61055e600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506111f5565b005b341561056b57600080fd5b610597600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112b8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105da5780820151818401526020810190506105bf565b505050509050019250505060405180910390f35b34156105f957600080fd5b61060f60048080359060200190919050506113ee565b6040518082815260200191505060405180910390f35b341561063057600080fd5b61063861150c565b604051808215151515815260200191505060405180910390f35b341561065d57600080fd5b610673600480803590602001909190505061151f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c057600080fd5b6106ec600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061155c565b6040518082815260200191505060405180910390f35b341561070d57600080fd5b6107156115a5565b005b341561072257600080fd5b61079a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061161d565b005b34156107a757600080fd5b6107af61172d565b005b34156107bc57600080fd5b6107c46117c0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108045780820151818401526020810190506107e9565b50505050905090810190601f1680156108315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561084a57600080fd5b61087f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611803565b005b341561088c57600080fd5b61089461189a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108e157600080fd5b6108f760048080359060200190919050506118c0565b005b341561090457600080fd5b61091a600480803590602001909190505061194d565b6040518082815260200191505060405180910390f35b341561093b57600080fd5b610951600480803590602001909190505061196a565b60405180806020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825286818151815260200191508051906020019080838360005b838110156109cf5780820151818401526020810190506109b4565b50505050905090810190601f1680156109fc5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b610a236004808035906020019091905050611a8d565b005b610a2d6122a3565b6040805190810160405280601081526020017f4a6f686e204f72696f6e20596f756e6700000000000000000000000000000000815250905090565b600160149054906101000a900460ff16151515610a8457600080fd5b600860009054906101000a900460ff161515610a9f57600080fd5b610aa93382611e0f565b1515610ab457600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bf157600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610c1757600080fd5b8190506000811415610c3e573073ffffffffffffffffffffffffffffffffffffffff163190505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cd9576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610cd457600080fd5b610d1a565b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610d1957600080fd5b5b505050565b6000600160149054906101000a900460ff16151515610d3d57600080fd5b600860009054906101000a900460ff16905090565b6000600680549050905090565b600160149054906101000a900460ff16151515610d7b57600080fd5b600860009054906101000a900460ff161515610d9657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610dd257600080fd5b610ddc8382611e0f565b1515610de757600080fd5b610df13382611e7b565b1515610dfc57600080fd5b610e07838383611ee7565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ea357600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610eee6122b7565b610ef66122b7565b610efe6122cb565b6000610f086122b7565b610f106122b7565b610f186122cb565b6000610f22610d52565b945084604051805910610f325750595b9080825280602002602001820160405250935084604051805910610f535750595b9080825280602002602001820160405250925084604051805910610f745750595b90808252806020026020018201604052509150600090505b848110156110745760036000828152602001908152602001600020548482815181101515610fb657fe5b9060200190602002018181525050610fcd816113ee565b8382815181101515610fdb57fe5b90602001906020020181815250506002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110151561102b57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050610f8c565b8383839750975097505050505050909192565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110e257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111e57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111bd57600080fd5b600160149054906101000a900460ff1615156111d857600080fd5b6000600160146101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061129d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156112a857600080fd5b6112b581306007546120af565b50565b6112c06122b7565b60006112ca6122b7565b60008060006112d88761155c565b9450600085141561130a5760006040518059106112f25750595b908082528060200260200182016040525095506113e4565b846040518059106113185750595b90808252806020026020018201604052509350611333610d52565b925060009150600090505b828110156113e0578673ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156113d3578084838151811015156113bc57fe5b906020019060200201818152505081806001019250505b808060010191505061133e565b8395505b5050505050919050565b6000806113fa8361194d565b90506009548110156114345761142d605f61141f60c88461222190919063ffffffff16565b61225c90919063ffffffff16565b9150611506565b600a5481101561146c57611465606061145760878461222190919063ffffffff16565b61225c90919063ffffffff16565b9150611506565b600b548110156114a45761149d606161148f607d8461222190919063ffffffff16565b61225c90919063ffffffff16565b9150611506565b600c548110156114dc576114d560616114c760758461222190919063ffffffff16565b61225c90919063ffffffff16565b9150611506565b61150360626114f560738461222190919063ffffffff16565b61225c90919063ffffffff16565b91505b50919050565b600160149054906101000a900460ff1681565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160057600080fd5b6001600860006101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116c55750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156116d057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561170c57600080fd5b600754811015151561171d57600080fd5b6117288383836120af565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561178857600080fd5b600160149054906101000a900460ff161515156117a457600080fd5b60018060146101000a81548160ff021916908315150217905550565b6117c86122a3565b6040805190810160405280600381526020017f4a4f590000000000000000000000000000000000000000000000000000000000815250905090565b600160149054906101000a900460ff1615151561181f57600080fd5b600860009054906101000a900460ff16151561183a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561187657600080fd5b6118803382611e0f565b151561188b57600080fd5b611896338383611ee7565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160149054906101000a900460ff161515156118dc57600080fd5b600860009054906101000a900460ff1615156118f757600080fd5b6119013382611e7b565b151561190c57600080fd5b61194a6002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163383611ee7565b50565b600060036000838152602001908152602001600020549050919050565b6119726122a3565b600080600060068581548110151561198657fe5b90600052602060002090016000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a285780601f106119fd57610100808354040283529160200191611a28565b820191906000526020600020905b815481529060010190602001808311611a0b57829003601f168201915b5050505050935060036000868152602001908152602001600020549250611a4e856113ee565b91506002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509193509193565b6000806000806000600160149054906101000a900460ff16151515611ab157600080fd5b611aba8661151f565b9450339350611ac88661194d565b9250600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611b0657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515611b4257600080fd5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611b7d57600080fd5b611b8684612277565b151515611b9257600080fd5b600083111515611ba157600080fd5b823410151515611bb057600080fd5b611bbb858588611ee7565b611bc4866113ee565b60036000888152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877fef3f7c55f619f7c9178e080691f6d9bc90a74668d32c107dea7c87da023c9a0f60068a815481101515611c3a57fe5b906000526020600020900160000187611c528c61194d565b6040518080602001848152602001838152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611ce75780601f10611cbc57610100808354040283529160200191611ce7565b820191906000526020600020905b815481529060010190602001808311611cca57829003601f168201915b505094505050505060405180910390a4611d0a833461228a90919063ffffffff16565b9150611d336064611d25600a8661222190919063ffffffff16565b61225c90919063ffffffff16565b90503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611dbd578473ffffffffffffffffffffffffffffffffffffffff166108fc611d97838661228a90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515611dbc57600080fd5b5b6000821115611e07578373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611e0657600080fd5b5b505050505050565b60008273ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561204557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6120b76122df565b60006020604051908101604052808681525091506001600680548060010182816120e191906122f9565b916000526020600020900160008590919091506000820151816000019080519060200190612110929190612325565b5050500390508260036000838152602001908152602001600020819055507fd306967beeb39489cb6724748118d29c59bd0f0e17a5dd711b4f4d3dea3a1c478186858760405180858152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156121d15780820151818401526020810190506121b6565b50505050905090810190601f1680156121fe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a161221a60008583611ee7565b5050505050565b60008060008414156122365760009150612255565b828402905082848281151561224757fe5b0414151561225157fe5b8091505b5092915050565b600080828481151561226a57fe5b0490508091505092915050565b600080823b905060008111915050919050565b600082821115151561229857fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6020604051908101604052806122f36123a5565b81525090565b8154818355818115116123205781836000526020600020918201910161231f91906123b9565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061236657805160ff1916838001178555612394565b82800160010185558215612394579182015b82811115612393578251825591602001919060010190612378565b5b5090506123a191906123e8565b5090565b602060405190810160405280600081525090565b6123e591905b808211156123e157600080820160006123d8919061240d565b506001016123bf565b5090565b90565b61240a91905b808211156124065760008160009055506001016123ee565b5090565b90565b50805460018160011615610100020316600290046000825580601f106124335750612452565b601f01602090049060005260206000209081019061245191906123e8565b5b505600a165627a7a723058204850b130b0c9b696394f163b2b258082bf46c0d80841967bdba5480b36caa79b0029

   Swarm Source:
bzzr://4850b130b0c9b696394f163b2b258082bf46c0d80841967bdba5480b36caa79b

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.