Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 16 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x184d7e44440963d7e8ca8c04f0c6234ffb98db40at txn 0x8d4d090ddfb3b38e8826804521ce565d8cb10539b277302fe98e3e2d19af6226
 Latest 16 txns

TxHash Age From To Value [TxFee]
0xd9e26f8a606a21fba34a4eaeab13e388e9f95aa81a005f500a8b35a4d9169e7f173 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00017337
0xf3f82a63e6c105c3d6f2c2018cb60b2f3d2c5f35eb529b717b20a1bde7355977173 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00032616
0xf937f5db3869fd528711f23e205559dcf81d1a1759ade6045cc22949e4992f60173 days 8 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00047516
0x2d68855615981e5f49778ada97e389ff202d7d00f3d67f425491cbd9c13f8acb202 days 18 hrs ago0x959ea444e0fabb1eea4de9944ff8754f16aac731  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00066813
0xa6bc56a89b68379f32fb531c12bcf6d888cc6748dcfa69bb0916c4b526cef224202 days 22 hrs ago0x959ea444e0fabb1eea4de9944ff8754f16aac731  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.000978516
0x2680d8737fa75dd24eba7758311e02211ccd50699b84fbadeb3ababbac48b24e202 days 22 hrs ago0x959ea444e0fabb1eea4de9944ff8754f16aac731  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00066813
0xe9ec8f461677c855383849af46b1e833261350902fa2058b9cd8e3cf4c48611f202 days 23 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00060932
0xfb895018a19c17c39c6dbec77a173faee40b66b05d663de6105b5c0898369ffb203 days 6 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00089084
0xd4e257134233358ab9a78adf6447885e4ac32177104463254e7bf2db5da64c1c203 days 6 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.0009124
0x0c9e4d7d6d478f480cc9c3ddf2ea673fb190a307d41af49444a267753ce92e55203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00094638
0xaf23aabb9b2a1085d6b1b66424659717f8e3fd4e1e2e6c24a6a283280fc51b5f203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00094438
0x8b62f8690abfb7e8f27036e12bade293c1affc2020c23da4e5592ffcd55e9d8a203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.00075608
0x5c978336642b4e864e9f396b7b3110cafd0594248ff5ac9fb5e09f9fb2c557ba203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.001038818
0x44f021ca2a805dfdc48b403b7cd17609634103ea045bced9b3be8a0f74a02efb203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.000567828
0x92e29a9000083cd3df6c6b83e8e174434777e6f7ccbecf61c077fdeb3c43af46203 days 7 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN   0xaa57e849341a2899110ba676a49302c069251d190 Ether0.000661066
0x8d4d090ddfb3b38e8826804521ce565d8cb10539b277302fe98e3e2d19af6226203 days 8 hrs ago0x184d7e44440963d7e8ca8c04f0c6234ffb98db40  IN    Contract Creation0 Ether0.063310618
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: BitpaintingStorage
Compiler Text: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.15;

// File: contracts/libs/Ownable.sol

/**
* @title Ownable
* @dev Manages ownership of the contracts
*/
contract Ownable {

    address public owner;

    function Ownable() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function isOwner(address _address) public constant returns (bool) {
        return _address == owner;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0));
        owner = newOwner;
    }

}

// File: contracts/libs/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

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

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

    /**
    * @dev called by the owner to pause, triggers stopped state
    */
    function _pause() internal whenNotPaused {
        paused = true;
        Pause();
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function _unpause() internal whenPaused {
        paused = false;
        Unpause();
    }
}

// File: contracts/libs/BaseStorage.sol

contract BaseStorage is Pausable {

    event AccessAllowed(address _address);
    event AccessDenied(address _address);

    mapping (address => bool) public allowed;
    address public developer;


    modifier canWrite() {
        require(allowed[msg.sender] || isOwner(msg.sender)
            || (msg.sender == developer));
        _;
    }

    function setDeveloper(address _address) public onlyOwner {
        require(_address != address(0));
        developer = _address;
    }

    function allow(address _address) external canWrite {
        require(_address != address(0));
        allowed[_address] = true;
        AccessAllowed(_address);
    }

    function denied(address _address) external canWrite {
        delete allowed[_address];
        AccessDenied(_address);
    }

    function isAllowed(address _address) external constant returns (bool) {
        return allowed[_address];
    }
}

// File: contracts/libs/AccessControlStorage.sol

contract AccessControlStorage is BaseStorage {


    mapping (address => bool) public admins;
    mapping (uint => address) public contracts;

    function addAdmin(address _address) public onlyOwner {
        require(_address != address(0));
        admins[_address] = true;
    }

    function isAdmin(address _address) public constant returns (bool) {
        return admins[_address];
    }

    function removeAdmin(address _address) public onlyOwner {
        require(_address != address(0));
        delete admins[_address];
    }

    function setContract(uint _signature, address _address) external canWrite {
        contracts[_signature] = _address;
    }
}

// File: contracts/libs/AuctionStorage.sol

