ETH Price: $2,351.92 (+3.41%)

Contract

0x7c16d7EA5E8f3C93E246bffcf72FC039Feee69c9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Bid184423982023-10-27 15:20:23326 days ago1698420023IN
0x7c16d7EA...9Feee69c9
0 ETH0.0025516970.98303035
Withdraw184423962023-10-27 15:19:59326 days ago1698419999IN
0x7c16d7EA...9Feee69c9
0 ETH0.0019474768.44052668
Withdraw184423952023-10-27 15:19:47326 days ago1698419987IN
0x7c16d7EA...9Feee69c9
0 ETH0.0020282771.28026495
Place Bid184423932023-10-27 15:19:23326 days ago1698419963IN
0x7c16d7EA...9Feee69c9
0.031 ETH0.0030841575.99992707
Place Bid184423872023-10-27 15:18:11326 days ago1698419891IN
0x7c16d7EA...9Feee69c9
0.03 ETH0.0048386788.16673638
List For Sale184423712023-10-27 15:14:47326 days ago1698419687IN
0x7c16d7EA...9Feee69c9
0 ETH0.0065485590.83104722
Place Bid184423562023-10-27 15:11:47326 days ago1698419507IN
0x7c16d7EA...9Feee69c9
0.02 ETH0.0026208245.43659095
Place Bid184423522023-10-27 15:10:59326 days ago1698419459IN
0x7c16d7EA...9Feee69c9
0.01 ETH0.0038049442.61378227
Withdraw Bid184423452023-10-27 15:09:35326 days ago1698419375IN
0x7c16d7EA...9Feee69c9
0 ETH0.0013246636.84938708
Place Bid184423422023-10-27 15:08:59326 days ago1698419339IN
0x7c16d7EA...9Feee69c9
0.03 ETH0.0032652236.56918129
Withdraw Bid184423402023-10-27 15:08:35326 days ago1698419315IN
0x7c16d7EA...9Feee69c9
0 ETH0.0012524834.84165375
Withdraw184423312023-10-27 15:06:47326 days ago1698419207IN
0x7c16d7EA...9Feee69c9
0 ETH0.0010325336.28664778
Buy Now184423252023-10-27 15:05:35326 days ago1698419135IN
0x7c16d7EA...9Feee69c9
0.1 ETH0.0023763839.52081568
Place Bid184423202023-10-27 15:04:35326 days ago1698419075IN
0x7c16d7EA...9Feee69c9
0.02 ETH0.003420538.30829771
List For Sale184423192023-10-27 15:04:23326 days ago1698419063IN
0x7c16d7EA...9Feee69c9
0 ETH0.0025662235.58867267
0x60806040184422972023-10-27 14:59:59326 days ago1698418799IN
 Create: NeoX
0 ETH0.0441541233.7689558

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
184423982023-10-27 15:20:23326 days ago1698420023
0x7c16d7EA...9Feee69c9
0.031 ETH
184423962023-10-27 15:19:59326 days ago1698419999
0x7c16d7EA...9Feee69c9
0.01 ETH
184423952023-10-27 15:19:47326 days ago1698419987
0x7c16d7EA...9Feee69c9
0.05 ETH
184423452023-10-27 15:09:35326 days ago1698419375
0x7c16d7EA...9Feee69c9
0.03 ETH
184423402023-10-27 15:08:35326 days ago1698419315
0x7c16d7EA...9Feee69c9
0.02 ETH
184423312023-10-27 15:06:47326 days ago1698419207
0x7c16d7EA...9Feee69c9
0.1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NeoX

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2023-10-27
*/

// Test time.
//
// SPDX-License-Identifier: MIT
// Copyright Neo, 2023

pragma solidity ^0.8.21;

