ETH Price: $2,964.05 (-0.88%)
Gas: 7 Gwei

Token

ZHNYTSIA (ZHNYTSIA)
 

Overview

Max Total Supply

42 ZHNYTSIA

Holders

40

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Filtered by Token Holder
devrox.eth
0x65ca4f011426fc2ac02041fbac0d12707070ea35
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Zhnytsia

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : Zhnytsia.sol
/*

 _____   __                __       _      
/__  /  / /_  ____  __  __/ /______(_)___ _
  / /  / __ \/ __ \/ / / / __/ ___/ / __ `/
 / /__/ / / / / / / /_/ / /_(__  ) / /_/ / 
/____/_/ /_/_/ /_/\__, /\__/____/_/\__,_/  
                 /____/                   
                 
nsiu / myk31 / shahruz

*/

// SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.12;

import "@rari-capital/solmate/src/tokens/ERC1155.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract Zhnytsia is ERC1155, Ownable {
    string public name = "ZHNYTSIA";
    string public symbol = "ZHNYTSIA";

    uint256 public immutable MAX_SUPPLY;
    uint256 public immutable MINT_FEE;
    uint256 public totalSupply;

    error IncorrectAmount();
    error MaxMinted();

    constructor(uint256 maxSupply, uint256 mintFee) {
        MAX_SUPPLY = maxSupply;
        MINT_FEE = mintFee;
    }

    function mint() public payable {
        if (msg.value != MINT_FEE) revert IncorrectAmount();
        if (totalSupply == MAX_SUPPLY) revert MaxMinted();
        unchecked {
            totalSupply++;
        }
        _mint(msg.sender, 1, 1, "");
    }

    function withdraw() public {
        (bool success, ) = address(0x3ae285B8f6ADcf9C728d0B761948e25DD065610E) // myk31.eth
            .call{value: address(this).balance}("");
        if (!success) revert();
    }

    function uri(uint256) public pure override returns (string memory) {
        return "ipfs://QmahErFFT4vXTSBiesCULvqKthVRY4Di5zok8wcWxmHzZh";
    }
}

