Sponsored Link:   Qravity - the only blockchain entertainment production studio and distributor. Learn more.
Contract Overview
Balance: 2.543136432508841553 Ether
Ether Value: $1,329.09 (@ $522.62/ETH)
Transactions: 818 txns
Token Contract: John Orion Young (JOY)
 Latest 25 txns from a total Of 818 transactions
View All

TxHash Age From To Value [TxFee]
0x3cd63f27af1b724ec78a1f0d040d2eda6c83b706d976d46041b310c486c838779 hrs 27 mins ago0xb27f52369f9fba82b3961f42d35827cfe9f5ebfc  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.000082015
0x3c37e645986334e55482010a1a10b506cf931118bb7622768d649c710b64148e19 hrs 9 mins ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.115005750981685 Ether0.000210015
0x318a85a0da7f3dacd6dff1cf11976cc5b48d70743caa52b13fa6a47313bcaf8119 hrs 9 mins ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.00014001
0x2669da79462c4233d144f8f6d5194b03f6554455aaecccfe3f80d14b88345e2219 hrs 9 mins ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.019643802610477 Ether0.000116675
0xc33559187c63d6ed20fa7a0f302b839360d91f57cd24d145b33894831810eb4d19 hrs 9 mins ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.161726837317994 Ether0.000616992
0xa77d75e20d6e237d41f288e7f740fa5572ade402b9e7e49b592d1acccf91b4ca19 hrs 14 mins ago0x0a1f908ec1b03b82873660256fe0dcc8c5551f2b  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.115005750981685 Ether0.00033208
0xf98fe34d20183f41ab0059c1094a977d71f6e0c89334df3c360bcfc4da3f3dbb19 hrs 20 mins ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.004432132963988 Ether0.000072549
0x3c299808bd383504dee219b528c6636bf41d006aabae304ff229623b5cbfec4a19 hrs 21 mins ago0x05f2c11996d73288abe8a31d8b593a693ff2e5d8  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.001527568
0x56e3d32ab897a16e13e05f773170e22a21381d711651569adbf618725d601ba719 hrs 22 mins ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.000120915
0x4dec06dec65b524f90eb88bd285829051726cfd8097c81d5824ece5b66e34b3619 hrs 22 mins ago0x5c035bb4cb7dacbfee076a5e61aa39a10da2e956  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.00132832
0xcad8ebf109aafdabeb109125c62f35e6be9a60254837a1e6c2c2fe46d619de2519 hrs 25 mins ago0x05f2c11996d73288abe8a31d8b593a693ff2e5d8  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.000569912
0x020e3901c08d677089e77a579dc9f3628ed2fa613f2633cd9a0b01097075126419 hrs 27 mins ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.019643802610477 Ether0.00025595
0xf4db812c0fa3657634fc1176e905e8f5a9c0b321591ee9e8f1f382b864daf10019 hrs 27 mins ago0x05f2c11996d73288abe8a31d8b593a693ff2e5d8  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.009330806239976 Ether0.00056833
0x8f291709db146435f67f7efcb7787e2839ccfe0f7ce0e212740b289ed3a44cf319 hrs 29 mins ago0x27d5b14f2314fce17afc00b2bc12854aa6551408  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.004432132963988 Ether0.00025595
0xe0a081e7e6f53646ece904d8f9cf385f37b8ec77bb61ab046d2f3e7081da35f219 hrs 37 mins ago0x05f2c11996d73288abe8a31d8b593a693ff2e5d8  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.002105263157894 Ether0.00016238
0x395dc7ccdec32df1ff4d15d84d67321522a1cb8d391a06ce598f889804044d9819 hrs 39 mins ago0x05f2c11996d73288abe8a31d8b593a693ff2e5d8  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.001 Ether0.000048366
0x860f550f47ce2fd6d82001e65cadfa605afaa7e0d46b7a464e0582cd185631b819 hrs 39 mins ago0x27d5b14f2314fce17afc00b2bc12854aa6551408  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.001 Ether0.00017436
0xc8222cd917a7df051883dca26d73a49a517763f8621d525280697c99c8f707e819 hrs 46 mins ago0x9ae048c47aef066e03593d5edb230e3fa80c3f17  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540 Ether0.000693852
0x7b548824ff0be45475fb652f9fd4609dee209e6ca6f7c5b7eb19fbce83f629f61 day 18 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.115005750981685 Ether0.000132832
0x85b1259be5b3dcaf7443a74a04b2ade1eabd56ecef99e90dfd3cd0d1c523b2f61 day 18 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.000048366
0x8098751af1c4c9cd2dece867d57b02aba08fe2ea03d59d81c6fa31af3f6342881 day 18 hrs ago0x123085670e817602041e58febb243abe01a9a825  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.004432132963988 Ether0.000024183
0x2d34523208375db0216dd51e2c9624823bb5ae0f983d65c979fbfa455f09651f1 day 19 hrs ago0xb823dc506011eedab6f8feecc88806dbfc55ea93  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.081781867364753 Ether0.000265664
0x539669e414610d7502a5161d8574fa884237f4ec668c233001e63af166b6044a1 day 19 hrs ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.058155994570491 Ether0.00051416
0x6ae3bb59ce07a47e52958fa8f53fbdeaa20b1d8cc5f492b1539e74fc72b3a6921 day 19 hrs ago0xad565956ae5bd43117f6b0a650ec18c621ff8e0d  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.041355373916794 Ether0.000325664
0xa2ef34c5deca640c040b0f9d0a30138685e2474146f599c2554fb268ca8e5b951 day 19 hrs ago0xb9fedb203920981e26d84a4dea867b4927085074  IN   0x96313f2c374f901e3831ea6de67b1165c4f39a540.019643802610477 Ether0.0006619
[ 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
0x3cd63f27af1b724ec78a1f0d040d2eda6c83b706d976d46041b310c486c8387758200969 hrs 27 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.073603680628278544 Ether
0xc33559187c63d6ed20fa7a0f302b839360d91f57cd24d145b33894831810eb4d581775919 hrs 9 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x0a1f908ec1b03b82873660256fe0dcc8c5551f2b0.14555415358619536 Ether
0xa77d75e20d6e237d41f288e7f740fa5572ade402b9e7e49b592d1acccf91b4ca581773319 hrs 14 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x05f2c11996d73288abe8a31d8b593a693ff2e5d80.103505175883516701 Ether
0x3c299808bd383504dee219b528c6636bf41d006aabae304ff229623b5cbfec4a581771119 hrs 21 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x5c035bb4cb7dacbfee076a5e61aa39a10da2e9560.073603680628278544 Ether
0x4dec06dec65b524f90eb88bd285829051726cfd8097c81d5824ece5b66e34b36581770519 hrs 22 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x05f2c11996d73288abe8a31d8b593a693ff2e5d80.052340395113442521 Ether
0xcad8ebf109aafdabeb109125c62f35e6be9a60254837a1e6c2c2fe46d619de25581769619 hrs 25 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.037219836525114681 Ether
0x020e3901c08d677089e77a579dc9f3628ed2fa613f2633cd9a0b010970751264581769219 hrs 27 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x05f2c11996d73288abe8a31d8b593a693ff2e5d80.017679422349429474 Ether
0xf4db812c0fa3657634fc1176e905e8f5a9c0b321591ee9e8f1f382b864daf100581768719 hrs 27 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.008397725615979001 Ether
0x8f291709db146435f67f7efcb7787e2839ccfe0f7ce0e212740b289ed3a44cf3581768119 hrs 29 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x05f2c11996d73288abe8a31d8b593a693ff2e5d80.003988919667590026 Ether
0xe0a081e7e6f53646ece904d8f9cf385f37b8ec77bb61ab046d2f3e7081da35f2581765019 hrs 37 mins ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.001894736842105263 Ether
0x7b548824ff0be45475fb652f9fd4609dee209e6ca6f7c5b7eb19fbce83f629f658121101 day 18 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.103505175883516701 Ether
0x2d34523208375db0216dd51e2c9624823bb5ae0f983d65c979fbfa455f09651f58118711 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.073603680628278544 Ether
0x539669e414610d7502a5161d8574fa884237f4ec668c233001e63af166b6044a58118481 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xad565956ae5bd43117f6b0a650ec18c621ff8e0d0.052340395113442521 Ether
0x6ae3bb59ce07a47e52958fa8f53fbdeaa20b1d8cc5f492b1539e74fc72b3a69258118461 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.037219836525114681 Ether
0xa2ef34c5deca640c040b0f9d0a30138685e2474146f599c2554fb268ca8e5b9558117611 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x27d5b14f2314fce17afc00b2bc12854aa65514080.017679422349429474 Ether
0x9ed80aae018004b4cfc4c775f7fe1cce0cc16ac25ee08ccdb8e65b712acbac5458117521 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.008397725615979001 Ether
0x2b5c41bcdca6f4f3344346ee2465704f5472867038ca6edb503106679dbdeefd58117441 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xac2b4b94eca37cb7c9cf7062fefb2792c57927310.003988919667590026 Ether
0x7392aea1dc79f9431080b8d93bc546ad753ed3394798f5ee1eb9bce3fc81910f58117141 day 19 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x123085670e817602041e58febb243abe01a9a8250.001894736842105263 Ether
0xdf49bb09797d03de6a1c3718af8be2bbe0761269bb62cb69b0d70435f7ea5fec57938954 days 20 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xcecbe670c11d4d28678955f23e0d2d708d79c8930.204685528480587225 Ether
0xc59fdcadf11a9eff6c638807514ca7076fb0ee92023c25dbeac76b73bb24307957938594 days 20 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x9ae048c47aef066e03593d5edb230e3fa80c3f171 wei
0xdeff23a728ddbee7739997222c20f4860688319cbdeb8829c7bd3218a9773ed757911135 days 7 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xec8dbdd4daa3bb5d31a36af99f7cf986c6bad31e1.218118618234660456 Ether
0xf4994dc6870b1a56ce87d65df8df27ec40a16c4a5ae7881dae31619133ec11cc57905465 days 10 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x05f2c11996d73288abe8a31d8b593a693ff2e5d80.14555415358619536 Ether
0x890544e5e16d8138ef52e122178d042c14bf229599be6d05efb61c55f3ae5d0357905405 days 10 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb823dc506011eedab6f8feecc88806dbfc55ea930.204685528480587225 Ether
0xe1b4cad29537eecd12a3252b7d6790d32579eec16fab73c9acb882acc401ec7957905345 days 10 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540x530cf036ed4fa58f7301a9c788c9806624cefd190.103505175883516701 Ether
0xe46157bd8bae9d9c069b5f2bf0c8ad415a467425e0acc3ea7d2fd8adb1c5aafc57905275 days 10 hrs ago0x96313f2c374f901e3831ea6de67b1165c4f39a540xb9fedb203920981e26d84a4dea867b49270850740.14555415358619536 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.