ETH Price: $2,444.51 (+1.79%)
Gas: 8.4 Gwei

Contract

0xDb042927c36791Bd500698c7d1bD81b6864229b5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer From208806352024-10-02 21:54:359 days ago1727906075IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000480858.82870653
Set Approval For...208769482024-10-02 9:34:2310 days ago1727861663IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000267595.81241511
Set Approval For...208767482024-10-02 8:54:2310 days ago1727859263IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000373558.11416088
Set Approval For...208081142024-09-22 19:08:5919 days ago1727032139IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000248179.4947905
Set Approval For...208081122024-09-22 19:08:3519 days ago1727032115IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.0004708310.22707086
Safe Transfer Fr...208070662024-09-22 15:38:4719 days ago1727019527IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.0007065412.35006459
Set Approval For...207836162024-09-19 9:02:3523 days ago1726736555IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.0008957719.45733299
Set Approval For...207764752024-09-18 9:06:3524 days ago1726650395IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000271645.9003565
Set Approval For...206894952024-09-06 5:34:3536 days ago1725600875IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000046211.003913
Set Approval For...206626282024-09-02 11:36:3539 days ago1725276995IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000139783.03627043
Set Approval For...206287282024-08-28 17:58:3544 days ago1724867915IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000259435.63527388
Set Approval For...205847822024-08-22 14:36:3550 days ago1724337395IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000096712.10073526
Set Approval For...205831602024-08-22 9:10:1151 days ago1724317811IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000021730.9
Safe Transfer Fr...205670462024-08-20 3:06:5953 days ago1724123219IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000114292
Transfer From205633932024-08-19 14:52:5953 days ago1724079179IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000159272.68747278
Set Approval For...205480112024-08-17 11:21:2355 days ago1723893683IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000024211
Set Approval For...205060862024-08-11 14:52:2361 days ago1723387943IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.00002651.09751581
Set Approval For...205053642024-08-11 12:27:1161 days ago1723379231IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000046631.93290635
Set Approval For...205053632024-08-11 12:26:5961 days ago1723379219IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000047511.96255493
Set Approval For...205053622024-08-11 12:26:4761 days ago1723379207IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000047951.98088409
Set Approval For...205053612024-08-11 12:26:3561 days ago1723379195IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000046911.94258325
Set Approval For...205053602024-08-11 12:26:2361 days ago1723379183IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000047441.95974662
Set Approval For...205053592024-08-11 12:26:1161 days ago1723379171IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000047631.96775015
Set Approval For...204885102024-08-09 3:59:4764 days ago1723175987IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.000031091.2875613
Set Approval For...204393472024-08-02 7:23:1171 days ago1722583391IN
Elfiverse NFT Collecetion: ELF Token
0 ETH0.00014953.24748511
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ElfNFT

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
Yes with 7500 runs

Other Settings:
default evmVersion
File 1 of 4 : ElfNFT.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

import "@rari-capital/solmate/src/tokens/ERC721.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
import "./Authorizable.sol";

contract ElfNFT is ERC721, Authorizable {
    using Strings for uint256;

    string public baseURI;

    uint256 public count;

    /// @notice constructor
    /// @param _name the name of the NFT
    /// @param _symbol the symbol of the NFT
    constructor(
        string memory _name,
        string memory _symbol,
        address _owner,
        string memory _baseURI
    ) ERC721(_name, _symbol) {
        setOwner(_owner);
        // don't use setBaseURI since deployer isn't authorized yet
        baseURI = _baseURI;
    }

    /// @notice retrieves the tokenURI, which will be a concatenation of the
    /// 'baseURI' and the 'tokenId'
    /// @param tokenId an identifier for the token
    function tokenURI(uint256 tokenId)
        public
        view
        override
        returns (string memory)
    {
        return
            bytes(baseURI).length > 0
                ? string(abi.encodePacked(baseURI, "/", tokenId.toString()))
                : "";
    }

    function setBaseURI(string memory _baseURI) public onlyAuthorized {
        baseURI = _baseURI;
    }

    function mint(address to, uint256 tokenId) public onlyOwner {
        _mint(to, tokenId);
        count++;
    }
}

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