File 2 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 4 : ERC1155.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Minimalist and gas efficient standard ERC1155 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC1155.sol)
abstract contract ERC1155 {
    /*///////////////////////////////////////////////////////////////
                                EVENTS
    //////////////////////////////////////////////////////////////*/

    event TransferSingle(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 id,
        uint256 amount
    );

    event TransferBatch(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256[] ids,
        uint256[] amounts
    );

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    event URI(string value, uint256 indexed id);

    /*///////////////////////////////////////////////////////////////
                            ERC1155 STORAGE
    //////////////////////////////////////////////////////////////*/

    mapping(address => mapping(uint256 => uint256)) public balanceOf;

    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /*///////////////////////////////////////////////////////////////
                             METADATA LOGIC
    //////////////////////////////////////////////////////////////*/

    function uri(uint256 id) public view virtual returns (string memory);

    /*///////////////////////////////////////////////////////////////
                             ERC1155 LOGIC
    //////////////////////////////////////////////////////////////*/

    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

        emit ApprovalForAll(msg.sender, operator, approved);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) public virtual {
        require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED");

        balanceOf[from][id] -= amount;
        balanceOf[to][id] += amount;

        emit TransferSingle(msg.sender, from, to, id, amount);

        require(
            to.code.length == 0
                ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, from, id, amount, data) ==
                    ERC1155TokenReceiver.onERC1155Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeBatchTransferFrom(
        address from,
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) public virtual {
        uint256 idsLength = ids.length; // Saves MLOADs.

        require(idsLength == amounts.length, "LENGTH_MISMATCH");

        require(msg.sender == from || isApprovedForAll[from][msg.sender], "NOT_AUTHORIZED");

        for (uint256 i = 0; i < idsLength; ) {
            uint256 id = ids[i];
            uint256 amount = amounts[i];

            balanceOf[from][id] -= amount;
            balanceOf[to][id] += amount;

            // An array can't have a total length
            // larger than the max uint256 value.
            unchecked {
                i++;
            }
        }

        emit TransferBatch(msg.sender, from, to, ids, amounts);

        require(
            to.code.length == 0
                ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, from, ids, amounts, data) ==
                    ERC1155TokenReceiver.onERC1155BatchReceived.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function balanceOfBatch(address[] memory owners, uint256[] memory ids)
        public
        view
        virtual
        returns (uint256[] memory balances)
    {
        uint256 ownersLength = owners.length; // Saves MLOADs.

        require(ownersLength == ids.length, "LENGTH_MISMATCH");

        balances = new uint256[](owners.length);

        // Unchecked because the only math done is incrementing
        // the array index counter which cannot possibly overflow.
        unchecked {
            for (uint256 i = 0; i < ownersLength; i++) {
                balances[i] = balanceOf[owners[i]][ids[i]];
            }
        }
    }

    /*///////////////////////////////////////////////////////////////
                              ERC165 LOGIC
    //////////////////////////////////////////////////////////////*/

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0xd9b67a26 || // ERC165 Interface ID for ERC1155
            interfaceId == 0x0e89341c; // ERC165 Interface ID for ERC1155MetadataURI
    }

    /*///////////////////////////////////////////////////////////////
                        INTERNAL MINT/BURN LOGIC
    //////////////////////////////////////////////////////////////*/

    function _mint(
        address to,
        uint256 id,
        uint256 amount,
        bytes memory data
    ) internal {
        balanceOf[to][id] += amount;

        emit TransferSingle(msg.sender, address(0), to, id, amount);

        require(
            to.code.length == 0
                ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155Received(msg.sender, address(0), id, amount, data) ==
                    ERC1155TokenReceiver.onERC1155Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _batchMint(
        address to,
        uint256[] memory ids,
        uint256[] memory amounts,
        bytes memory data
    ) internal {
        uint256 idsLength = ids.length; // Saves MLOADs.

        require(idsLength == amounts.length, "LENGTH_MISMATCH");

        for (uint256 i = 0; i < idsLength; ) {
            balanceOf[to][ids[i]] += amounts[i];

            // An array can't have a total length
            // larger than the max uint256 value.
            unchecked {
                i++;
            }
        }

        emit TransferBatch(msg.sender, address(0), to, ids, amounts);

        require(
            to.code.length == 0
                ? to != address(0)
                : ERC1155TokenReceiver(to).onERC1155BatchReceived(msg.sender, address(0), ids, amounts, data) ==
                    ERC1155TokenReceiver.onERC1155BatchReceived.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _batchBurn(
        address from,
        uint256[] memory ids,
        uint256[] memory amounts
    ) internal {
        uint256 idsLength = ids.length; // Saves MLOADs.

        require(idsLength == amounts.length, "LENGTH_MISMATCH");

        for (uint256 i = 0; i < idsLength; ) {
            balanceOf[from][ids[i]] -= amounts[i];

            // An array can't have a total length
            // larger than the max uint256 value.
            unchecked {
                i++;
            }
        }

        emit TransferBatch(msg.sender, from, address(0), ids, amounts);
    }

    function _burn(
        address from,
        uint256 id,
        uint256 amount
    ) internal {
        balanceOf[from][id] -= amount;

        emit TransferSingle(msg.sender, from, address(0), id, amount);
    }
}

/// @notice A generic interface for a contract which properly accepts ERC1155 tokens.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC1155.sol)
interface ERC1155TokenReceiver {
    function onERC1155Received(
        address operator,
        address from,
        uint256 id,
        uint256 amount,
        bytes calldata data
    ) external returns (bytes4);

    function onERC1155BatchReceived(
        address operator,
        address from,
        uint256[] calldata ids,
        uint256[] calldata amounts,
        bytes calldata data
    ) external returns (bytes4);
}

File 4 of 4 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"maxSupply","type":"uint256"},{"internalType":"uint256","name":"mintFee","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"IncorrectAmount","type":"error"},{"inputs":[],"name":"MaxMinted","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[],"stateMutability":"payable","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c06040526040518060400160405280600881526020017f5a484e59545349410000000000000000000000000000000000000000000000008152506003908051906020019062000051929190620001d9565b506040518060400160405280600881526020017f5a484e5954534941000000000000000000000000000000000000000000000000815250600490805190602001906200009f929190620001d9565b50348015620000ad57600080fd5b50604051620029f2380380620029f28339818101604052810190620000d39190620002c9565b620000f3620000e76200010b60201b60201c565b6200011360201b60201c565b81608081815250508060a08181525050505062000375565b600033905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001e7906200033f565b90600052602060002090601f0160209004810192826200020b576000855562000257565b82601f106200022657805160ff191683800117855562000257565b8280016001018555821562000257579182015b828111156200025657825182559160200191906001019062000239565b5b5090506200026691906200026a565b5090565b5b80821115620002855760008160009055506001016200026b565b5090565b600080fd5b6000819050919050565b620002a3816200028e565b8114620002af57600080fd5b50565b600081519050620002c38162000298565b92915050565b60008060408385031215620002e357620002e262000289565b5b6000620002f385828601620002b2565b92505060206200030685828601620002b2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035857607f821691505b602082108114156200036f576200036e62000310565b5b50919050565b60805160a051612649620003a9600039600081816105850152610f0b0152600081816105de0152610ac301526126496000f3fe6080604052600436106101085760003560e01c80634e1273f411610095578063a22cb46511610064578063a22cb46514610339578063d7bf81a314610362578063e985e9c51461038d578063f242432a146103ca578063f2fde38b146103f357610108565b80634e1273f41461028f578063715018a6146102cc5780638da5cb5b146102e357806395d89b411461030e57610108565b80631249c58b116100dc5780631249c58b146101ef57806318160ddd146101f95780632eb2c2d61461022457806332cb6b0c1461024d5780633ccfd60b1461027857610108565b8062fdd58e1461010d57806301ffc9a71461014a57806306fdde03146101875780630e89341c146101b2575b600080fd5b34801561011957600080fd5b50610134600480360381019061012f91906117c6565b61041c565b6040516101419190611815565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611888565b610441565b60405161017e91906118d0565b60405180910390f35b34801561019357600080fd5b5061019c6104d3565b6040516101a99190611984565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d491906119a6565b610561565b6040516101e69190611984565b60405180910390f35b6101f7610583565b005b34801561020557600080fd5b5061020e610668565b60405161021b9190611815565b60405180910390f35b34801561023057600080fd5b5061024b60048036038101906102469190611bd0565b61066e565b005b34801561025957600080fd5b50610262610ac1565b60405161026f9190611815565b60405180910390f35b34801561028457600080fd5b5061028d610ae5565b005b34801561029b57600080fd5b506102b660048036038101906102b19190611d62565b610b72565b6040516102c39190611e98565b60405180910390f35b3480156102d857600080fd5b506102e1610ccc565b005b3480156102ef57600080fd5b506102f8610d54565b6040516103059190611ec9565b60405180910390f35b34801561031a57600080fd5b50610323610d7e565b6040516103309190611984565b60405180910390f35b34801561034557600080fd5b50610360600480360381019061035b9190611f10565b610e0c565b005b34801561036e57600080fd5b50610377610f09565b6040516103849190611815565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af9190611f50565b610f2d565b6040516103c191906118d0565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611f90565b610f5c565b005b3480156103ff57600080fd5b5061041a60048036038101906104159190612027565b61130c565b005b6000602052816000526040600020602052806000526040600020600091509150505481565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061049c575063d9b67a2660e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104cc5750630e89341c60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600380546104e090612083565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612083565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b505050505081565b60606040518060600160405280603581526020016125df603591399050919050565b7f000000000000000000000000000000000000000000000000000000000000000034146105dc576040517f69640e7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006005541415610638576040517fc109f51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600081548092919060010191905055506106663360018060405180602001604052806000815250611404565b565b60055481565b600083519050825181146106b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ae90612101565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107775750600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad9061216d565b60405180910390fd5b60005b818110156108da5760008582815181106107d6576107d561218d565b5b6020026020010151905060008583815181106107f5576107f461218d565b5b60200260200101519050806000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082825461085e91906121eb565b92505081905550806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060008282546108c4919061221f565b92505081905550828060010193505050506107b9565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610951929190612275565b60405180910390a460008573ffffffffffffffffffffffffffffffffffffffff163b14610a485763bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168573ffffffffffffffffffffffffffffffffffffffff1663bc197c8133898888886040518663ffffffff1660e01b81526004016109e0959493929190612301565b6020604051808303816000875af11580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a23919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610a7a565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab0906123f7565b60405180910390fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000733ae285b8f6adcf9c728d0b761948e25dd065610e73ffffffffffffffffffffffffffffffffffffffff1647604051610b1f90612448565b60006040518083038185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b5050905080610b6f57600080fd5b50565b606060008351905082518114610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490612101565b60405180910390fd5b835167ffffffffffffffff811115610bd857610bd76119d8565b5b604051908082528060200260200182016040528015610c065781602001602082028036833780820191505090505b50915060005b81811015610cc457600080868381518110610c2a57610c2961218d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610c8157610c8061218d565b5b6020026020010151815260200190815260200160002054838281518110610cab57610caa61218d565b5b6020026020010181815250508080600101915050610c0c565b505092915050565b610cd4611650565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610d54565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f906124a9565b60405180910390fd5b610d526000611658565b565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60048054610d8b90612083565b80601f0160208091040260200160405190810160405280929190818152602001828054610db790612083565b8015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b505050505081565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610efd91906118d0565b60405180910390a35050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061101c5750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61105b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110529061216d565b60405180910390fd5b816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008282546110ba91906121eb565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206000828254611120919061221f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62868660405161119d9291906124c9565b60405180910390a460008473ffffffffffffffffffffffffffffffffffffffff163b146112945763f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e6133888787876040518663ffffffff1660e01b815260040161122c9594939291906124f2565b6020604051808303816000875af115801561124b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126f919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146112c6565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc906123f7565b60405180910390fd5b5050505050565b611314611650565b73ffffffffffffffffffffffffffffffffffffffff16611332610d54565b73ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f906124a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef906125be565b60405180910390fd5b61140181611658565b50565b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206000828254611463919061221f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6286866040516114e19291906124c9565b60405180910390a460008473ffffffffffffffffffffffffffffffffffffffff163b146115d95763f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e613360008787876040518663ffffffff1660e01b81526004016115719594939291906124f2565b6020604051808303816000875af1158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b4919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461160b565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b61164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906123f7565b60405180910390fd5b50505050565b600033905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175d82611732565b9050919050565b61176d81611752565b811461177857600080fd5b50565b60008135905061178a81611764565b92915050565b6000819050919050565b6117a381611790565b81146117ae57600080fd5b50565b6000813590506117c08161179a565b92915050565b600080604083850312156117dd576117dc611728565b5b60006117eb8582860161177b565b92505060206117fc858286016117b1565b9150509250929050565b61180f81611790565b82525050565b600060208201905061182a6000830184611806565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61186581611830565b811461187057600080fd5b50565b6000813590506118828161185c565b92915050565b60006020828403121561189e5761189d611728565b5b60006118ac84828501611873565b91505092915050565b60008115159050919050565b6118ca816118b5565b82525050565b60006020820190506118e560008301846118c1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561192557808201518184015260208101905061190a565b83811115611934576000848401525b50505050565b6000601f19601f8301169050919050565b6000611956826118eb565b61196081856118f6565b9350611970818560208601611907565b6119798161193a565b840191505092915050565b6000602082019050818103600083015261199e818461194b565b905092915050565b6000602082840312156119bc576119bb611728565b5b60006119ca848285016117b1565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611a108261193a565b810181811067ffffffffffffffff82111715611a2f57611a2e6119d8565b5b80604052505050565b6000611a4261171e565b9050611a4e8282611a07565b919050565b600067ffffffffffffffff821115611a6e57611a6d6119d8565b5b602082029050602081019050919050565b600080fd5b6000611a97611a9284611a53565b611a38565b90508083825260208201905060208402830185811115611aba57611ab9611a7f565b5b835b81811015611ae35780611acf88826117b1565b845260208401935050602081019050611abc565b5050509392505050565b600082601f830112611b0257611b016119d3565b5b8135611b12848260208601611a84565b91505092915050565b600080fd5b600067ffffffffffffffff821115611b3b57611b3a6119d8565b5b611b448261193a565b9050602081019050919050565b82818337600083830152505050565b6000611b73611b6e84611b20565b611a38565b905082815260208101848484011115611b8f57611b8e611b1b565b5b611b9a848285611b51565b509392505050565b600082601f830112611bb757611bb66119d3565b5b8135611bc7848260208601611b60565b91505092915050565b600080600080600060a08688031215611bec57611beb611728565b5b6000611bfa8882890161177b565b9550506020611c0b8882890161177b565b945050604086013567ffffffffffffffff811115611c2c57611c2b61172d565b5b611c3888828901611aed565b935050606086013567ffffffffffffffff811115611c5957611c5861172d565b5b611c6588828901611aed565b925050608086013567ffffffffffffffff811115611c8657611c8561172d565b5b611c9288828901611ba2565b9150509295509295909350565b600067ffffffffffffffff821115611cba57611cb96119d8565b5b602082029050602081019050919050565b6000611cde611cd984611c9f565b611a38565b90508083825260208201905060208402830185811115611d0157611d00611a7f565b5b835b81811015611d2a5780611d16888261177b565b845260208401935050602081019050611d03565b5050509392505050565b600082601f830112611d4957611d486119d3565b5b8135611d59848260208601611ccb565b91505092915050565b60008060408385031215611d7957611d78611728565b5b600083013567ffffffffffffffff811115611d9757611d9661172d565b5b611da385828601611d34565b925050602083013567ffffffffffffffff811115611dc457611dc361172d565b5b611dd085828601611aed565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611e0f81611790565b82525050565b6000611e218383611e06565b60208301905092915050565b6000602082019050919050565b6000611e4582611dda565b611e4f8185611de5565b9350611e5a83611df6565b8060005b83811015611e8b578151611e728882611e15565b9750611e7d83611e2d565b925050600181019050611e5e565b5085935050505092915050565b60006020820190508181036000830152611eb28184611e3a565b905092915050565b611ec381611752565b82525050565b6000602082019050611ede6000830184611eba565b92915050565b611eed816118b5565b8114611ef857600080fd5b50565b600081359050611f0a81611ee4565b92915050565b60008060408385031215611f2757611f26611728565b5b6000611f358582860161177b565b9250506020611f4685828601611efb565b9150509250929050565b60008060408385031215611f6757611f66611728565b5b6000611f758582860161177b565b9250506020611f868582860161177b565b9150509250929050565b600080600080600060a08688031215611fac57611fab611728565b5b6000611fba8882890161177b565b9550506020611fcb8882890161177b565b9450506040611fdc888289016117b1565b9350506060611fed888289016117b1565b925050608086013567ffffffffffffffff81111561200e5761200d61172d565b5b61201a88828901611ba2565b9150509295509295909350565b60006020828403121561203d5761203c611728565b5b600061204b8482850161177b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061209b57607f821691505b602082108114156120af576120ae612054565b5b50919050565b7f4c454e4754485f4d49534d415443480000000000000000000000000000000000600082015250565b60006120eb600f836118f6565b91506120f6826120b5565b602082019050919050565b6000602082019050818103600083015261211a816120de565b9050919050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b6000612157600e836118f6565b915061216282612121565b602082019050919050565b600060208201905081810360008301526121868161214a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f682611790565b915061220183611790565b925082821015612214576122136121bc565b5b828203905092915050565b600061222a82611790565b915061223583611790565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561226a576122696121bc565b5b828201905092915050565b6000604082019050818103600083015261228f8185611e3a565b905081810360208301526122a38184611e3a565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006122d3826122ac565b6122dd81856122b7565b93506122ed818560208601611907565b6122f68161193a565b840191505092915050565b600060a0820190506123166000830188611eba565b6123236020830187611eba565b81810360408301526123358186611e3a565b905081810360608301526123498185611e3a565b9050818103608083015261235d81846122c8565b90509695505050505050565b6000815190506123788161185c565b92915050565b60006020828403121561239457612393611728565b5b60006123a284828501612369565b91505092915050565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b60006123e16010836118f6565b91506123ec826123ab565b602082019050919050565b60006020820190508181036000830152612410816123d4565b9050919050565b600081905092915050565b50565b6000612432600083612417565b915061243d82612422565b600082019050919050565b600061245382612425565b9150819050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124936020836118f6565b915061249e8261245d565b602082019050919050565b600060208201905081810360008301526124c281612486565b9050919050565b60006040820190506124de6000830185611806565b6124eb6020830184611806565b9392505050565b600060a0820190506125076000830188611eba565b6125146020830187611eba565b6125216040830186611806565b61252e6060830185611806565b818103608083015261254081846122c8565b90509695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125a86026836118f6565b91506125b38261254c565b604082019050919050565b600060208201905081810360008301526125d78161259b565b905091905056fe697066733a2f2f516d6168457246465434765854534269657343554c76714b7468565259344469357a6f6b38776357786d487a5a68a26469706673582212201c91be6474e40e5de31033016800bbe4c11843bdca4169471be37fe09a150bab64736f6c634300080c003300000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000b1a2bc2ec50000

Deployed Bytecode

0x6080604052600436106101085760003560e01c80634e1273f411610095578063a22cb46511610064578063a22cb46514610339578063d7bf81a314610362578063e985e9c51461038d578063f242432a146103ca578063f2fde38b146103f357610108565b80634e1273f41461028f578063715018a6146102cc5780638da5cb5b146102e357806395d89b411461030e57610108565b80631249c58b116100dc5780631249c58b146101ef57806318160ddd146101f95780632eb2c2d61461022457806332cb6b0c1461024d5780633ccfd60b1461027857610108565b8062fdd58e1461010d57806301ffc9a71461014a57806306fdde03146101875780630e89341c146101b2575b600080fd5b34801561011957600080fd5b50610134600480360381019061012f91906117c6565b61041c565b6040516101419190611815565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611888565b610441565b60405161017e91906118d0565b60405180910390f35b34801561019357600080fd5b5061019c6104d3565b6040516101a99190611984565b60405180910390f35b3480156101be57600080fd5b506101d960048036038101906101d491906119a6565b610561565b6040516101e69190611984565b60405180910390f35b6101f7610583565b005b34801561020557600080fd5b5061020e610668565b60405161021b9190611815565b60405180910390f35b34801561023057600080fd5b5061024b60048036038101906102469190611bd0565b61066e565b005b34801561025957600080fd5b50610262610ac1565b60405161026f9190611815565b60405180910390f35b34801561028457600080fd5b5061028d610ae5565b005b34801561029b57600080fd5b506102b660048036038101906102b19190611d62565b610b72565b6040516102c39190611e98565b60405180910390f35b3480156102d857600080fd5b506102e1610ccc565b005b3480156102ef57600080fd5b506102f8610d54565b6040516103059190611ec9565b60405180910390f35b34801561031a57600080fd5b50610323610d7e565b6040516103309190611984565b60405180910390f35b34801561034557600080fd5b50610360600480360381019061035b9190611f10565b610e0c565b005b34801561036e57600080fd5b50610377610f09565b6040516103849190611815565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af9190611f50565b610f2d565b6040516103c191906118d0565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611f90565b610f5c565b005b3480156103ff57600080fd5b5061041a60048036038101906104159190612027565b61130c565b005b6000602052816000526040600020602052806000526040600020600091509150505481565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061049c575063d9b67a2660e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104cc5750630e89341c60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600380546104e090612083565b80601f016020809104026020016040519081016040528092919081815260200182805461050c90612083565b80156105595780601f1061052e57610100808354040283529160200191610559565b820191906000526020600020905b81548152906001019060200180831161053c57829003601f168201915b505050505081565b60606040518060600160405280603581526020016125df603591399050919050565b7f00000000000000000000000000000000000000000000000000b1a2bc2ec5000034146105dc576040517f69640e7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000003e86005541415610638576040517fc109f51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600081548092919060010191905055506106663360018060405180602001604052806000815250611404565b565b60055481565b600083519050825181146106b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ae90612101565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107775750600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6107b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ad9061216d565b60405180910390fd5b60005b818110156108da5760008582815181106107d6576107d561218d565b5b6020026020010151905060008583815181106107f5576107f461218d565b5b60200260200101519050806000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020600082825461085e91906121eb565b92505081905550806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060008282546108c4919061221f565b92505081905550828060010193505050506107b9565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610951929190612275565b60405180910390a460008573ffffffffffffffffffffffffffffffffffffffff163b14610a485763bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168573ffffffffffffffffffffffffffffffffffffffff1663bc197c8133898888886040518663ffffffff1660e01b81526004016109e0959493929190612301565b6020604051808303816000875af11580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a23919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610a7a565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab0906123f7565b60405180910390fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000003e881565b6000733ae285b8f6adcf9c728d0b761948e25dd065610e73ffffffffffffffffffffffffffffffffffffffff1647604051610b1f90612448565b60006040518083038185875af1925050503d8060008114610b5c576040519150601f19603f3d011682016040523d82523d6000602084013e610b61565b606091505b5050905080610b6f57600080fd5b50565b606060008351905082518114610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490612101565b60405180910390fd5b835167ffffffffffffffff811115610bd857610bd76119d8565b5b604051908082528060200260200182016040528015610c065781602001602082028036833780820191505090505b50915060005b81811015610cc457600080868381518110610c2a57610c2961218d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610c8157610c8061218d565b5b6020026020010151815260200190815260200160002054838281518110610cab57610caa61218d565b5b6020026020010181815250508080600101915050610c0c565b505092915050565b610cd4611650565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610d54565b73ffffffffffffffffffffffffffffffffffffffff1614610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f906124a9565b60405180910390fd5b610d526000611658565b565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60048054610d8b90612083565b80601f0160208091040260200160405190810160405280929190818152602001828054610db790612083565b8015610e045780601f10610dd957610100808354040283529160200191610e04565b820191906000526020600020905b815481529060010190602001808311610de757829003601f168201915b505050505081565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610efd91906118d0565b60405180910390a35050565b7f00000000000000000000000000000000000000000000000000b1a2bc2ec5000081565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061101c5750600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61105b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110529061216d565b60405180910390fd5b816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002060008282546110ba91906121eb565b92505081905550816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206000828254611120919061221f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62868660405161119d9291906124c9565b60405180910390a460008473ffffffffffffffffffffffffffffffffffffffff163b146112945763f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e6133888787876040518663ffffffff1660e01b815260040161122c9594939291906124f2565b6020604051808303816000875af115801561124b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126f919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146112c6565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc906123f7565b60405180910390fd5b5050505050565b611314611650565b73ffffffffffffffffffffffffffffffffffffffff16611332610d54565b73ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f906124a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef906125be565b60405180910390fd5b61140181611658565b50565b816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000206000828254611463919061221f565b925050819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6286866040516114e19291906124c9565b60405180910390a460008473ffffffffffffffffffffffffffffffffffffffff163b146115d95763f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663f23a6e613360008787876040518663ffffffff1660e01b81526004016115719594939291906124f2565b6020604051808303816000875af1158015611590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b4919061237e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461160b565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b61164a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611641906123f7565b60405180910390fd5b50505050565b600033905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175d82611732565b9050919050565b61176d81611752565b811461177857600080fd5b50565b60008135905061178a81611764565b92915050565b6000819050919050565b6117a381611790565b81146117ae57600080fd5b50565b6000813590506117c08161179a565b92915050565b600080604083850312156117dd576117dc611728565b5b60006117eb8582860161177b565b92505060206117fc858286016117b1565b9150509250929050565b61180f81611790565b82525050565b600060208201905061182a6000830184611806565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61186581611830565b811461187057600080fd5b50565b6000813590506118828161185c565b92915050565b60006020828403121561189e5761189d611728565b5b60006118ac84828501611873565b91505092915050565b60008115159050919050565b6118ca816118b5565b82525050565b60006020820190506118e560008301846118c1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561192557808201518184015260208101905061190a565b83811115611934576000848401525b50505050565b6000601f19601f8301169050919050565b6000611956826118eb565b61196081856118f6565b9350611970818560208601611907565b6119798161193a565b840191505092915050565b6000602082019050818103600083015261199e818461194b565b905092915050565b6000602082840312156119bc576119bb611728565b5b60006119ca848285016117b1565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611a108261193a565b810181811067ffffffffffffffff82111715611a2f57611a2e6119d8565b5b80604052505050565b6000611a4261171e565b9050611a4e8282611a07565b919050565b600067ffffffffffffffff821115611a6e57611a6d6119d8565b5b602082029050602081019050919050565b600080fd5b6000611a97611a9284611a53565b611a38565b90508083825260208201905060208402830185811115611aba57611ab9611a7f565b5b835b81811015611ae35780611acf88826117b1565b845260208401935050602081019050611abc565b5050509392505050565b600082601f830112611b0257611b016119d3565b5b8135611b12848260208601611a84565b91505092915050565b600080fd5b600067ffffffffffffffff821115611b3b57611b3a6119d8565b5b611b448261193a565b9050602081019050919050565b82818337600083830152505050565b6000611b73611b6e84611b20565b611a38565b905082815260208101848484011115611b8f57611b8e611b1b565b5b611b9a848285611b51565b509392505050565b600082601f830112611bb757611bb66119d3565b5b8135611bc7848260208601611b60565b91505092915050565b600080600080600060a08688031215611bec57611beb611728565b5b6000611bfa8882890161177b565b9550506020611c0b8882890161177b565b945050604086013567ffffffffffffffff811115611c2c57611c2b61172d565b5b611c3888828901611aed565b935050606086013567ffffffffffffffff811115611c5957611c5861172d565b5b611c6588828901611aed565b925050608086013567ffffffffffffffff811115611c8657611c8561172d565b5b611c9288828901611ba2565b9150509295509295909350565b600067ffffffffffffffff821115611cba57611cb96119d8565b5b602082029050602081019050919050565b6000611cde611cd984611c9f565b611a38565b90508083825260208201905060208402830185811115611d0157611d00611a7f565b5b835b81811015611d2a5780611d16888261177b565b845260208401935050602081019050611d03565b5050509392505050565b600082601f830112611d4957611d486119d3565b5b8135611d59848260208601611ccb565b91505092915050565b60008060408385031215611d7957611d78611728565b5b600083013567ffffffffffffffff811115611d9757611d9661172d565b5b611da385828601611d34565b925050602083013567ffffffffffffffff811115611dc457611dc361172d565b5b611dd085828601611aed565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611e0f81611790565b82525050565b6000611e218383611e06565b60208301905092915050565b6000602082019050919050565b6000611e4582611dda565b611e4f8185611de5565b9350611e5a83611df6565b8060005b83811015611e8b578151611e728882611e15565b9750611e7d83611e2d565b925050600181019050611e5e565b5085935050505092915050565b60006020820190508181036000830152611eb28184611e3a565b905092915050565b611ec381611752565b82525050565b6000602082019050611ede6000830184611eba565b92915050565b611eed816118b5565b8114611ef857600080fd5b50565b600081359050611f0a81611ee4565b92915050565b60008060408385031215611f2757611f26611728565b5b6000611f358582860161177b565b9250506020611f4685828601611efb565b9150509250929050565b60008060408385031215611f6757611f66611728565b5b6000611f758582860161177b565b9250506020611f868582860161177b565b9150509250929050565b600080600080600060a08688031215611fac57611fab611728565b5b6000611fba8882890161177b565b9550506020611fcb8882890161177b565b9450506040611fdc888289016117b1565b9350506060611fed888289016117b1565b925050608086013567ffffffffffffffff81111561200e5761200d61172d565b5b61201a88828901611ba2565b9150509295509295909350565b60006020828403121561203d5761203c611728565b5b600061204b8482850161177b565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061209b57607f821691505b602082108114156120af576120ae612054565b5b50919050565b7f4c454e4754485f4d49534d415443480000000000000000000000000000000000600082015250565b60006120eb600f836118f6565b91506120f6826120b5565b602082019050919050565b6000602082019050818103600083015261211a816120de565b9050919050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b6000612157600e836118f6565b915061216282612121565b602082019050919050565b600060208201905081810360008301526121868161214a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121f682611790565b915061220183611790565b925082821015612214576122136121bc565b5b828203905092915050565b600061222a82611790565b915061223583611790565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561226a576122696121bc565b5b828201905092915050565b6000604082019050818103600083015261228f8185611e3a565b905081810360208301526122a38184611e3a565b90509392505050565b600081519050919050565b600082825260208201905092915050565b60006122d3826122ac565b6122dd81856122b7565b93506122ed818560208601611907565b6122f68161193a565b840191505092915050565b600060a0820190506123166000830188611eba565b6123236020830187611eba565b81810360408301526123358186611e3a565b905081810360608301526123498185611e3a565b9050818103608083015261235d81846122c8565b90509695505050505050565b6000815190506123788161185c565b92915050565b60006020828403121561239457612393611728565b5b60006123a284828501612369565b91505092915050565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b60006123e16010836118f6565b91506123ec826123ab565b602082019050919050565b60006020820190508181036000830152612410816123d4565b9050919050565b600081905092915050565b50565b6000612432600083612417565b915061243d82612422565b600082019050919050565b600061245382612425565b9150819050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124936020836118f6565b915061249e8261245d565b602082019050919050565b600060208201905081810360008301526124c281612486565b9050919050565b60006040820190506124de6000830185611806565b6124eb6020830184611806565b9392505050565b600060a0820190506125076000830188611eba565b6125146020830187611eba565b6125216040830186611806565b61252e6060830185611806565b818103608083015261254081846122c8565b90509695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125a86026836118f6565b91506125b38261254c565b604082019050919050565b600060208201905081810360008301526125d78161259b565b905091905056fe697066733a2f2f516d6168457246465434765854534269657343554c76714b7468565259344469357a6f6b38776357786d487a5a68a26469706673582212201c91be6474e40e5de31033016800bbe4c11843bdca4169471be37fe09a150bab64736f6c634300080c0033

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

00000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000b1a2bc2ec50000

-----Decoded View---------------
Arg [0] : maxSupply (uint256): 1000
Arg [1] : mintFee (uint256): 50000000000000000

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [1] : 00000000000000000000000000000000000000000000000000b1a2bc2ec50000


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.