contract AuctionStorage is BaseStorage {

    // Represents an auction on an NFT
    struct Auction {
        // Current owner of NFT
        address seller;
        // Price (in wei) at beginning of auction
        uint128 startingPrice;
        // Price (in wei) at end of auction
        uint128 endingPrice;
        // Duration (in seconds) of auction
        uint64 duration;
        // Time when auction started
        // NOTE: 0 if this auction has been concluded
        uint startedAt;
        // true = started by team, false = started by ordinary user
        bool byTeam;
    }

    // Map from token ID to their corresponding auction.
    mapping (uint => Auction) public tokenIdToAuction;
    uint auctionsCounter = 0;
    uint8 public secondarySaleCut = 4;

    function addAuction(
        uint _tokenId,
        uint _startingPrice,
        uint _endingPrice,
        uint _duration,
        address _seller) public canWrite {
        require(!_isOnAuction(_tokenId));
        tokenIdToAuction[_tokenId] = Auction({
            seller: _seller,
            startingPrice: uint128(_startingPrice),
            endingPrice: uint128(_endingPrice),
            duration: uint64(_duration),
            startedAt: now,
            byTeam: false
        });
        auctionsCounter++;
    }

    function initAuction(
        uint _tokenId,
        uint _startingPrice,
        uint _endingPrice,
        uint _startedAt,
        uint _duration,
        address _seller,
        bool _byTeam) public canWrite {
        require(!_isOnAuction(_tokenId));
        tokenIdToAuction[_tokenId] = Auction({
            seller: _seller,
            startingPrice: uint128(_startingPrice),
            endingPrice: uint128(_endingPrice),
            duration: uint64(_duration),
            startedAt: _startedAt,
            byTeam: _byTeam
        });
        auctionsCounter++;
    }

    function addReleaseAuction(
        uint _tokenId,
        uint _startingPrice,
        uint _endingPrice,
        uint _startedAt,
        uint _duration) public canWrite {
        bool _byTeam = true;
        address _seller = owner;
        initAuction(
            _tokenId,
            _startingPrice,
            _endingPrice,
            _startedAt,
            _duration,
            _seller,
            _byTeam
        );
    }

    function _isOnAuction(uint _tokenId)
        internal constant returns (bool) {
        return (tokenIdToAuction[_tokenId].startedAt > 0);
    }

    function isOnAuction(uint _tokenId)
        external constant returns (bool) {
        return _isOnAuction(_tokenId);
    }

    function removeAuction(uint _tokenId) public canWrite {
        require(_isOnAuction(_tokenId));
        delete tokenIdToAuction[_tokenId];
        auctionsCounter--;
    }

    /// @dev Returns auction info for an NFT on auction.
    /// @param _tokenId - ID of NFT on auction.
    function getAuction(uint256 _tokenId)
        external
        constant
        returns
    (
        address seller,
        uint256 startingPrice,
        uint256 endingPrice,
        uint256 duration,
        uint256 startedAt
    ) {
        Auction memory auction = tokenIdToAuction[_tokenId];
        require(_isOnAuction(_tokenId));
        return (
            auction.seller,
            auction.startingPrice,
            auction.endingPrice,
            auction.duration,
            auction.startedAt
        );
    }

    function getAuctionSeller(uint256 _tokenId)
        public constant returns (address) {
        return tokenIdToAuction[_tokenId].seller;
    }

    function getAuctionStartedAt(uint256 _tokenId)
        public constant returns (uint) {
        return tokenIdToAuction[_tokenId].startedAt;
    }

    function getAuctionEnd(uint _tokenId)
        public constant returns (uint) {
        Auction memory auction = tokenIdToAuction[_tokenId];
        return auction.startedAt + auction.duration;
    }

    function getAuctionsCount() public constant returns (uint) {
        return auctionsCounter;
    }

    function canBeCanceled(uint _tokenId) external constant returns (bool) {
        return getAuctionEnd(_tokenId) <= now;
    }

    function isSecondary(uint _tokenId) public constant returns (bool _is) {
        return (tokenIdToAuction[_tokenId].byTeam == false);
    }

}

// File: contracts/libs/EditionStorage.sol

contract EditionStorage is BaseStorage {

    uint public offset = 1000000;
    uint public offsetIndex = 1;
    uint8[3] public defaultEditionLimits = [10, 89, 200];
    mapping (uint => mapping (uint8 => uint8)) public editionCounts;
    mapping (uint => mapping (uint8 => uint8)) public editionLimits;
    mapping (uint => uint) public lastEditionOf;

    function setOffset(uint _offset) external onlyOwner {
        offset = _offset;
    }

    function getOffsetIndex() public constant returns (uint) {
        return offset + offsetIndex;
    }

    function nextOffsetIndex() public canWrite {
        offsetIndex++;
    }

    function canCreateEdition(uint _tokenId, uint8 _generation)
        public constant returns (bool) {
        uint8 actual = editionCounts[_tokenId][_generation - 1];
        uint limit = editionLimits[_tokenId][_generation - 1];
        return (actual < limit);
    }

    function isValidGeneration(uint8 _generation)
        public constant returns (bool) {
        return (_generation >= 1 && _generation <= 3);
    }

    function increaseGenerationCount(uint _tokenId, uint8 _generation)
        public canWrite {
        require(canCreateEdition(_tokenId, _generation));
        require(isValidGeneration(_generation));
        uint8 _generationIndex = _generation - 1;
        editionCounts[_tokenId][_generationIndex]++;
    }

    function getEditionsCount(uint _tokenId)
        external constant returns (uint8[3])  {
        return [
            editionCounts[_tokenId][0],
            editionCounts[_tokenId][1],
            editionCounts[_tokenId][2]
        ];
    }

    function setLastEditionOf(uint _tokenId, uint _editionId)
        public canWrite {
        lastEditionOf[_tokenId] = _editionId;
    }

    function getEditionLimits(uint _tokenId)
        external constant returns (uint8[3])  {
        return [
            editionLimits[_tokenId][0],
            editionLimits[_tokenId][1],
            editionLimits[_tokenId][2]
        ];
    }


}

// File: contracts/libs/PaintingInformationStorage.sol

contract PaintingInformationStorage {

    struct PaintingInformation {
        string name;
        string artist;
    }

    mapping (uint => PaintingInformation) public information;
}

// File: contracts/libs/PaintingStorage.sol