/// @notice Modern, minimalist, and gas efficient ERC-721 implementation.
/// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/tokens/ERC721.sol)
/// @dev Note that balanceOf does not revert if passed the zero address, in defiance of the ERC.
abstract contract ERC721 {
    /*///////////////////////////////////////////////////////////////
                                 EVENTS
    //////////////////////////////////////////////////////////////*/

    event Transfer(address indexed from, address indexed to, uint256 indexed id);

    event Approval(address indexed owner, address indexed spender, uint256 indexed id);

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

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

    string public name;

    string public symbol;

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

    /*///////////////////////////////////////////////////////////////
                            ERC721 STORAGE                        
    //////////////////////////////////////////////////////////////*/

    mapping(address => uint256) public balanceOf;

    mapping(uint256 => address) public ownerOf;

    mapping(uint256 => address) public getApproved;

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

    /*///////////////////////////////////////////////////////////////
                              CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(string memory _name, string memory _symbol) {
        name = _name;
        symbol = _symbol;
    }

    /*///////////////////////////////////////////////////////////////
                              ERC721 LOGIC
    //////////////////////////////////////////////////////////////*/

    function approve(address spender, uint256 id) public virtual {
        address owner = ownerOf[id];

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

        getApproved[id] = spender;

        emit Approval(owner, spender, id);
    }

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

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

    function transferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        require(from == ownerOf[id], "WRONG_FROM");

        require(to != address(0), "INVALID_RECIPIENT");

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

        // Underflow of the sender's balance is impossible because we check for
        // ownership above and the recipient's balance can't realistically overflow.
        unchecked {
            balanceOf[from]--;

            balanceOf[to]++;
        }

        ownerOf[id] = to;

        delete getApproved[id];

        emit Transfer(from, to, id);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes memory data
    ) public virtual {
        transferFrom(from, to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, from, id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

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

    function supportsInterface(bytes4 interfaceId) public pure virtual returns (bool) {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f; // ERC165 Interface ID for ERC721Metadata
    }

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

    function _mint(address to, uint256 id) internal virtual {
        require(to != address(0), "INVALID_RECIPIENT");

        require(ownerOf[id] == address(0), "ALREADY_MINTED");

        // Counter overflow is incredibly unrealistic.
        unchecked {
            balanceOf[to]++;
        }

        ownerOf[id] = to;

        emit Transfer(address(0), to, id);
    }

    function _burn(uint256 id) internal virtual {
        address owner = ownerOf[id];

        require(ownerOf[id] != address(0), "NOT_MINTED");

        // Ownership check above ensures no underflow.
        unchecked {
            balanceOf[owner]--;
        }

        delete ownerOf[id];

        delete getApproved[id];

        emit Transfer(owner, address(0), id);
    }

    /*///////////////////////////////////////////////////////////////
                       INTERNAL SAFE MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    function _safeMint(address to, uint256 id) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, "") ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }

    function _safeMint(
        address to,
        uint256 id,
        bytes memory data
    ) internal virtual {
        _mint(to, id);

        require(
            to.code.length == 0 ||
                ERC721TokenReceiver(to).onERC721Received(msg.sender, address(0), id, data) ==
                ERC721TokenReceiver.onERC721Received.selector,
            "UNSAFE_RECIPIENT"
        );
    }
}

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

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

pragma solidity ^0.8.0;

/**
 * @dev String operations.
 */
library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    /**
     * @dev Converts a `uint256` to its ASCII `string` decimal representation.
     */
    function toString(uint256 value) internal pure returns (string memory) {
        // Inspired by OraclizeAPI's implementation - MIT licence
        // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    /**
     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.
     */
    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    /**
     * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
     */
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

File 4 of 4 : Authorizable.sol
// SPDX-License-Identifier: Apache-2.0
pragma solidity >=0.8.0;

contract Authorizable {
    // This contract allows a flexible authorization scheme

    // The owner who can change authorization status
    address public owner;
    // A mapping from an address to its authorization status
    mapping(address => bool) public authorized;

    /// @dev We set the deployer to the owner
    constructor() {
        owner = msg.sender;
    }

    /// @dev This modifier checks if the msg.sender is the owner
    modifier onlyOwner() {
        require(msg.sender == owner, "Sender not owner");
        _;
    }

    /// @dev This modifier checks if an address is authorized
    modifier onlyAuthorized() {
        require(isAuthorized(msg.sender), "Sender not Authorized");
        _;
    }

    /// @dev Returns true if an address is authorized
    /// @param who the address to check
    /// @return true if authorized false if not
    function isAuthorized(address who) public view returns (bool) {
        return authorized[who];
    }

    /// @dev Privileged function authorize an address
    /// @param who the address to authorize
    function authorize(address who) external onlyOwner {
        _authorize(who);
    }

    /// @dev Privileged function to de authorize an address
    /// @param who The address to remove authorization from
    function deauthorize(address who) external onlyOwner {
        authorized[who] = false;
    }

    /// @dev Function to change owner
    /// @param who The new owner address
    function setOwner(address who) public onlyOwner {
        owner = who;
    }

    /// @dev Inheritable function which authorizes someone
    /// @param who the address to authorize
    function _authorize(address who) internal {
        authorized[who] = true;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"authorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"deauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"who","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mint","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":"uint256","name":"","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","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":"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":"string","name":"_baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"setOwner","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162001d3438038062001d34833981016040819052620000349162000270565b8351849084906200004d90600090602085019062000117565b5080516200006390600190602084019062000117565b5050600680546001600160a01b03191633179055506200008382620000a3565b80516200009890600890602084019062000117565b505050505062000371565b6006546001600160a01b03163314620000f55760405162461bcd60e51b815260206004820152601060248201526f29b2b73232b9103737ba1037bbb732b960811b604482015260640160405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b82805462000125906200031e565b90600052602060002090601f01602090048101928262000149576000855562000194565b82601f106200016457805160ff191683800117855562000194565b8280016001018555821562000194579182015b828111156200019457825182559160200191906001019062000177565b50620001a2929150620001a6565b5090565b5b80821115620001a25760008155600101620001a7565b600082601f830112620001ce578081fd5b81516001600160401b0380821115620001eb57620001eb6200035b565b604051601f8301601f19908116603f011681019082821181831017156200021657620002166200035b565b8160405283815260209250868385880101111562000232578485fd5b8491505b8382101562000255578582018301518183018401529082019062000236565b838211156200026657848385830101525b9695505050505050565b6000806000806080858703121562000286578384fd5b84516001600160401b03808211156200029d578586fd5b620002ab88838901620001bd565b95506020870151915080821115620002c1578485fd5b620002cf88838901620001bd565b604088015190955091506001600160a01b0382168214620002ee578384fd5b60608701519193508082111562000303578283fd5b506200031287828801620001bd565b91505092959194509250565b600181811c908216806200033357607f821691505b602082108114156200035557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6119b380620003816000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063b6a5d7de1161008c578063c87b56dd11610066578063c87b56dd146103aa578063e985e9c5146103bd578063fe9fbb80146103eb5761018d565b8063b6a5d7de14610361578063b88d4fde14610374578063b9181611146103875761018d565b80638da5cb5b116100bd5780638da5cb5b1461032657806395d89b4114610346578063a22cb4651461034e5761018d565b80636352211e146102c85780636c0360eb146102fe57806370a08231146103065761018d565b806313af40351161014557806340c10f191161011f57806340c10f191461028f57806342842e0e146102a257806355f804b3146102b55761018d565b806313af40351461025657806323b872dd1461026957806327c97fa51461027c5761018d565b806306fdde031161017657806306fdde03146101d1578063081812fc146101e6578063095ea7b3146102415761018d565b806301ffc9a71461019257806306661abd146101ba575b600080fd5b6101a56101a036600461156f565b610424565b60405190151581526020015b60405180910390f35b6101c360095481565b6040519081526020016101b1565b6101d961050b565b6040516101b1919061179f565b61021c6101f43660046115ed565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b61025461024f366004611546565b610599565b005b610254610264366004611405565b6106ce565b610254610277366004611458565b61077c565b61025461028a366004611405565b6109f5565b61025461029d366004611546565b610a8a565b6102546102b0366004611458565b610b14565b6102546102c33660046115a7565b610c73565b61021c6102d63660046115ed565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610ce9565b6101c3610314366004611405565b60026020526000908152604090205481565b60065461021c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610cf6565b61025461035c36600461150c565b610d03565b61025461036f366004611405565b610d7c565b610254610382366004611493565b610e1b565b6101a5610395366004611405565b60076020526000908152604090205460ff1681565b6101d96103b83660046115ed565b610f67565b6101a56103cb366004611426565b600560209081526000928352604080842090915290825290205460ff1681565b6101a56103f9366004611405565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806104b757507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061050357507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b90505b919050565b6000805461051890611821565b80601f016020809104026020016040519081016040528092919081815260200182805461054490611821565b80156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806105fc575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61064d5760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146107355760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff8481169116146107f25760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff82166108555760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610644565b3373ffffffffffffffffffffffffffffffffffffffff8416148061089c575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b806108d7575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b6109235760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526003825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610a5c5760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff166000908152600760205260409020805460ff19169055565b60065473ffffffffffffffffffffffffffffffffffffffff163314610af15760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b610afb8282610fc6565b60098054906000610b0b83611875565b91905055505050565b610b1f83838361077c565b73ffffffffffffffffffffffffffffffffffffffff82163b1580610c2257506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b158015610bc657600080fd5b505af1158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe919061158b565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610c6e5760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610644565b505050565b3360009081526007602052604090205460ff16610cd25760405162461bcd60e51b815260206004820152601560248201527f53656e646572206e6f7420417574686f72697a656400000000000000000000006044820152606401610644565b8051610ce59060089060208401906112b4565b5050565b6008805461051890611821565b6001805461051890611821565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610de35760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b610e188173ffffffffffffffffffffffffffffffffffffffff166000908152600760205260409020805460ff19166001179055565b50565b610e2684848461077c565b73ffffffffffffffffffffffffffffffffffffffff83163b1580610f1557506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610e9f903390899088908890600401611756565b602060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef1919061158b565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610f615760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610644565b50505050565b6060600060088054610f7890611821565b905011610f945760405180602001604052806000815250610503565b6008610f9f8361112b565b604051602001610fb092919061166b565b6040516020818303038152906040529050919050565b73ffffffffffffffffffffffffffffffffffffffff82166110295760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610644565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff161561109b5760405162461bcd60e51b815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604080832080546001019055848352600390915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608161116c575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610506565b8160005b8115611196578061118081611875565b915061118f9050600a836117ca565b9150611170565b60008167ffffffffffffffff8111156111d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611202576020820181803683370190505b5090505b84156112ac576112176001836117de565b9150611224600a866118ae565b61122f9060306117b2565b60f81b81838151811061126b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506112a5600a866117ca565b9450611206565b949350505050565b8280546112c090611821565b90600052602060002090601f0160209004810192826112e25760008555611328565b82601f106112fb57805160ff1916838001178555611328565b82800160010185558215611328579182015b8281111561132857825182559160200191906001019061130d565b50611334929150611338565b5090565b5b808211156113345760008155600101611339565b600067ffffffffffffffff8084111561136857611368611920565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156113ae576113ae611920565b816040528093508581528686860111156113c757600080fd5b858560208301376000602087830101525050509392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461050657600080fd5b600060208284031215611416578081fd5b61141f826113e1565b9392505050565b60008060408385031215611438578081fd5b611441836113e1565b915061144f602084016113e1565b90509250929050565b60008060006060848603121561146c578081fd5b611475846113e1565b9250611483602085016113e1565b9150604084013590509250925092565b600080600080608085870312156114a8578081fd5b6114b1856113e1565b93506114bf602086016113e1565b925060408501359150606085013567ffffffffffffffff8111156114e1578182fd5b8501601f810187136114f1578182fd5b6115008782356020840161134d565b91505092959194509250565b6000806040838503121561151e578182fd5b611527836113e1565b91506020830135801515811461153b578182fd5b809150509250929050565b60008060408385031215611558578182fd5b611561836113e1565b946020939093013593505050565b600060208284031215611580578081fd5b813561141f8161194f565b60006020828403121561159c578081fd5b815161141f8161194f565b6000602082840312156115b8578081fd5b813567ffffffffffffffff8111156115ce578182fd5b8201601f810184136115de578182fd5b6112ac8482356020840161134d565b6000602082840312156115fe578081fd5b5035919050565b6000815180845261161d8160208601602086016117f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081516116618185602086016117f5565b9290920192915050565b600080845482600182811c91508083168061168757607f831692505b60208084108214156116c0577f4e487b710000000000000000000000000000000000000000000000000000000087526022600452602487fd5b8180156116d457600181146116e557611711565b60ff19861689528489019650611711565b60008b815260209020885b868110156117095781548b8201529085019083016116f0565b505084890196505b50505050505061174d611747827f2f00000000000000000000000000000000000000000000000000000000000000815260010190565b8561164f565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526117956080830184611605565b9695505050505050565b60006020825261141f6020830184611605565b600082198211156117c5576117c56118c2565b500190565b6000826117d9576117d96118f1565b500490565b6000828210156117f0576117f06118c2565b500390565b60005b838110156118105781810151838201526020016117f8565b83811115610f615750506000910152565b600181811c9082168061183557607f821691505b6020821081141561186f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156118a7576118a76118c2565b5060010190565b6000826118bd576118bd6118f1565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1857600080fdfea264697066735822122041e55c3f749a53981ded5dad50f8909851f23646e4ca71559cca800305e4a1c664736f6c63430008030033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000422494292e7a9dda8778bb4ea05c2779a3d60f5d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000019456c66697665727365204e465420436f6c6c65636574696f6e000000000000000000000000000000000000000000000000000000000000000000000000000003454c460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001568747470733a2f2f697066732e696f2f697066732f0000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063b6a5d7de1161008c578063c87b56dd11610066578063c87b56dd146103aa578063e985e9c5146103bd578063fe9fbb80146103eb5761018d565b8063b6a5d7de14610361578063b88d4fde14610374578063b9181611146103875761018d565b80638da5cb5b116100bd5780638da5cb5b1461032657806395d89b4114610346578063a22cb4651461034e5761018d565b80636352211e146102c85780636c0360eb146102fe57806370a08231146103065761018d565b806313af40351161014557806340c10f191161011f57806340c10f191461028f57806342842e0e146102a257806355f804b3146102b55761018d565b806313af40351461025657806323b872dd1461026957806327c97fa51461027c5761018d565b806306fdde031161017657806306fdde03146101d1578063081812fc146101e6578063095ea7b3146102415761018d565b806301ffc9a71461019257806306661abd146101ba575b600080fd5b6101a56101a036600461156f565b610424565b60405190151581526020015b60405180910390f35b6101c360095481565b6040519081526020016101b1565b6101d961050b565b6040516101b1919061179f565b61021c6101f43660046115ed565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b1565b61025461024f366004611546565b610599565b005b610254610264366004611405565b6106ce565b610254610277366004611458565b61077c565b61025461028a366004611405565b6109f5565b61025461029d366004611546565b610a8a565b6102546102b0366004611458565b610b14565b6102546102c33660046115a7565b610c73565b61021c6102d63660046115ed565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610ce9565b6101c3610314366004611405565b60026020526000908152604090205481565b60065461021c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101d9610cf6565b61025461035c36600461150c565b610d03565b61025461036f366004611405565b610d7c565b610254610382366004611493565b610e1b565b6101a5610395366004611405565b60076020526000908152604090205460ff1681565b6101d96103b83660046115ed565b610f67565b6101a56103cb366004611426565b600560209081526000928352604080842090915290825290205460ff1681565b6101a56103f9366004611405565b73ffffffffffffffffffffffffffffffffffffffff1660009081526007602052604090205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806104b757507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061050357507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b90505b919050565b6000805461051890611821565b80601f016020809104026020016040519081016040528092919081815260200182805461054490611821565b80156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806105fc575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61064d5760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146107355760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff8481169116146107f25760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff82166108555760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610644565b3373ffffffffffffffffffffffffffffffffffffffff8416148061089c575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b806108d7575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b6109235760405162461bcd60e51b815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526003825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610a5c5760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff166000908152600760205260409020805460ff19169055565b60065473ffffffffffffffffffffffffffffffffffffffff163314610af15760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b610afb8282610fc6565b60098054906000610b0b83611875565b91905055505050565b610b1f83838361077c565b73ffffffffffffffffffffffffffffffffffffffff82163b1580610c2257506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a401602060405180830381600087803b158015610bc657600080fd5b505af1158015610bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfe919061158b565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610c6e5760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610644565b505050565b3360009081526007602052604090205460ff16610cd25760405162461bcd60e51b815260206004820152601560248201527f53656e646572206e6f7420417574686f72697a656400000000000000000000006044820152606401610644565b8051610ce59060089060208401906112b4565b5050565b6008805461051890611821565b6001805461051890611821565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610de35760405162461bcd60e51b815260206004820152601060248201527f53656e646572206e6f74206f776e6572000000000000000000000000000000006044820152606401610644565b610e188173ffffffffffffffffffffffffffffffffffffffff166000908152600760205260409020805460ff19166001179055565b50565b610e2684848461077c565b73ffffffffffffffffffffffffffffffffffffffff83163b1580610f1557506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610e9f903390899088908890600401611756565b602060405180830381600087803b158015610eb957600080fd5b505af1158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef1919061158b565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610f615760405162461bcd60e51b815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610644565b50505050565b6060600060088054610f7890611821565b905011610f945760405180602001604052806000815250610503565b6008610f9f8361112b565b604051602001610fb092919061166b565b6040516020818303038152906040529050919050565b73ffffffffffffffffffffffffffffffffffffffff82166110295760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610644565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff161561109b5760405162461bcd60e51b815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610644565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604080832080546001019055848352600390915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60608161116c575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610506565b8160005b8115611196578061118081611875565b915061118f9050600a836117ca565b9150611170565b60008167ffffffffffffffff8111156111d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611202576020820181803683370190505b5090505b84156112ac576112176001836117de565b9150611224600a866118ae565b61122f9060306117b2565b60f81b81838151811061126b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506112a5600a866117ca565b9450611206565b949350505050565b8280546112c090611821565b90600052602060002090601f0160209004810192826112e25760008555611328565b82601f106112fb57805160ff1916838001178555611328565b82800160010185558215611328579182015b8281111561132857825182559160200191906001019061130d565b50611334929150611338565b5090565b5b808211156113345760008155600101611339565b600067ffffffffffffffff8084111561136857611368611920565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156113ae576113ae611920565b816040528093508581528686860111156113c757600080fd5b858560208301376000602087830101525050509392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461050657600080fd5b600060208284031215611416578081fd5b61141f826113e1565b9392505050565b60008060408385031215611438578081fd5b611441836113e1565b915061144f602084016113e1565b90509250929050565b60008060006060848603121561146c578081fd5b611475846113e1565b9250611483602085016113e1565b9150604084013590509250925092565b600080600080608085870312156114a8578081fd5b6114b1856113e1565b93506114bf602086016113e1565b925060408501359150606085013567ffffffffffffffff8111156114e1578182fd5b8501601f810187136114f1578182fd5b6115008782356020840161134d565b91505092959194509250565b6000806040838503121561151e578182fd5b611527836113e1565b91506020830135801515811461153b578182fd5b809150509250929050565b60008060408385031215611558578182fd5b611561836113e1565b946020939093013593505050565b600060208284031215611580578081fd5b813561141f8161194f565b60006020828403121561159c578081fd5b815161141f8161194f565b6000602082840312156115b8578081fd5b813567ffffffffffffffff8111156115ce578182fd5b8201601f810184136115de578182fd5b6112ac8482356020840161134d565b6000602082840312156115fe578081fd5b5035919050565b6000815180845261161d8160208601602086016117f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081516116618185602086016117f5565b9290920192915050565b600080845482600182811c91508083168061168757607f831692505b60208084108214156116c0577f4e487b710000000000000000000000000000000000000000000000000000000087526022600452602487fd5b8180156116d457600181146116e557611711565b60ff19861689528489019650611711565b60008b815260209020885b868110156117095781548b8201529085019083016116f0565b505084890196505b50505050505061174d611747827f2f00000000000000000000000000000000000000000000000000000000000000815260010190565b8561164f565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526117956080830184611605565b9695505050505050565b60006020825261141f6020830184611605565b600082198211156117c5576117c56118c2565b500190565b6000826117d9576117d96118f1565b500490565b6000828210156117f0576117f06118c2565b500390565b60005b838110156118105781810151838201526020016117f8565b83811115610f615750506000910152565b600181811c9082168061183557607f821691505b6020821081141561186f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156118a7576118a76118c2565b5060010190565b6000826118bd576118bd6118f1565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1857600080fdfea264697066735822122041e55c3f749a53981ded5dad50f8909851f23646e4ca71559cca800305e4a1c664736f6c63430008030033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000422494292e7a9dda8778bb4ea05c2779a3d60f5d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000019456c66697665727365204e465420436f6c6c65636574696f6e000000000000000000000000000000000000000000000000000000000000000000000000000003454c460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001568747470733a2f2f697066732e696f2f697066732f0000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): Elfiverse NFT Collecetion
Arg [1] : _symbol (string): ELF
Arg [2] : _owner (address): 0x422494292e7a9Dda8778Bb4EA05C2779a3d60f5D
Arg [3] : _baseURI (string): https://ipfs.io/ipfs/

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 000000000000000000000000422494292e7a9dda8778bb4ea05c2779a3d60f5d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [5] : 456c66697665727365204e465420436f6c6c65636574696f6e00000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 454c460000000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [9] : 68747470733a2f2f697066732e696f2f697066732f0000000000000000000000


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  ]

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.