contract NeoX {
    event ArtpieceCreated(address indexed creator);
    event ArtpieceTransferred(address indexed oldOwner, address indexed newOwner);
    event BidAccepted(uint256 value, address indexed fromAddress, address indexed toAddress);
    event BidPlaced(uint256 value, address indexed fromAddress);
    event BidWithdrawn(uint256 value, address indexed fromAddress);
    event ListedForSale(uint256 value, address indexed fromAddress, address indexed toAddress);
    event SaleCanceled(uint256 value, address indexed fromAddress, address indexed toAddress);
    event SaleCompleted(uint256 value, address indexed fromAddress, address indexed toAddress);

    error FundsTransfer();
    error InsufficientFunds();
    error ListedForSaleToSpecificAddress();
    error NoBid();
    error NotForSale();
    error NotOwner();
    error NotRoyaltyRecipient();
    error NotYourBid();
    error NullAddress();
    error RoyaltyTooHigh();

    string public constant MANIFEST = (
        'We are testing.' '\n'
    );

    string public constant CORE = (
        'function setupAnimation(e){window.removeEventListener(e.type,setupAnimation,!1),(gl=getRenderingContext())&&(gl.enable(gl.SCISSOR_TEST),gl.clearColor(color[0],color[1],color[2],1),position=[0,gl.drawingBufferHeight],timer=setInterval(drawAnimation,17),drawAnimation())}function drawAnimation(){gl.scissor(position[0],position[1],size[0],size[1]),gl.clear(gl.COLOR_BUFFER_BIT),position[1]-=velocity,position[1]<0&&(position=[Math.random()*(gl.drawingBufferWidth-size[0]),gl.drawingBufferHeight],velocity=1+6*Math.random(),color=getRandomColor(),gl.clearColor(color[0],color[1],color[2],1))}function getRandomColor(){return[Math.random(),Math.random(),Math.random()]}function getRenderingContext(){var e=document.createElement("canvas");e.width=window.innerWidth*window.devicePixelRatio,e.height=window.innerHeight*window.devicePixelRatio,e.style.width="100%",e.style.backgroundColor="black",e.style.height="100%",document.body.append(e);var o=e.getContext("webgl")||e.getContext("experimental-webgl");return o?(o.viewport(0,0,o.drawingBufferWidth,o.drawingBufferHeight),o.clearColor(0,0,0,1),o.clear(o.COLOR_BUFFER_BIT),o):(document.querySelector("p").innerHTML="Failed to get WebGL context.Your browser or device may not support WebGL.",null)}window.addEventListener("load",setupAnimation,!1);var gl,position,color=getRandomColor(),size=[360,360],velocity=3;'
    );

    modifier onlyOwner() {
        if (owner != msg.sender) {
            revert NotOwner();
        }

        _;
    }

    modifier onlyRoyaltyRecipient() {
        if (royaltyRecipient != msg.sender) {
            revert NotRoyaltyRecipient();
        }

        _;
    }

    struct Offer {
        bool active;
        uint256 value;
        address toAddress;
    }

    struct Bid {
        bool active;
        uint256 value;
        address fromAddress;
    }

    address public owner;

    Offer public currentOffer;

    Bid public currentBid;

    address public royaltyRecipient;

    uint256 public royaltyPercentage;

    mapping (address => uint256) public pendingWithdrawals;

    constructor(uint256 _royaltyPercentage) {
        if (_royaltyPercentage >= 100) {
            revert RoyaltyTooHigh();
        }

        owner = msg.sender;
        royaltyRecipient = msg.sender;
        royaltyPercentage = _royaltyPercentage;

        emit ArtpieceCreated(msg.sender);
    }

    function name() public view virtual returns (string memory) {
        return 'NeoX';
    }

    function symbol() public view virtual returns (string memory) {
        return 'XXX';
    }

    function artpiece() public view virtual returns (string memory) {
        return string.concat(
            '<!DOCTYPE html>'
            '<html>'
                '<head>'
                    '<title>', 'NeoX', '</title>'

                    '<meta name="viewport" content="width=device-width, initial-scale=1" />'

                    '<style>body{background:#969696;margin:0;padding:0;overflow:hidden;}</style>'
                '</head>'

                '<body>'
                    '<script type="text/javascript">',
                        CORE,
                    '</script>'
                '</body>'
            '</html>'
        );
    }

    function withdraw() public {
        uint256 amount = pendingWithdrawals[msg.sender];

        pendingWithdrawals[msg.sender] = 0;

        _sendFunds(amount);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        if (newOwner == address(0)) {
            revert NullAddress();
        }

        _transferOwnership(newOwner);

        if (currentBid.fromAddress == newOwner) {
            uint256 amount = currentBid.value;

            currentBid = Bid({ active: false, value: 0, fromAddress: address(0) });

            pendingWithdrawals[newOwner] += amount;
        }

        if (currentOffer.active) {
            currentOffer = Offer({ active: false, value: 0, toAddress: address(0) });
        }
    }

    function listForSale(uint256 salePriceInWei) public onlyOwner {
        currentOffer = Offer({ active: true, value: salePriceInWei, toAddress: address(0) });

        emit ListedForSale(salePriceInWei, msg.sender, address(0));
    }

    function listForSaleToAddress(uint256 salePriceInWei, address toAddress) public onlyOwner {
        currentOffer = Offer({ active: true, value: salePriceInWei, toAddress: toAddress });

        emit ListedForSale(salePriceInWei, msg.sender, toAddress);
    }

    function cancelFromSale() public onlyOwner {
        Offer memory oldOffer = currentOffer;

        currentOffer = Offer({ active: false, value: 0, toAddress: address(0) });

        emit SaleCanceled(oldOffer.value, msg.sender, oldOffer.toAddress);
    }

    function buyNow() public payable {
        if (!currentOffer.active) {
            revert NotForSale();
        }

        if (currentOffer.toAddress != address(0) && currentOffer.toAddress != msg.sender) {
            revert ListedForSaleToSpecificAddress();
        }

        if (msg.value != currentOffer.value) {
            revert InsufficientFunds();
        }

        currentOffer = Offer({ active: false, value: 0, toAddress: address(0) });

        uint256 royaltyAmount = _calcRoyalty(msg.value);

        pendingWithdrawals[owner] += msg.value - royaltyAmount;
        pendingWithdrawals[royaltyRecipient] += royaltyAmount;

        emit SaleCompleted(msg.value, owner, msg.sender);

        _transferOwnership(msg.sender);
    }

    function placeBid() public payable {
        if (msg.value <= currentBid.value) {
            revert InsufficientFunds();
        }

        if (currentBid.value > 0) {
            pendingWithdrawals[currentBid.fromAddress] += currentBid.value;
        }

        currentBid = Bid({ active: true, value: msg.value, fromAddress: msg.sender });

        emit BidPlaced(msg.value, msg.sender);
    }

    function acceptBid() public onlyOwner {
        if (!currentBid.active) {
            revert NoBid();
        }

        uint256 amount = currentBid.value;
        address bidder = currentBid.fromAddress;

        currentOffer = Offer({ active: false, value: 0, toAddress: address(0) });
        currentBid = Bid({ active: false, value: 0, fromAddress: address(0) });

        uint256 royaltyAmount = _calcRoyalty(amount);

        pendingWithdrawals[owner] += amount - royaltyAmount;
        pendingWithdrawals[royaltyRecipient] += royaltyAmount;

        emit BidAccepted(amount, owner, bidder);

        _transferOwnership(bidder);
    }

    function withdrawBid() public {
        if (msg.sender != currentBid.fromAddress) {
            revert NotYourBid();
        }

        uint256 amount = currentBid.value;

        currentBid = Bid({ active: false, value: 0, fromAddress: address(0) });

        _sendFunds(amount);

        emit BidWithdrawn(amount, msg.sender);
    }

    function setRoyaltyRecipient(address newRoyaltyRecipient) public onlyRoyaltyRecipient {
        if (newRoyaltyRecipient == address(0)) {
            revert NullAddress();
        }

        royaltyRecipient = newRoyaltyRecipient;
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = owner;

        owner = newOwner;

        emit ArtpieceTransferred(oldOwner, newOwner);
    }

    function _sendFunds(uint256 amount) internal virtual {
        (bool success, ) = msg.sender.call{value: amount}('');

        if (!success) {
            revert FundsTransfer();
        }
    }

    function _calcRoyalty(uint256 amount) internal virtual returns (uint256) {
        return (amount * royaltyPercentage) / 100;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_royaltyPercentage","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"FundsTransfer","type":"error"},{"inputs":[],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"ListedForSaleToSpecificAddress","type":"error"},{"inputs":[],"name":"NoBid","type":"error"},{"inputs":[],"name":"NotForSale","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"inputs":[],"name":"NotRoyaltyRecipient","type":"error"},{"inputs":[],"name":"NotYourBid","type":"error"},{"inputs":[],"name":"NullAddress","type":"error"},{"inputs":[],"name":"RoyaltyTooHigh","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"creator","type":"address"}],"name":"ArtpieceCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"ArtpieceTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"BidAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"}],"name":"BidPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"}],"name":"BidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"ListedForSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"SaleCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"}],"name":"SaleCompleted","type":"event"},{"inputs":[],"name":"CORE","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MANIFEST","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptBid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"artpiece","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyNow","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cancelFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentBid","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"fromAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentOffer","outputs":[{"internalType":"bool","name":"active","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"salePriceInWei","type":"uint256"}],"name":"listForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"salePriceInWei","type":"uint256"},{"internalType":"address","name":"toAddress","type":"address"}],"name":"listForSaleToAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"placeBid","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"royaltyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"royaltyRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRoyaltyRecipient","type":"address"}],"name":"setRoyaltyRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawBid","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b5060405161168438038061168483398101604081905261002e916100a2565b6064811061004f5760405163c2b03beb60e01b815260040160405180910390fd5b5f8054336001600160a01b031991821681178355600780549092168117909155600883905560405190917fcaea53471edbf6ace3d253c1bdecf4553374dd40c18148776b57bf5af0f7f02f91a2506100b9565b5f602082840312156100b2575f80fd5b5051919050565b6115be806100c65f395ff3fe608060405260043610610126575f3560e01c80638a71bb2d116100a8578063def181011161006d578063def1810114610311578063e52a787414610361578063ecfc7ecc14610375578063f2fde38b1461037d578063f3f437031461039c578063fa4e28f6146103c7575f80fd5b80638a71bb2d1461027e5780638da5cb5b146102a157806395d89b41146102bf5780639c3962f0146102ea578063c7857fb5146102f2575f80fd5b80633ccfd60b116100ee5780633ccfd60b146101ec57806341e42f301461020057806342c472171461021f5780634c00de82146102335780636b6c07741461026a575f80fd5b806306fdde031461012a5780630dca550e1461016857806337271cc71461018957806337a908fc1461019d57806338739dad146101b1575b5f80fd5b348015610135575f80fd5b5060408051808201909152600481526309ccadeb60e31b60208201525b60405161015f9190610da2565b60405180910390f35b348015610173575f80fd5b50610187610182366004610def565b6103f1565b005b348015610194575f80fd5b506101876104a1565b3480156101a8575f80fd5b50610152610548565b3480156101bc575f80fd5b506101526040518060400160405280601081526020016f2bb29030b932903a32b9ba34b733970560811b81525081565b3480156101f7575f80fd5b5061018761058a565b34801561020b575f80fd5b5061018761021a366004610e19565b6105a9565b34801561022a575f80fd5b5061018761061d565b34801561023e575f80fd5b50600754610252906001600160a01b031681565b6040516001600160a01b03909116815260200161015f565b348015610275575f80fd5b506101526106f5565b348015610289575f80fd5b5061029360085481565b60405190815260200161015f565b3480156102ac575f80fd5b505f54610252906001600160a01b031681565b3480156102ca575f80fd5b506040805180820190915260038152620b0b0b60eb1b6020820152610152565b610187610714565b3480156102fd575f80fd5b5061018761030c366004610e39565b61088e565b34801561031c575f80fd5b5060045460055460065461033b9260ff1691906001600160a01b031683565b60408051931515845260208401929092526001600160a01b03169082015260600161015f565b34801561036c575f80fd5b50610187610927565b610187610ab6565b348015610388575f80fd5b50610187610397366004610e19565b610b8a565b3480156103a7575f80fd5b506102936103b6366004610e19565b60096020525f908152604090205481565b3480156103d2575f80fd5b5060015460025460035461033b9260ff1691906001600160a01b031683565b5f546001600160a01b0316331461041b576040516330cd747160e01b815260040160405180910390fd5b604080516060810182526001808252602082018590526001600160a01b038416918301829052805460ff1916811790556002849055600380546001600160a01b03191682179055905133907f812dc3f3c55b5006c05a0b308b2cb2eee57e2b53135f8b53ff5728c329b480a0906104959086815260200190565b60405180910390a35050565b6006546001600160a01b031633146104cc5760405163173f0e6f60e21b815260040160405180910390fd5b60058054604080516060810182525f8082526020820181905291018190526004805460ff19169055909155600680546001600160a01b031916905561051081610ca6565b60405181815233907f5e9c7ae3229b2cda5065d7058fcc05765c695c29ce05313fbe96cb2ca639231a9060200160405180910390a250565b606060405180610580016040528061054e815260200161103b61054e91396040516020016105769190610e50565b604051602081830303815290604052905090565b335f90815260096020526040812080549190556105a681610ca6565b50565b6007546001600160a01b031633146105d457604051631229bf3760e11b815260040160405180910390fd5b6001600160a01b0381166105fb5760405163e99d5ac560e01b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610647576040516330cd747160e01b815260040160405180910390fd5b60408051606080820183526001805460ff811615158452600280546020808701918252600380546001600160a01b038082168a8c019081528b51998a018c525f808b52948a01859052988b0184905260ff1990961690965592556001600160a01b03199093169055915190519351929391169133917ff1f48fe426adbd884772d4c165015a460df54458ff7e238dff36fe3c5d341ccf916106ea91815260200190565b60405180910390a350565b60405180610580016040528061054e815260200161103b61054e913981565b60015460ff1661073757604051631d99ddbf60e01b815260040160405180910390fd5b6003546001600160a01b03161580159061075c57506003546001600160a01b03163314155b1561077a5760405163d6da33db60e01b815260040160405180910390fd5b600254341461079c5760405163356680b760e01b815260040160405180910390fd5b604080516060810182525f8082526020820181905291018190526001805460ff191690556002819055600380546001600160a01b03191690556107de34610d10565b90506107ea8134610fde565b5f80546001600160a01b031681526009602052604081208054909190610811908490610ff1565b90915550506007546001600160a01b03165f908152600960205260408120805483929061083f908490610ff1565b90915550505f5460405134815233916001600160a01b0316907fdb87be53c711a1eb193f5fffddcfd85425990853a8423fa2bfd4a8620c218ed49060200160405180910390a36105a633610d31565b5f546001600160a01b031633146108b8576040516330cd747160e01b815260040160405180910390fd5b604080516060810182526001808252602082018490525f918301829052805460ff1916811790556002839055600380546001600160a01b0319169055905133907f812dc3f3c55b5006c05a0b308b2cb2eee57e2b53135f8b53ff5728c329b480a0906106ea9085815260200190565b5f546001600160a01b03163314610951576040516330cd747160e01b815260040160405180910390fd5b60045460ff16610974576040516313650ef160e11b815260040160405180910390fd5b600580546006805460408051606080820183525f80835260208084018290529284018190526001805460ff199081169091556002829055600380546001600160a01b031990811690915585519384018652828452938301829052919093018390526004805490911690559481905593811690915590916001600160a01b03909116906109ff83610d10565b9050610a0b8184610fde565b5f80546001600160a01b031681526009602052604081208054909190610a32908490610ff1565b90915550506007546001600160a01b03165f9081526009602052604081208054839290610a60908490610ff1565b90915550505f546040518481526001600160a01b038481169216907fd32f7ef8c20232133e4dbd098b49d6b86ab580eee8a90a815925e900584749639060200160405180910390a3610ab182610d31565b505050565b6005543411610ad85760405163356680b760e01b815260040160405180910390fd5b60055415610b12576005546006546001600160a01b03165f9081526009602052604081208054909190610b0c908490610ff1565b90915550505b604080516060810182526001808252346020808401829052339385018490526004805460ff19169093179092556005819055600680546001600160a01b03191684179055925192835290917f5445de3f4fe13efb115ec05c57e09cc0e277801d0cd2ae780457ebcd8688c391910160405180910390a2565b5f546001600160a01b03163314610bb4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610bdb5760405163e99d5ac560e01b815260040160405180910390fd5b610be481610d31565b6006546001600160a01b03808316911603610c615760058054604080516060810182525f80825260208083018290529183018190526004805460ff1916905593849055600680546001600160a01b03191690556001600160a01b0385168452600990528220805491928392610c5a908490610ff1565b9091555050505b60015460ff16156105a657604080516060810182525f8082526020820181905291018190526001805460ff19169055600255600380546001600160a01b031916905550565b6040515f90339083908381818185875af1925050503d805f8114610ce5576040519150601f19603f3d011682016040523d82523d5f602084013e610cea565b606091505b5050905080610d0c576040516342bb570960e01b815260040160405180910390fd5b5050565b5f606460085483610d219190611004565b610d2b919061101b565b92915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917fb0594827696749bdc48b310d4a5cfee5e9a89491f1c6bea2b928c2c33db414de9190a35050565b5f5b83811015610d9a578181015183820152602001610d82565b50505f910152565b602081525f8251806020840152610dc0816040850160208701610d80565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610dea575f80fd5b919050565b5f8060408385031215610e00575f80fd5b82359150610e1060208401610dd4565b90509250929050565b5f60208284031215610e29575f80fd5b610e3282610dd4565b9392505050565b5f60208284031215610e49575f80fd5b5035919050565b7f3c21444f43545950452068746d6c3e3c68746d6c3e3c686561643e3c7469746c815261329f60f11b60208201526309ccadeb60e31b60228201527f3c2f7469746c653e3c6d657461206e616d653d2276696577706f72742220636f60268201527f6e74656e743d2277696474683d6465766963652d77696474682c20696e69746960468201527f616c2d7363616c653d3122202f3e3c7374796c653e626f64797b6261636b677260668201527f6f756e643a233936393639363b6d617267696e3a303b70616464696e673a303b60868201527f6f766572666c6f773a68696464656e3b7d3c2f7374796c653e3c2f686561643e60a68201527f3c626f64793e3c73637269707420747970653d22746578742f6a61766173637260c68201526434b83a111f60d91b60e68201525f8251610f918160eb850160208701610d80565b8201610fbf60eb82017f3c2f7363726970743e3c2f626f64793e3c2f68746d6c3e0000000000000000009052565b610102019392505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610d2b57610d2b610fca565b80820180821115610d2b57610d2b610fca565b8082028115828204841417610d2b57610d2b610fca565b5f8261103557634e487b7160e01b5f52601260045260245ffd5b50049056fe66756e6374696f6e207365747570416e696d6174696f6e2865297b77696e646f772e72656d6f76654576656e744c697374656e657228652e747970652c7365747570416e696d6174696f6e2c2131292c28676c3d67657452656e646572696e67436f6e74657874282929262628676c2e656e61626c6528676c2e53434953534f525f54455354292c676c2e636c656172436f6c6f7228636f6c6f725b305d2c636f6c6f725b315d2c636f6c6f725b325d2c31292c706f736974696f6e3d5b302c676c2e64726177696e674275666665724865696768745d2c74696d65723d736574496e74657276616c2864726177416e696d6174696f6e2c3137292c64726177416e696d6174696f6e2829297d66756e6374696f6e2064726177416e696d6174696f6e28297b676c2e73636973736f7228706f736974696f6e5b305d2c706f736974696f6e5b315d2c73697a655b305d2c73697a655b315d292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c706f736974696f6e5b315d2d3d76656c6f636974792c706f736974696f6e5b315d3c30262628706f736974696f6e3d5b4d6174682e72616e646f6d28292a28676c2e64726177696e6742756666657257696474682d73697a655b305d292c676c2e64726177696e674275666665724865696768745d2c76656c6f636974793d312b362a4d6174682e72616e646f6d28292c636f6c6f723d67657452616e646f6d436f6c6f7228292c676c2e636c656172436f6c6f7228636f6c6f725b305d2c636f6c6f725b315d2c636f6c6f725b325d2c3129297d66756e6374696f6e2067657452616e646f6d436f6c6f7228297b72657475726e5b4d6174682e72616e646f6d28292c4d6174682e72616e646f6d28292c4d6174682e72616e646f6d28295d7d66756e6374696f6e2067657452656e646572696e67436f6e7465787428297b76617220653d646f63756d656e742e637265617465456c656d656e74282263616e76617322293b652e77696474683d77696e646f772e696e6e657257696474682a77696e646f772e646576696365506978656c526174696f2c652e6865696768743d77696e646f772e696e6e65724865696768742a77696e646f772e646576696365506978656c526174696f2c652e7374796c652e77696474683d2231303025222c652e7374796c652e6261636b67726f756e64436f6c6f723d22626c61636b222c652e7374796c652e6865696768743d2231303025222c646f63756d656e742e626f64792e617070656e642865293b766172206f3d652e676574436f6e746578742822776562676c22297c7c652e676574436f6e7465787428226578706572696d656e74616c2d776562676c22293b72657475726e206f3f286f2e76696577706f727428302c302c6f2e64726177696e6742756666657257696474682c6f2e64726177696e67427566666572486569676874292c6f2e636c656172436f6c6f7228302c302c302c31292c6f2e636c656172286f2e434f4c4f525f4255464645525f424954292c6f293a28646f63756d656e742e717565727953656c6563746f7228227022292e696e6e657248544d4c3d224661696c656420746f2067657420576562474c20636f6e746578742e596f75722062726f77736572206f7220646576696365206d6179206e6f7420737570706f727420576562474c2e222c6e756c6c297d77696e646f772e6164644576656e744c697374656e657228226c6f6164222c7365747570416e696d6174696f6e2c2131293b76617220676c2c706f736974696f6e2c636f6c6f723d67657452616e646f6d436f6c6f7228292c73697a653d5b3336302c3336305d2c76656c6f636974793d333ba26469706673582212203d08c3ee6eb4c732285d55e8a664f24fce220f40a2b9a70965b6234ee321f1eb64736f6c634300081500330000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405260043610610126575f3560e01c80638a71bb2d116100a8578063def181011161006d578063def1810114610311578063e52a787414610361578063ecfc7ecc14610375578063f2fde38b1461037d578063f3f437031461039c578063fa4e28f6146103c7575f80fd5b80638a71bb2d1461027e5780638da5cb5b146102a157806395d89b41146102bf5780639c3962f0146102ea578063c7857fb5146102f2575f80fd5b80633ccfd60b116100ee5780633ccfd60b146101ec57806341e42f301461020057806342c472171461021f5780634c00de82146102335780636b6c07741461026a575f80fd5b806306fdde031461012a5780630dca550e1461016857806337271cc71461018957806337a908fc1461019d57806338739dad146101b1575b5f80fd5b348015610135575f80fd5b5060408051808201909152600481526309ccadeb60e31b60208201525b60405161015f9190610da2565b60405180910390f35b348015610173575f80fd5b50610187610182366004610def565b6103f1565b005b348015610194575f80fd5b506101876104a1565b3480156101a8575f80fd5b50610152610548565b3480156101bc575f80fd5b506101526040518060400160405280601081526020016f2bb29030b932903a32b9ba34b733970560811b81525081565b3480156101f7575f80fd5b5061018761058a565b34801561020b575f80fd5b5061018761021a366004610e19565b6105a9565b34801561022a575f80fd5b5061018761061d565b34801561023e575f80fd5b50600754610252906001600160a01b031681565b6040516001600160a01b03909116815260200161015f565b348015610275575f80fd5b506101526106f5565b348015610289575f80fd5b5061029360085481565b60405190815260200161015f565b3480156102ac575f80fd5b505f54610252906001600160a01b031681565b3480156102ca575f80fd5b506040805180820190915260038152620b0b0b60eb1b6020820152610152565b610187610714565b3480156102fd575f80fd5b5061018761030c366004610e39565b61088e565b34801561031c575f80fd5b5060045460055460065461033b9260ff1691906001600160a01b031683565b60408051931515845260208401929092526001600160a01b03169082015260600161015f565b34801561036c575f80fd5b50610187610927565b610187610ab6565b348015610388575f80fd5b50610187610397366004610e19565b610b8a565b3480156103a7575f80fd5b506102936103b6366004610e19565b60096020525f908152604090205481565b3480156103d2575f80fd5b5060015460025460035461033b9260ff1691906001600160a01b031683565b5f546001600160a01b0316331461041b576040516330cd747160e01b815260040160405180910390fd5b604080516060810182526001808252602082018590526001600160a01b038416918301829052805460ff1916811790556002849055600380546001600160a01b03191682179055905133907f812dc3f3c55b5006c05a0b308b2cb2eee57e2b53135f8b53ff5728c329b480a0906104959086815260200190565b60405180910390a35050565b6006546001600160a01b031633146104cc5760405163173f0e6f60e21b815260040160405180910390fd5b60058054604080516060810182525f8082526020820181905291018190526004805460ff19169055909155600680546001600160a01b031916905561051081610ca6565b60405181815233907f5e9c7ae3229b2cda5065d7058fcc05765c695c29ce05313fbe96cb2ca639231a9060200160405180910390a250565b606060405180610580016040528061054e815260200161103b61054e91396040516020016105769190610e50565b604051602081830303815290604052905090565b335f90815260096020526040812080549190556105a681610ca6565b50565b6007546001600160a01b031633146105d457604051631229bf3760e11b815260040160405180910390fd5b6001600160a01b0381166105fb5760405163e99d5ac560e01b815260040160405180910390fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610647576040516330cd747160e01b815260040160405180910390fd5b60408051606080820183526001805460ff811615158452600280546020808701918252600380546001600160a01b038082168a8c019081528b51998a018c525f808b52948a01859052988b0184905260ff1990961690965592556001600160a01b03199093169055915190519351929391169133917ff1f48fe426adbd884772d4c165015a460df54458ff7e238dff36fe3c5d341ccf916106ea91815260200190565b60405180910390a350565b60405180610580016040528061054e815260200161103b61054e913981565b60015460ff1661073757604051631d99ddbf60e01b815260040160405180910390fd5b6003546001600160a01b03161580159061075c57506003546001600160a01b03163314155b1561077a5760405163d6da33db60e01b815260040160405180910390fd5b600254341461079c5760405163356680b760e01b815260040160405180910390fd5b604080516060810182525f8082526020820181905291018190526001805460ff191690556002819055600380546001600160a01b03191690556107de34610d10565b90506107ea8134610fde565b5f80546001600160a01b031681526009602052604081208054909190610811908490610ff1565b90915550506007546001600160a01b03165f908152600960205260408120805483929061083f908490610ff1565b90915550505f5460405134815233916001600160a01b0316907fdb87be53c711a1eb193f5fffddcfd85425990853a8423fa2bfd4a8620c218ed49060200160405180910390a36105a633610d31565b5f546001600160a01b031633146108b8576040516330cd747160e01b815260040160405180910390fd5b604080516060810182526001808252602082018490525f918301829052805460ff1916811790556002839055600380546001600160a01b0319169055905133907f812dc3f3c55b5006c05a0b308b2cb2eee57e2b53135f8b53ff5728c329b480a0906106ea9085815260200190565b5f546001600160a01b03163314610951576040516330cd747160e01b815260040160405180910390fd5b60045460ff16610974576040516313650ef160e11b815260040160405180910390fd5b600580546006805460408051606080820183525f80835260208084018290529284018190526001805460ff199081169091556002829055600380546001600160a01b031990811690915585519384018652828452938301829052919093018390526004805490911690559481905593811690915590916001600160a01b03909116906109ff83610d10565b9050610a0b8184610fde565b5f80546001600160a01b031681526009602052604081208054909190610a32908490610ff1565b90915550506007546001600160a01b03165f9081526009602052604081208054839290610a60908490610ff1565b90915550505f546040518481526001600160a01b038481169216907fd32f7ef8c20232133e4dbd098b49d6b86ab580eee8a90a815925e900584749639060200160405180910390a3610ab182610d31565b505050565b6005543411610ad85760405163356680b760e01b815260040160405180910390fd5b60055415610b12576005546006546001600160a01b03165f9081526009602052604081208054909190610b0c908490610ff1565b90915550505b604080516060810182526001808252346020808401829052339385018490526004805460ff19169093179092556005819055600680546001600160a01b03191684179055925192835290917f5445de3f4fe13efb115ec05c57e09cc0e277801d0cd2ae780457ebcd8688c391910160405180910390a2565b5f546001600160a01b03163314610bb4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610bdb5760405163e99d5ac560e01b815260040160405180910390fd5b610be481610d31565b6006546001600160a01b03808316911603610c615760058054604080516060810182525f80825260208083018290529183018190526004805460ff1916905593849055600680546001600160a01b03191690556001600160a01b0385168452600990528220805491928392610c5a908490610ff1565b9091555050505b60015460ff16156105a657604080516060810182525f8082526020820181905291018190526001805460ff19169055600255600380546001600160a01b031916905550565b6040515f90339083908381818185875af1925050503d805f8114610ce5576040519150601f19603f3d011682016040523d82523d5f602084013e610cea565b606091505b5050905080610d0c576040516342bb570960e01b815260040160405180910390fd5b5050565b5f606460085483610d219190611004565b610d2b919061101b565b92915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917fb0594827696749bdc48b310d4a5cfee5e9a89491f1c6bea2b928c2c33db414de9190a35050565b5f5b83811015610d9a578181015183820152602001610d82565b50505f910152565b602081525f8251806020840152610dc0816040850160208701610d80565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610dea575f80fd5b919050565b5f8060408385031215610e00575f80fd5b82359150610e1060208401610dd4565b90509250929050565b5f60208284031215610e29575f80fd5b610e3282610dd4565b9392505050565b5f60208284031215610e49575f80fd5b5035919050565b7f3c21444f43545950452068746d6c3e3c68746d6c3e3c686561643e3c7469746c815261329f60f11b60208201526309ccadeb60e31b60228201527f3c2f7469746c653e3c6d657461206e616d653d2276696577706f72742220636f60268201527f6e74656e743d2277696474683d6465766963652d77696474682c20696e69746960468201527f616c2d7363616c653d3122202f3e3c7374796c653e626f64797b6261636b677260668201527f6f756e643a233936393639363b6d617267696e3a303b70616464696e673a303b60868201527f6f766572666c6f773a68696464656e3b7d3c2f7374796c653e3c2f686561643e60a68201527f3c626f64793e3c73637269707420747970653d22746578742f6a61766173637260c68201526434b83a111f60d91b60e68201525f8251610f918160eb850160208701610d80565b8201610fbf60eb82017f3c2f7363726970743e3c2f626f64793e3c2f68746d6c3e0000000000000000009052565b610102019392505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610d2b57610d2b610fca565b80820180821115610d2b57610d2b610fca565b8082028115828204841417610d2b57610d2b610fca565b5f8261103557634e487b7160e01b5f52601260045260245ffd5b50049056fe66756e6374696f6e207365747570416e696d6174696f6e2865297b77696e646f772e72656d6f76654576656e744c697374656e657228652e747970652c7365747570416e696d6174696f6e2c2131292c28676c3d67657452656e646572696e67436f6e74657874282929262628676c2e656e61626c6528676c2e53434953534f525f54455354292c676c2e636c656172436f6c6f7228636f6c6f725b305d2c636f6c6f725b315d2c636f6c6f725b325d2c31292c706f736974696f6e3d5b302c676c2e64726177696e674275666665724865696768745d2c74696d65723d736574496e74657276616c2864726177416e696d6174696f6e2c3137292c64726177416e696d6174696f6e2829297d66756e6374696f6e2064726177416e696d6174696f6e28297b676c2e73636973736f7228706f736974696f6e5b305d2c706f736974696f6e5b315d2c73697a655b305d2c73697a655b315d292c676c2e636c65617228676c2e434f4c4f525f4255464645525f424954292c706f736974696f6e5b315d2d3d76656c6f636974792c706f736974696f6e5b315d3c30262628706f736974696f6e3d5b4d6174682e72616e646f6d28292a28676c2e64726177696e6742756666657257696474682d73697a655b305d292c676c2e64726177696e674275666665724865696768745d2c76656c6f636974793d312b362a4d6174682e72616e646f6d28292c636f6c6f723d67657452616e646f6d436f6c6f7228292c676c2e636c656172436f6c6f7228636f6c6f725b305d2c636f6c6f725b315d2c636f6c6f725b325d2c3129297d66756e6374696f6e2067657452616e646f6d436f6c6f7228297b72657475726e5b4d6174682e72616e646f6d28292c4d6174682e72616e646f6d28292c4d6174682e72616e646f6d28295d7d66756e6374696f6e2067657452656e646572696e67436f6e7465787428297b76617220653d646f63756d656e742e637265617465456c656d656e74282263616e76617322293b652e77696474683d77696e646f772e696e6e657257696474682a77696e646f772e646576696365506978656c526174696f2c652e6865696768743d77696e646f772e696e6e65724865696768742a77696e646f772e646576696365506978656c526174696f2c652e7374796c652e77696474683d2231303025222c652e7374796c652e6261636b67726f756e64436f6c6f723d22626c61636b222c652e7374796c652e6865696768743d2231303025222c646f63756d656e742e626f64792e617070656e642865293b766172206f3d652e676574436f6e746578742822776562676c22297c7c652e676574436f6e7465787428226578706572696d656e74616c2d776562676c22293b72657475726e206f3f286f2e76696577706f727428302c302c6f2e64726177696e6742756666657257696474682c6f2e64726177696e67427566666572486569676874292c6f2e636c656172436f6c6f7228302c302c302c31292c6f2e636c656172286f2e434f4c4f525f4255464645525f424954292c6f293a28646f63756d656e742e717565727953656c6563746f7228227022292e696e6e657248544d4c3d224661696c656420746f2067657420576562474c20636f6e746578742e596f75722062726f77736572206f7220646576696365206d6179206e6f7420737570706f727420576562474c2e222c6e756c6c297d77696e646f772e6164644576656e744c697374656e657228226c6f6164222c7365747570416e696d6174696f6e2c2131293b76617220676c2c706f736974696f6e2c636f6c6f723d67657452616e646f6d436f6c6f7228292c73697a653d5b3336302c3336305d2c76656c6f636974793d333ba26469706673582212203d08c3ee6eb4c732285d55e8a664f24fce220f40a2b9a70965b6234ee321f1eb64736f6c63430008150033

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

0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _royaltyPercentage (uint256): 0

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


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.