contract PaintingStorage is BaseStorage {

    struct Painting {
        uint parentId;
        uint originalId;
        uint createdAt;
        uint completedAt;
        uint8 generation;
        uint8 speedIndex;
        uint artistId;
        uint releasedAt;
        bool isFinal;
    }

    uint32[10] public speeds = [
        uint32(8760 hours), // 365 days
        uint32(6480 hours), // 270 days
        uint32(4320 hours), // 180 days
        uint32(2880 hours), // 120 days
        uint32(1920 hours), // 80 days
        uint32(960 hours), // 40 days
        uint32(480 hours), // 20 days
        uint32(240 hours), // 10 days
        uint32(120 hours), // 5 days
        uint32(24 hours) // 1 day
    ];

    uint32[10] public speedsTest = [
        uint32(8760 seconds),
        uint32(6480 seconds),
        uint32(4320 seconds),
        uint32(2880 seconds),
        uint32(1920 seconds),
        uint32(960 seconds),
        uint32(480 seconds),
        uint32(240 seconds),
        uint32(120 seconds),
        uint32(24 seconds)
    ];

    uint32[10] public speedsDev = [
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds),
        uint32(0 seconds)
    ];

    mapping (uint => address) public paintingIndexToOwner;
    mapping (uint => Painting) public paintings;
    mapping (uint => address) public paintingIndexToApproved;
    uint[] public paintingIds;
    mapping (uint => uint) public paintingIdToIndex;
    uint public paintingsCount;
    uint public totalPaintingsCount;
    mapping (uint => bool) public isCanceled;
    mapping (uint => bool) public isReleased;

    // @dev A mapping from owner address to count of tokens that address owns.
    // Used internally inside balanceOf() to resolve ownership count.
    mapping (address => uint256) public ownershipTokenCount;

    modifier isNew(uint _tokenId) {
        require(paintings[_tokenId].createdAt == 0);
        _;
    }

    function exists(uint _tokenId) external constant returns (bool) {
        return paintings[_tokenId].createdAt != 0;
    }

    function increaseOwnershipTokenCount(address _address) public canWrite {
        ownershipTokenCount[_address]++;
    }

    function decreaseOwnershipTokenCount(address _address) public canWrite {
        ownershipTokenCount[_address]--;
    }

    function setOwnership(uint _tokenId, address _address) public canWrite {
        paintingIndexToOwner[_tokenId] = _address;
    }

    function getPainting(uint _tokenId) external constant returns (
        address owner,
        uint parent,
        uint createdAt,
        uint completedAt,
        uint8 generation,
        uint8 speed) {
        return (
            paintingIndexToOwner[_tokenId],
            paintings[_tokenId].parentId,
            paintings[_tokenId].createdAt,
            paintings[_tokenId].completedAt,
            paintings[_tokenId].generation,
            paintings[_tokenId].speedIndex + 1
        );
    }

    function approve(uint _tokenId, address _claimant) external canWrite {
        paintingIndexToApproved[_tokenId] = _claimant;
    }

    function isApprovedFor(uint _tokenId, address _claimant) external constant returns (bool) {
        return paintingIndexToApproved[_tokenId] == _claimant;
    }

    function decreaseSpeed(uint _tokenId) public canWrite() {
        uint8 _speed = paintings[_tokenId].speedIndex;

        if (_speed > 0) {
            paintings[_tokenId].speedIndex--;
        }
    }

    function getPaintingOwner(uint _tokenId)
        external constant returns (address) {
        return paintingIndexToOwner[_tokenId];
    }

    function getPaintingGeneration(uint _tokenId)
        public constant returns (uint8) {
        return paintings[_tokenId].generation;
    }

    function getPaintingArtistId(uint _tokenId)
        public constant returns (uint artistId) {
        return paintings[_tokenId].artistId;
    }

    function getPaintingSpeed(uint _tokenId)
        external constant returns (uint8) {
        return paintings[_tokenId].speedIndex + 1;
    }

    function getPaintingOriginal(uint _tokenId)
        external constant returns (uint) {
        return paintings[_tokenId].originalId;
    }

    function getOwnershipTokenCount(address _address)
        external constant returns (uint) {
        return ownershipTokenCount[_address];
    }

    function isReady(uint _tokenId)
        public constant returns (bool) {
        return paintings[_tokenId].completedAt <= now;
    }

    function getPaintingIdAtIndex(uint _index)
        public constant returns (uint) {
        return paintingIds[_index];
    }

    function canBeChanged(uint _tokenId) public constant returns (bool _can) {
        return paintings[_tokenId].isFinal == false;
    }

    function sealForChanges(uint _tokenId) public canWrite {
        if (paintings[_tokenId].isFinal == false) {
            paintings[_tokenId].isFinal = true;
        }
    }

    function canBeBidden(uint _tokenId) public constant returns (bool _can) {
        return (paintings[_tokenId].releasedAt <= now);
    }

}

// File: contracts/BitpaintingStorage.sol

contract BitpaintingStorage is PaintingStorage, PaintingInformationStorage, AccessControlStorage, AuctionStorage, EditionStorage {

    /// 0 = production mode
    /// 1 = testing mode
    /// 2 = development mode
    uint8 mode;

    function BitpaintingStorage(uint8 _mode) public {
        require(_mode >= 0 && _mode <=2);
        mode = _mode;
    }

    function hasEditionInProgress(uint _tokenId)
        external constant returns (bool) {
        uint edition = lastEditionOf[_tokenId];
        if (edition == 0) {
            return false;
        }

        return !isReady(edition);
    }

    function hasEmptyEditionSlots(uint _tokenId)
        external constant returns (bool) {
        uint originalId = paintings[_tokenId].originalId;
        if (originalId == 0) {
            originalId = _tokenId;
        }
        uint8 generation = paintings[_tokenId].generation;
        uint8 limit = editionLimits[originalId][generation];
        uint8 current = editionCounts[originalId][generation];
        return (current < limit);
    }

    function resetPainting(uint _tokenId) public canWrite {
        require(canBeChanged(_tokenId));

        isCanceled[_tokenId] = true;
        paintingsCount--;
        delete paintings[_tokenId];
    }

    function createPainting(
        address _owner,
        uint _tokenId,
        uint _parentId,
        uint8 _generation,
        uint8 _speed,
        uint _artistId,
        uint _releasedAt
    ) public isNew(_tokenId) canWrite {
        require(now <= _releasedAt);
        require(_speed >= 1 && _speed <= 10);
        _speed--;

        uint _createdAt = now;
        uint _completedAt;
        if (_generation == 0) {
            _completedAt = now;
        } else {
            uint _parentSpeed = paintings[_parentId].speedIndex;
            if (mode == 2) {
                _completedAt = now + speedsDev[_parentSpeed];
            } else {
                if (mode == 1) {
                    _completedAt = now + speedsTest[_parentSpeed];
                } else {
                    _completedAt = now + speeds[_parentSpeed];
                }
            }
        }

        uint _originalId;
        if (_generation == 0) {
            _originalId = _tokenId;
        } else {
            if (_generation == 1) {
                _originalId = _parentId;
            } else {
                _originalId = paintings[_parentId].originalId;
            }
        }

        paintings[_tokenId] = Painting({
            parentId: _parentId,
            originalId: _originalId,
            createdAt: _createdAt,
            generation: _generation,
            speedIndex: _speed,
            completedAt: _completedAt,
            artistId: _artistId,
            releasedAt: _releasedAt,
            isFinal: (_generation != 0) // if generation == 1 or 2 or 3, so it cannot be changed
        });

        if (!isReleased[_tokenId]) {
            isReleased[_tokenId] = true;
            paintingIds.push(_tokenId);
            paintingIdToIndex[_tokenId] = totalPaintingsCount;
            increaseOwnershipTokenCount(_owner);
            totalPaintingsCount++;
        }
        isCanceled[_tokenId] = false;
        setOwnership(_tokenId, _owner);
        paintingsCount++;
    }

    function setEditionLimits(
        uint _tokenId,
        uint8 _gen1,
        uint8 _gen2,
        uint8 _gen3)
        public canWrite {
        require(canBeChanged(_tokenId));

        editionLimits[_tokenId][0] = _gen1;
        editionLimits[_tokenId][1] = _gen2;
        editionLimits[_tokenId][2] = _gen3;
    }

    function resetEditionLimits(uint _tokenId) public canWrite {
        setEditionLimits(_tokenId, 0, 0, 0);
    }

    function createEditionMeta(uint _tokenId) public canWrite {
        uint _originalId = paintings[_tokenId].originalId;
        nextOffsetIndex();
        uint editionId = getOffsetIndex();
        setLastEditionOf(_tokenId, editionId);

        uint8 _generation = getPaintingGeneration(_tokenId) + 1;
        increaseGenerationCount(_originalId, _generation);
    }

    function purgeInformation(uint _tokenId) public canWrite {
        require(canBeChanged(_tokenId));

        delete information[_tokenId];
    }

    function setPaintingName(uint _tokenId, string _name) public canWrite {
        information[_tokenId].name = _name;
    }

    function setPaintingArtist(uint _tokenId, string _name) public canWrite {
        information[_tokenId].artist = _name;
    }

    function getTokensOnAuction() public constant returns (uint[] tokens) {
        tokens = new uint[](auctionsCounter);
        uint pointer = 0;

        for(uint index = 0; index < totalPaintingsCount; index++) {
            uint tokenId = getPaintingIdAtIndex(index);

            if (isCanceled[tokenId]) {
                continue;
            }

            if (!_isOnAuction(tokenId)) {
                continue;
            }

            tokens[pointer] = tokenId;
            pointer++;
        }
    }

    function getPaintingName(uint _tokenId) public constant returns (string) {
        uint id = paintings[_tokenId].originalId;
        return information[id].name;
    }

    function getPaintingArtist(uint _tokenId)
        public constant returns (string) {
        uint id = paintings[_tokenId].originalId;
        return information[id].artist;
    }

    function signature() external constant returns (bytes4) {
        return bytes4(keccak256("storage"));
    }


}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_offset","type":"uint256"}],"name":"setOffset","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingGeneration","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"name":"editionCounts","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"hasEmptyEditionSlots","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPainting","outputs":[{"name":"owner","type":"address"},{"name":"parent","type":"uint256"},{"name":"createdAt","type":"uint256"},{"name":"completedAt","type":"uint256"},{"name":"generation","type":"uint8"},{"name":"speed","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeAdmin","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paintingsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"decreaseOwnershipTokenCount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingArtist","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"sealForChanges","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"name":"editionLimits","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"defaultEditionLimits","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"removeAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalPaintingsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingName","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionStartedAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isOnAuction","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getTokensOnAuction","outputs":[{"name":"tokens","type":"uint256[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_editionId","type":"uint256"}],"name":"setLastEditionOf","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"isCanceled","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speedsTest","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admins","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"contracts","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speeds","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"resetEditionLimits","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isReady","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"signature","outputs":[{"name":"","type":"bytes4"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_generation","type":"uint8"}],"name":"canCreateEdition","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"secondarySaleCut","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getEditionsCount","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"hasEditionInProgress","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_generation","type":"uint8"}],"name":"increaseGenerationCount","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_address","type":"address"}],"name":"setOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"increaseOwnershipTokenCount","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"createEditionMeta","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"isReleased","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_gen1","type":"uint8"},{"name":"_gen2","type":"uint8"},{"name":"_gen3","type":"uint8"}],"name":"setEditionLimits","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuction","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint256"},{"name":"endingPrice","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"startedAt","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"nextOffsetIndex","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeChanged","outputs":[{"name":"_can","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"resetPainting","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_parentId","type":"uint256"},{"name":"_generation","type":"uint8"},{"name":"_speed","type":"uint8"},{"name":"_artistId","type":"uint256"},{"name":"_releasedAt","type":"uint256"}],"name":"createPainting","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_signature","type":"uint256"},{"name":"_address","type":"address"}],"name":"setContract","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"information","outputs":[{"name":"name","type":"string"},{"name":"artist","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"isSecondary","outputs":[{"name":"_is","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_startedAt","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"addReleaseAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"decreaseSpeed","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingSpeed","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIdToIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getPaintingIdAtIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingOriginal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purgeInformation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_startedAt","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_seller","type":"address"},{"name":"_byTeam","type":"bool"}],"name":"initAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getOwnershipTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_claimant","type":"address"}],"name":"isApprovedFor","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintingIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionSeller","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"paintings","outputs":[{"name":"parentId","type":"uint256"},{"name":"originalId","type":"uint256"},{"name":"createdAt","type":"uint256"},{"name":"completedAt","type":"uint256"},{"name":"generation","type":"uint8"},{"name":"speedIndex","type":"uint8"},{"name":"artistId","type":"uint256"},{"name":"releasedAt","type":"uint256"},{"name":"isFinal","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"},{"name":"_seller","type":"address"}],"name":"addAuction","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"developer","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPaintingArtistId","outputs":[{"name":"artistId","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownershipTokenCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"offset","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setPaintingArtist","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToAuction","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint128"},{"name":"endingPrice","type":"uint128"},{"name":"duration","type":"uint64"},{"name":"startedAt","type":"uint256"},{"name":"byTeam","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"speedsDev","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getAuctionsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"canBeBidden","outputs":[{"name":"_can","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getAuctionEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_generation","type":"uint8"}],"name":"isValidGeneration","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"lastEditionOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getEditionLimits","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_name","type":"string"}],"name":"setPaintingName","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getOffsetIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"denied","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_claimant","type":"address"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setDeveloper","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"allow","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"offsetIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_mode","type":"uint8"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"}],"name":"AccessAllowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"}],"name":"AccessDenied","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060409081526000805460a060020a60ff0219169055610140905190810160409081526301e133808252630163f500602083015262ed4e0090820152629e340060608201526269780060808201526234bc0060a0820152621a5e0060c0820152620d2f0060e082015262069780610100820152620151806101208201526200008d90600390600a62000224565b506101406040519081016040908152612238825261195060208301526110e090820152610b40606082015261078060808201526103c060a08201526101e060c082015260f060e082015260786101008201526018610120820152620000f790600590600a62000224565b506101406040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201526200015990600790600a62000224565b5060006017556018805460ff19166004179055620f42406019556001601a5560606040519081016040908152600a82526059602083015260c890820152620001a690601b906003620002c7565b503415620001b357600080fd5b60405160208062003b9e833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60008160ff161015801562000201575060028160ff1611155b15156200020d57600080fd5b601f805460ff191660ff83161790555b50620003b4565b600283019183908215620002b55791602002820160005b838211156200028157835183826101000a81548163ffffffff021916908363ffffffff16021790555092602001926004016020816003010492830192600103026200023b565b8015620002b35782816101000a81549063ffffffff021916905560040160208160030104928301926001030262000281565b505b50620002c392915062000361565b5090565b6001830191839082156200034f5791602002820160005b838211156200031e57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620002de565b80156200034d5782816101000a81549060ff02191690556001016020816000010492830192600103026200031e565b505b50620002c39291506200038c565b5090565b6200038991905b80821115620002c357805463ffffffff1916815560010162000368565b5090565b90565b6200038991905b80821115620002c357805460ff1916815560010162000393565b5090565b90565b6137da80620003c46000396000f300606060405236156104275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e343db811461042c5780630af9d89c146104445780630cdc92ea146104705780630d66343c1461049a5780630ec45dc0146104cc578063108a101b146104fe578063145f8ba2146105285780631785f53c14610587578063197b9454146105a85780631be6ce57146105cd5780631dea157f146105ee5780631e801c8c1461067c57806324d7806c14610694578063275510d0146106c757806328dca7a3146106f95780632dd7030b146107255780632efd08df1461073d5780632f54bf6e1461076257806332cb93d91461079557806337016a5f1461082357806337e246ad1461084b5780633804ab8d146108755780633953f4a1146108dc57806339e3af9b146108f75780633e6d4fb914610921578063429b62e514610950578063474da79a1461098357806348a357bc146109b55780634a61f347146109e45780634f558e79146109fc57806350df8f7114610a2657806351ff484714610a50578063579599bd14610a98578063590731b714610ac85780635c975abb14610af15780635de8153414610b185780635f4eab6514610b6757806364d0bbc414610b91578063687c4fa714610baf5780636bfaa90314610bd35780637048027514610bf457806370d1383d14610c1557806373962b2614610c2d578063783370b514610c5757806378bd793514610c815780637a9e19de14610cd25780637d6979e714610ce75780638635b52714610d115780638754b1d114610d2957806389e865a914610d625780638da5cb5b14610d865780638f86f25514610db55780638ff6e97114610ece578063902a83cd14610ef85780639434e2fe14610f1c5780639e5cc10b14610f445780639e6afbda14610f765780639ed5736014610f8e578063a072fd2a14610fba578063a3e7061d14610fe2578063a42455271461100a578063a61bd76d14611032578063ab6680f31461104a578063b4f6eae41461107f578063b5b12e75146110b0578063babcc539146110e6578063c25de16b14611119578063c50c44cf1461114b578063c7ca6daa1461117d578063c9a6b2a8146111e4578063ca4b208b14611211578063cd0fdc2414611240578063cec21acb14611268578063d555654414611299578063d59f4e68146112be578063d63a8e1114611316578063e3b1475714611349578063e4267295146113b9578063e45c1879146113e8578063eabc8b8e1461140d578063eda8927914611437578063f195995c1461145f578063f2fde38b1461148c578063f50b769e146114ad578063f79098f4146114d5578063fabb795214611524578063fafb76dd1461157c578063fc9d96ba146115a1578063febe4909146115c2578063ff70fa49146115e6578063ff9913e814611607578063ffe90ba614611628575b600080fd5b341561043757600080fd5b61044260043561164d565b005b341561044f57600080fd5b61045a600435611672565b60405160ff909116815260200160405180910390f35b341561047b57600080fd5b61048660043561168d565b604051901515815260200160405180910390f35b34156104a557600080fd5b6104b06004356116a3565b604051600160a060020a03909116815260200160405180910390f35b34156104d757600080fd5b61045a60043560ff602435166116c1565b60405160ff909116815260200160405180910390f35b341561050957600080fd5b6104866004356116e1565b604051901515815260200160405180910390f35b341561053357600080fd5b61053e60043561175d565b604051600160a060020a0390961686526020860194909452604080860193909352606085019190915260ff90811660808501529190911660a083015260c0909101905180910390f35b341561059257600080fd5b610442600160a060020a03600435166117b2565b005b34156105b357600080fd5b6105bb611807565b60405190815260200160405180910390f35b34156105d857600080fd5b610442600160a060020a036004351661180d565b005b34156105f957600080fd5b610604600435611882565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068757600080fd5b61044260043561195d565b005b341561069f57600080fd5b610486600160a060020a03600435166119ea565b604051901515815260200160405180910390f35b34156106d257600080fd5b61045a60043560ff60243516611a0c565b60405160ff909116815260200160405180910390f35b341561070457600080fd5b61045a600435611a2c565b60405160ff909116815260200160405180910390f35b341561073057600080fd5b610442600435611a54565b005b341561074857600080fd5b6105bb611b10565b60405190815260200160405180910390f35b341561076d57600080fd5b610486600160a060020a0360043516611b16565b604051901515815260200160405180910390f35b34156107a057600080fd5b610604600435611b2d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156106415780820151818401525b602001610628565b50505050905090810190601f16801561066e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561082e57600080fd5b6105bb600435611c08565b60405190815260200160405180910390f35b341561085657600080fd5b610486600435611c20565b604051901515815260200160405180910390f35b341561088057600080fd5b610888611c33565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156108c85780820151818401525b6020016108af565b505050509050019250505060405180910390f35b34156108e757600080fd5b610442600435602435611ce3565b005b341561090257600080fd5b610486600435611d4a565b604051901515815260200160405180910390f35b341561092c57600080fd5b610937600435611d5f565b60405163ffffffff909116815260200160405180910390f35b341561095b57600080fd5b610486600160a060020a0360043516611d8d565b604051901515815260200160405180910390f35b341561098e57600080fd5b6104b0600435611da2565b604051600160a060020a03909116815260200160405180910390f35b34156109c057600080fd5b610937600435611dbd565b60405163ffffffff909116815260200160405180910390f35b34156109ef57600080fd5b610442600435611deb565b005b3415610a0757600080fd5b610486600435611e4e565b604051901515815260200160405180910390f35b3415610a3157600080fd5b610486600435611e68565b604051901515815260200160405180910390f35b3415610a5b57600080fd5b610a63611e84565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b3415610aa357600080fd5b61048660043560ff60243516611ebd565b604051901515815260200160405180910390f35b3415610ad357600080fd5b61045a611f06565b60405160ff909116815260200160405180910390f35b3415610afc57600080fd5b610486611f0f565b604051901515815260200160405180910390f35b3415610b2357600080fd5b610b2e600435611f30565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b3415610b7257600080fd5b610486600435611f8e565b604051901515815260200160405180910390f35b3415610b9c57600080fd5b61044260043560ff60243516611fc0565b005b3415610bba57600080fd5b610442600435600160a060020a036024351661207b565b005b3415610bde57600080fd5b610442600160a060020a03600435166120f8565b005b3415610bff57600080fd5b610442600160a060020a036004351661216c565b005b3415610c2057600080fd5b6104426004356121c4565b005b3415610c3857600080fd5b610486600435612268565b604051901515815260200160405180910390f35b3415610c6257600080fd5b61044260043560ff6024358116906044358116906064351661227d565b005b3415610c8c57600080fd5b610c9760043561233d565b604051600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a0909101905180910390f35b3415610cdd57600080fd5b610442612420565b005b3415610cf257600080fd5b61048660043561247d565b604051901515815260200160405180910390f35b3415610d1c57600080fd5b610442600435612499565b005b3415610d3457600080fd5b610442600160a060020a036004351660243560443560ff6064358116906084351660a43560c435612573565b005b3415610d6d57600080fd5b610442600435600160a060020a03602435166128f3565b005b3415610d9157600080fd5b6104b0612970565b604051600160a060020a03909116815260200160405180910390f35b3415610dc057600080fd5b610dcb60043561297f565b604051604080825283546002600019610100600184161502019091160490820181905281906020820190606083019086908015610e495780601f10610e1e57610100808354040283529160200191610e49565b820191906000526020600020905b815481529060010190602001808311610e2c57829003601f168201915b5050838103825284546002600019610100600184161502019091160480825260209091019085908015610ebd5780601f10610e9257610100808354040283529160200191610ebd565b820191906000526020600020905b815481529060010190602001808311610ea057829003601f168201915b505094505050505060405180910390f35b3415610ed957600080fd5b610486600435612994565b604051901515815260200160405180910390f35b3415610f0357600080fd5b6104426004356024356044356064356084356129b0565b005b3415610f2757600080fd5b6105bb600435612a2d565b60405190815260200160405180910390f35b3415610f4f57600080fd5b6104b0600435612a50565b604051600160a060020a03909116815260200160405180910390f35b3415610f8157600080fd5b610442600435612a6b565b005b3415610f9957600080fd5b61045a600435612b15565b60405160ff909116815260200160405180910390f35b3415610fc557600080fd5b6105bb600435612b39565b60405190815260200160405180910390f35b3415610fed57600080fd5b6105bb600435612b4b565b60405190815260200160405180910390f35b341561101557600080fd5b6105bb600435612b74565b60405190815260200160405180910390f35b341561103d57600080fd5b610442600435612b8c565b005b341561105557600080fd5b610442600435602435604435606435608435600160a060020a0360a4351660c4351515612c1e565b005b341561108a57600080fd5b6105bb600160a060020a0360043516612db2565b60405190815260200160405180910390f35b34156110bb57600080fd5b610486600435600160a060020a0360243516612dd1565b604051901515815260200160405180910390f35b34156110f157600080fd5b610486600160a060020a0360043516612df5565b604051901515815260200160405180910390f35b341561112457600080fd5b6104b0600435612e17565b604051600160a060020a03909116815260200160405180910390f35b341561115657600080fd5b6104b0600435612e32565b604051600160a060020a03909116815260200160405180910390f35b341561118857600080fd5b611193600435612e50565b6040519889526020890197909752604080890196909652606088019490945260ff9283166080880152911660a086015260c085015260e0840152901515610100830152610120909101905180910390f35b34156111ef57600080fd5b610442600435602435604435606435600160a060020a0360843516612ea0565b005b341561121c57600080fd5b6104b0613030565b604051600160a060020a03909116815260200160405180910390f35b341561124b57600080fd5b6105bb60043561303f565b60405190815260200160405180910390f35b341561127357600080fd5b6105bb600160a060020a0360043516613057565b60405190815260200160405180910390f35b34156112a457600080fd5b6105bb613069565b60405190815260200160405180910390f35b34156112c957600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061306f95505050505050565b005b341561132157600080fd5b610486600160a060020a03600435166130e8565b604051901515815260200160405180910390f35b341561135457600080fd5b61135f6004356130fd565b604051600160a060020a0390961686526001608060020a0394851660208701529290931660408086019190915267ffffffffffffffff90911660608501526080840192909252151560a083015260c0909101905180910390f35b34156113c457600080fd5b610937600435613157565b60405163ffffffff909116815260200160405180910390f35b34156113f357600080fd5b6105bb613185565b60405190815260200160405180910390f35b341561141857600080fd5b61048660043561318c565b604051901515815260200160405180910390f35b341561144257600080fd5b6105bb6004356131a8565b60405190815260200160405180910390f35b341561146a57600080fd5b61048660ff6004351661324a565b604051901515815260200160405180910390f35b341561149757600080fd5b610442600160a060020a036004351661326c565b005b34156114b857600080fd5b6105bb6004356132bc565b60405190815260200160405180910390f35b34156114e057600080fd5b610b2e6004356132ce565b6040518082606080838360005b83811015610b545780820151818401525b602001610b3b565b5050505090500191505060405180910390f35b341561152f57600080fd5b610442600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061332c95505050505050565b005b341561158757600080fd5b6105bb6133a2565b60405190815260200160405180910390f35b34156115ac57600080fd5b610442600160a060020a03600435166133ad565b005b34156115cd57600080fd5b610442600435600160a060020a0360243516613461565b005b34156115f157600080fd5b610442600160a060020a03600435166134de565b005b341561161257600080fd5b610442600160a060020a036004351661352e565b005b341561163357600080fd5b6105bb6135fc565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461166857600080fd5b60198190555b5b50565b6000818152600a602052604090206004015460ff165b919050565b600042611699836131a8565b111590505b919050565b600081815260096020526040902054600160a060020a03165b919050565b601c60209081526000928352604080842090915290825290205460ff1681565b6000818152600a6020526040812060010154818080831515611701578593505b5050506000838152600a6020908152604080832060040154848452601d835281842060ff91821680865290845282852054868652601c855283862082875290945291909320549183169190921681811094505b50505050919050565b600081815260096020908152604080832054600a909252909120805460028201546003830154600490930154600160a060020a03909416939192909160ff808216916101009004166001015b91939550919395565b60005433600160a060020a039081169116146117cd57600080fd5b600160a060020a03811615156117e257600080fd5b600160a060020a0381166000908152601460205260409020805460ff191690555b5b50565b600e5481565b600160a060020a03331660009081526001602052604090205460ff1680611838575061183833611b16565b5b80611852575060025433600160a060020a039081169116145b151561185d57600080fd5b600160a060020a038116600090815260126020526040902080546000190190555b5b50565b61188a61361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b600160a060020a03331660009081526001602052604090205460ff1680611988575061198833611b16565b5b806119a2575060025433600160a060020a039081169116145b15156119ad57600080fd5b6000818152600a602052604090206007015460ff16151561166e576000818152600a60205260409020600701805460ff191660011790555b5b5b50565b600160a060020a03811660009081526014602052604090205460ff165b919050565b601d60209081526000928352604080842090915290825290205460ff1681565b601b8160038110611a3957fe5b602091828204019190065b915054906101000a900460ff1681565b600160a060020a03331660009081526001602052604090205460ff1680611a7f5750611a7f33611b16565b5b80611a99575060025433600160a060020a039081169116145b1515611aa457600080fd5b611aad81613602565b1515611ab857600080fd5b60008181526016602052604081208054600160a060020a03191681556001810182905560028101805467ffffffffffffffff191690556003810191909155600401805460ff19169055601780546000190190555b5b50565b600f5481565b600054600160a060020a038281169116145b919050565b611b3561361b565b6000600a6000848152602001908152602001600020600101549050601360008281526020019081526020016000206000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561194f5780601f106119245761010080835404028352916020019161194f565b820191906000526020600020905b81548152906001019060200180831161193257829003601f168201915b505050505091505b50919050565b6000818152601660205260409020600301545b919050565b6000611c2b82613602565b90505b919050565b611c3b61361b565b6000806000601754604051805910611c505750595b908082528060200260200182016040525b50935060009250600091505b600f54821015611cdc57611c8082612b4b565b60008181526010602052604090205490915060ff1615611c9f57611cd1565b611ca881613602565b1515611cb357611cd1565b80848481518110611cc057fe5b602090810290910101526001909201915b600190910190611c6d565b5b50505090565b600160a060020a03331660009081526001602052604090205460ff1680611d0e5750611d0e33611b16565b5b80611d28575060025433600160a060020a039081169116145b1515611d3357600080fd5b6000828152601e602052604090208190555b5b5050565b60106020526000908152604090205460ff1681565b600581600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b60146020526000908152604090205460ff1681565b601560205260009081526040902054600160a060020a031681565b600381600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b600160a060020a03331660009081526001602052604090205460ff1680611e165750611e1633611b16565b5b80611e30575060025433600160a060020a039081169116145b1515611e3b57600080fd5b61166e81600080600061227d565b5b5b50565b6000818152600a602052604090206002015415155b919050565b6000818152600a6020526040902060030154429011155b919050565b60006040517f73746f72616765000000000000000000000000000000000000000000000000008152600701604051809103902090505b90565b6000828152601c6020908152604080832060ff6000198601811680865291845282852054878652601d85528386209286529190935292205481169116818110915b505092915050565b60185460ff1681565b60005474010000000000000000000000000000000000000000900460ff1681565b611f3861363f565b606060405190810160409081526000848152601c60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b6000818152601e6020526040812054801515611fad5760009150611957565b611fb681611e68565b1591505b50919050565b600160a060020a03331660009081526001602052604081205460ff1680611feb5750611feb33611b16565b5b80612005575060025433600160a060020a039081169116145b151561201057600080fd5b61201a8383611ebd565b151561202557600080fd5b61202e8261324a565b151561203957600080fd5b506000828152601c6020908152604080832060ff60001986018181168652919093529220805480831660010190921660ff199092169190911790555b5b505050565b600160a060020a03331660009081526001602052604090205460ff16806120a657506120a633611b16565b5b806120c0575060025433600160a060020a039081169116145b15156120cb57600080fd5b60008281526009602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600160a060020a03331660009081526001602052604090205460ff1680612123575061212333611b16565b5b8061213d575060025433600160a060020a039081169116145b151561214857600080fd5b600160a060020a0381166000908152601260205260409020805460010190555b5b50565b60005433600160a060020a0390811691161461218757600080fd5b600160a060020a038116151561219c57600080fd5b600160a060020a0381166000908152601460205260409020805460ff191660011790555b5b50565b600160a060020a0333166000908152600160205260408120548190819060ff16806121f357506121f333611b16565b5b8061220d575060025433600160a060020a039081169116145b151561221857600080fd5b6000848152600a60205260409020600101549250612234612420565b61223c6133a2565b91506122488483611ce3565b61225184611672565b60010190506122608382611fc0565b5b5b50505050565b60116020526000908152604090205460ff1681565b600160a060020a03331660009081526001602052604090205460ff16806122a857506122a833611b16565b5b806122c2575060025433600160a060020a039081169116145b15156122cd57600080fd5b6122d68461247d565b15156122e157600080fd5b6000848152601d60209081526040808320838052909152808220805460ff87811660ff199283161790925560018452828420805487841690831617905560028452919092208054928416929091169190911790555b5b50505050565b600080600080600061234d613667565b600087815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff1660608201526003820154608082015260049091015460ff16151560a082015290506123d287613602565b15156123dd57600080fd5b805181602001518260400151836060015184608001519399506001608060020a0392831698509116955067ffffffffffffffff16935091505b5091939590929450565b600160a060020a03331660009081526001602052604090205460ff168061244b575061244b33611b16565b5b80612465575060025433600160a060020a039081169116145b151561247057600080fd5b601a805460010190555b5b565b6000818152600a602052604090206007015460ff16155b919050565b600160a060020a03331660009081526001602052604090205460ff16806124c457506124c433611b16565b5b806124de575060025433600160a060020a039081169116145b15156124e957600080fd5b6124f28161247d565b15156124fd57600080fd5b60008181526010602090815260408083208054600160ff199182168117909255600e8054600019019055600a909352908320838155908101839055600281018390556003810183905560048101805461ffff191690556005810183905560068101929092556007909101805490911690555b5b50565b6000868152600a60205260408120600201548190819081908a901561259757600080fd5b600160a060020a03331660009081526001602052604090205460ff16806125c257506125c233611b16565b5b806125dc575060025433600160a060020a039081169116145b15156125e757600080fd5b42869011156125f557600080fd5b60018860ff161015801561260d5750600a8860ff1611155b151561261857600080fd5b6000199097019642945060ff8916151561263457429350612714565b60008a8152600a6020526040902060040154601f5460ff6101009092048216945060029116141561269857600783600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b601f5460ff16600114156126df57600583600a811061266c57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff1642019350612714565b600383600a81106126ec57fe5b600891828204019190066004025b9054906101000a900463ffffffff1663ffffffff16420193505b5b5b60ff89161515612728578a9150612751565b8860ff166001141561273c57899150612751565b60008a8152600a602052604090206001015491505b5b61012060405190810160409081528b825260208083018590528183018890526060830187905260ff808d1660808501819052908c1660a085015260c084018b905260e084018a9052151561010084015260008e8152600a9091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805460ff191660ff9290921691909117905560a08201518160040160016101000a81548160ff021916908360ff16021790555060c0820151816005015560e08201518160060155610100820151600791909101805460ff19169115159190911790555060008b81526011602052604090205460ff1615156128b95760008b8152601160205260409020805460ff19166001908117909155600c805490918101612881838261369c565b916000526020600020900160005b508c905550600f5460008c8152600d60205260409020556128af8c6120f8565b600f805460010190555b60008b8152601060205260409020805460ff191690556128d98b8d61207b565b600e805460010190555b5b5b505050505050505050505050565b600160a060020a03331660009081526001602052604090205460ff168061291e575061291e33611b16565b5b80612938575060025433600160a060020a039081169116145b151561294357600080fd5b60008281526015602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b600054600160a060020a031681565b60136020526000908152604090206001810182565b60008181526016602052604090206004015460ff16155b919050565b600160a060020a033316600090815260016020526040812054819060ff16806129dd57506129dd33611b16565b5b806129f7575060025433600160a060020a039081169116145b1515612a0257600080fd5b5050600054600190600160a060020a0316612a2287878787878688612c1e565b5b5b50505050505050565b600c805482908110612a3b57fe5b906000526020600020900160005b5054905081565b600960205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526001602052604081205460ff1680612a965750612a9633611b16565b5b80612ab0575060025433600160a060020a039081169116145b1515612abb57600080fd5b506000818152600a6020526040812060040154610100900460ff1690811115611d45576000828152600a60205260409020600401805460001960ff610100808404821692909201160261ff00199091161790555b5b5b5050565b6000818152600a602052604090206004015460ff610100909104166001015b919050565b600d6020526000908152604090205481565b6000600c82815481101515612b5c57fe5b906000526020600020900160005b505490505b919050565b6000818152600a60205260409020600101545b919050565b600160a060020a03331660009081526001602052604090205460ff1680612bb75750612bb733611b16565b5b80612bd1575060025433600160a060020a039081169116145b1515612bdc57600080fd5b612be58161247d565b1515612bf057600080fd5b600081815260136020526040812090612c0982826136c6565b6120756001830160006136c6565b50505b5b50565b600160a060020a03331660009081526001602052604090205460ff1680612c495750612c4933611b16565b5b80612c63575060025433600160a060020a039081169116145b1515612c6e57600080fd5b612c7787613602565b15612c8157600080fd5b60c06040519081016040908152600160a060020a03841682526001608060020a038089166020808501919091529088168284015267ffffffffffffffff861660608401526080830187905283151560a084015260008a815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b50505050505050565b600160a060020a0381166000908152601260205260409020545b919050565b6000828152600b6020526040902054600160a060020a038281169116145b92915050565b600160a060020a03811660009081526001602052604090205460ff165b919050565b600b60205260009081526040902054600160a060020a031681565b600081815260166020526040902054600160a060020a03165b919050565b600a6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600790970154959694959394929360ff80841694610100909404811693911689565b600160a060020a03331660009081526001602052604090205460ff1680612ecb5750612ecb33611b16565b5b80612ee5575060025433600160a060020a039081169116145b1515612ef057600080fd5b612ef985613602565b15612f0357600080fd5b60c06040519081016040908152600160a060020a03831682526001608060020a038087166020808501919091529086168284015267ffffffffffffffff85166060840152426080840152600060a0840181905288815260169091522081518154600160a060020a031916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316608060020a029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff929092169190911790556080820151816003015560a0820151600491909101805460ff1916911515919091179055506017805460010190555b5b5050505050565b600254600160a060020a031681565b6000818152600a60205260409020600501545b919050565b60126020526000908152604090205481565b60195481565b600160a060020a03331660009081526001602052604090205460ff168061309a575061309a33611b16565b5b806130b4575060025433600160a060020a039081169116145b15156130bf57600080fd5b600082815260136020526040902060010181805161207592916020019061370e565b505b5b5050565b60016020526000908152604090205460ff1681565b60166020526000908152604090208054600182015460028301546003840154600490940154600160a060020a03909316936001608060020a0380841694608060020a909404169267ffffffffffffffff9092169160ff1686565b600781600a8110611d6c57fe5b600891828204019190066004025b915054906101000a900463ffffffff1681565b6017545b90565b6000818152600a6020526040902060060154429011155b919050565b60006131b2613667565b600083815260166020526040908190209060c0905190810160409081528254600160a060020a0316825260018301546001608060020a038082166020850152608060020a9091041690820152600282015467ffffffffffffffff16606082019081526003830154608083015260049092015460ff16151560a082015291505167ffffffffffffffff1681608001510191505b50919050565b600060018260ff1610158015611c2b575060038260ff1611155b90505b919050565b60005433600160a060020a0390811691161461328757600080fd5b600160a060020a038116151561329c57600080fd5b60008054600160a060020a031916600160a060020a0383161790555b5b50565b601e6020526000908152604090205481565b6132d661363f565b606060405190810160409081526000848152601d60209081528282208280528082528383205460ff908116865260018452818352848420548116838701526002845291529082902054169082015290505b919050565b600160a060020a03331660009081526001602052604090205460ff1680613357575061335733611b16565b5b80613371575060025433600160a060020a039081169116145b151561337c57600080fd5b600082815260136020526040902081805161207592916020019061370e565b505b5b5050565b601a54601954015b90565b600160a060020a03331660009081526001602052604090205460ff16806133d857506133d833611b16565b5b806133f2575060025433600160a060020a039081169116145b15156133fd57600080fd5b600160a060020a03811660009081526001602052604090819020805460ff191690557f0504a20df814c93c7ddd7f77490f6e926f33d1094b561451e480448195c3a91790829051600160a060020a03909116815260200160405180910390a15b5b50565b600160a060020a03331660009081526001602052604090205460ff168061348c575061348c33611b16565b5b806134a6575060025433600160a060020a039081169116145b15156134b157600080fd5b6000828152600b602052604090208054600160a060020a031916600160a060020a0383161790555b5b5050565b60005433600160a060020a039081169116146134f957600080fd5b600160a060020a038116151561350e57600080fd5b60028054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a03331660009081526001602052604090205460ff1680613559575061355933611b16565b5b80613573575060025433600160a060020a039081169116145b151561357e57600080fd5b600160a060020a038116151561359357600080fd5b600160a060020a038116600090815260016020819052604091829020805460ff191690911790557fd95d4cef34c7f4a986a0964e74c4a112f7afe024b8bcafb75b2eab45e7c5738890829051600160a060020a03909116815260200160405180910390a15b5b50565b601a5481565b600081815260166020526040812060030154115b919050565b60206040519081016040526000815290565b60206040519081016040526000815290565b60606040519081016040526003815b60008152600019909101906020018161364e5790505090565b60c06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a082015290565b8154818355818115116120755760008381526020902061207591810190830161378d565b5b505050565b50805460018160011615610100020316600290046000825580601f106136ec575061166e565b601f01602090049060005260206000209081019061166e919061378d565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061374f57805160ff191683800117855561377c565b8280016001018555821561377c579182015b8281111561377c578251825591602001919060010190613761565b5b5061378992915061378d565b5090565b611eba91905b808211156137895760008155600101613793565b5090565b905600a165627a7a723058205b1bf9cb59ba4dcb73a87c418d178af2527641ea44bf44f311b170f7d242ab9e00290000000000000000000000000000000000000000000000000000000000000000

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://5b1bf9cb59ba4dcb73a87c418d178af2527641ea44bf44f311b170f7d242ab9e

 

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