ETH Price: $3,375.85 (-1.98%)
Gas: 3 Gwei

Contract

0x9df8Aa7C681f33E442A0d57B838555da863504f3
 

Overview

ETH Balance

0.641 ETH

Eth Value

$2,163.92 (@ $3,375.85/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Set Approval For...201722252024-06-26 0:17:232 days ago1719361043IN
Pixelated Llama: PXLLMA Token
0 ETH0.000175783.81156067
Set Approval For...201717402024-06-25 22:39:592 days ago1719355199IN
Pixelated Llama: PXLLMA Token
0 ETH0.000163763.55175619
Set Approval For...201590132024-06-24 3:59:234 days ago1719201563IN
Pixelated Llama: PXLLMA Token
0 ETH0.000137452.98046549
Set Approval For...201502752024-06-22 22:39:355 days ago1719095975IN
Pixelated Llama: PXLLMA Token
0 ETH0.000046281.91216957
Set Approval For...201471492024-06-22 12:09:116 days ago1719058151IN
Pixelated Llama: PXLLMA Token
0 ETH0.000141853.08141318
Safe Transfer Fr...201397422024-06-21 11:16:597 days ago1718968619IN
Pixelated Llama: PXLLMA Token
0 ETH0.000256864.14152928
Safe Transfer Fr...201384322024-06-21 6:54:117 days ago1718952851IN
Pixelated Llama: PXLLMA Token
0 ETH0.000239744.19361788
Set Approval For...201355692024-06-20 21:18:358 days ago1718918315IN
Pixelated Llama: PXLLMA Token
0 ETH0.000225744.89493744
Set Approval For...201345972024-06-20 18:02:238 days ago1718906543IN
Pixelated Llama: PXLLMA Token
0 ETH0.0005187511.26874514
Set Approval For...201289262024-06-19 22:59:598 days ago1718837999IN
Pixelated Llama: PXLLMA Token
0 ETH0.000267895.81937489
Set Approval For...201223222024-06-19 0:49:359 days ago1718758175IN
Pixelated Llama: PXLLMA Token
0 ETH0.000228484.96330263
Safe Transfer Fr...201222502024-06-19 0:35:119 days ago1718757311IN
Pixelated Llama: PXLLMA Token
0 ETH0.000248284.33807521
Set Approval For...201053812024-06-16 15:54:4712 days ago1718553287IN
Pixelated Llama: PXLLMA Token
0 ETH0.00025455.51844622
Set Approval For...200812822024-06-13 7:01:5915 days ago1718262119IN
Pixelated Llama: PXLLMA Token
0 ETH0.0005545212.04580498
Transfer From200710392024-06-11 20:41:4717 days ago1718138507IN
Pixelated Llama: PXLLMA Token
0 ETH0.0007571513.9016853
Set Approval For...200558872024-06-09 17:54:1119 days ago1717955651IN
Pixelated Llama: PXLLMA Token
0 ETH0.000354277.68180181
Set Approval For...200555302024-06-09 16:42:1119 days ago1717951331IN
Pixelated Llama: PXLLMA Token
0 ETH0.0005670712.31834417
Set Approval For...200494552024-06-08 20:19:5920 days ago1717877999IN
Pixelated Llama: PXLLMA Token
0 ETH0.000337637.33432781
Safe Transfer Fr...200409382024-06-07 15:47:1121 days ago1717775231IN
Pixelated Llama: PXLLMA Token
0 ETH0.0014538925.40272497
Set Approval For...200336492024-06-06 15:22:1122 days ago1717687331IN
Pixelated Llama: PXLLMA Token
0 ETH0.001054122.85618015
Set Approval For...200262332024-06-05 14:29:5923 days ago1717597799IN
Pixelated Llama: PXLLMA Token
0 ETH0.0012162426.37177973
Set Approval For...200189192024-06-04 14:01:1124 days ago1717509671IN
Pixelated Llama: PXLLMA Token
0 ETH0.0005662912.30134683
Set Approval For...200163312024-06-04 5:20:4724 days ago1717478447IN
Pixelated Llama: PXLLMA Token
0 ETH0.0002515.4524995
Set Approval For...200148892024-06-04 0:31:2324 days ago1717461083IN
Pixelated Llama: PXLLMA Token
0 ETH0.000278696.05397259
Set Approval For...200108892024-06-03 11:06:5925 days ago1717412819IN
Pixelated Llama: PXLLMA Token
0 ETH0.000397248.62911883
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
142652152022-02-23 23:01:46855 days ago1645657306
Pixelated Llama: PXLLMA Token
42.27 ETH
142638662022-02-23 18:15:11856 days ago1645640111
Pixelated Llama: PXLLMA Token
693.68002 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PixelatedLlama

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 4: PixelatedLlama.sol
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.10;

import "./ERC721.sol";
import "./Ownable.sol";
import "./Strings.sol";

/**
   __ _                                               
  / /| | __ _ _ __ ___   __ _/\   /\___ _ __ ___  ___ 
 / / | |/ _` | '_ ` _ \ / _` \ \ / / _ \ '__/ __|/ _ \
/ /__| | (_| | | | | | | (_| |\ V /  __/ |  \__ \  __/
\____/_|\__,_|_| |_| |_|\__,_| \_/ \___|_|  |___/\___|

**/

/// @title Pixelated Llama
/// @author delta devs (https://twitter.com/deltadevelopers)

/// @notice Thrown when attempting to mint while the dutch auction has not started yet.
error AuctionNotStarted();
/// @notice Thrown when attempting to mint whilst the total supply (of either static or animated llamas) has been reached.
error MintedOut();
/// @notice Thrown when the value of the transaction is not enough when attempting to purchase llama during dutch auction or minting post auction.
error NotEnoughEther();

contract PixelatedLlama is ERC721, Ownable {
    using Strings for uint256;

    /*///////////////////////////////////////////////////////////////
                               CONSTANTS
    //////////////////////////////////////////////////////////////*/

    uint256 public constant provenanceHash = 0x7481a3a60827a9db04e46389b14c42d8f0ba2106ed9b239db8249929a8ab9f0b;

    /// @notice The total supply of Llamas, consisting of both static & animated llamas.
    uint256 public constant totalSupply = 4000;

    /// @notice The total supply cap of animated llamas.
    uint256 public constant animatedSupplyCap = 500;

    /// @notice The total supply cap of static llamas.
    /// @dev This does not mean there are 4000 llamas, it means that 4000 is the last tokenId of a static llama.
    uint256 public constant staticSupplyCap = 4000;

    /// @notice The total supply cap of the dutch auction.
    /// @dev 1600 is the (phase 2) whitelist allocation.
    uint256 public constant auctionSupplyCap = staticSupplyCap - 1600;

    /// @notice The current supply of animated llamas, and a counter for the next static tokenId.
    uint256 public animatedSupply;

    /// @notice The current static supply of llamas, and a counter for the next animated tokenId.
    /// @dev Starts at the animated supply cap, since the first 500 tokenIds are used for the animated llama supply.
    uint256 public staticSupply = animatedSupplyCap;

    /// @notice The UNIX timestamp of the begin of the dutch auction.
    uint256 constant auctionStartTime = 1645628400;

    /// @notice The start price of the dutch auction.
    uint256 public auctionStartPrice = 1.14 ether;

    /// @notice Allocation of static llamas mintable per address.
    /// @dev Used for both free minters in Phase 1, and WL minters after the DA.
    mapping(address => uint256) public staticWhitelist;

    /// @notice Allocation of animated llamas mintable per address.
    /// @dev Not used for the WL phase, only for free mints.
    mapping(address => uint256) public animatedWhitelist;

    /// @notice The mint price of a static llama.
    uint256 public staticPrice;

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

    /// @notice The base URI which retrieves token metadata.
    string baseURI;

    /// @notice Guarantees that the dutch auction has started.
    /// @dev This also warms up the storage slot for auctionStartTime to save gas in getCurrentTokenPrice
    modifier auctionStarted() {
        if (block.timestamp < auctionStartTime) revert AuctionNotStarted();
        _;
    }

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

    constructor(string memory _baseURI) ERC721("Pixelated Llama", "PXLLMA") {
        baseURI = _baseURI;
    }

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

    function tokenURI(uint256 id) public view override returns (string memory) {
        return string(abi.encodePacked(baseURI, id.toString()));
    }

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

    /// @notice Uploads the number of mintable static llamas for each WL address.
    /// @param addresses The WL addresses.
    function uploadStaticWhitelist(
        address[] calldata addresses
    ) public onlyOwner {
        for (uint256 i = 0; i < addresses.length; i++) {
            staticWhitelist[addresses[i]] = 1;
        }
    }

    /// @notice Uploads the number of mintable static llamas for each WL address.
    /// @param addresses The WL addresses.
    /// @param counts The number of static llamas allocated to the same index in the first array.
    function uploadStaticWhitelist(
        address[] calldata addresses,
        uint256[] calldata counts
    ) public onlyOwner {
        for (uint256 i = 0; i < addresses.length; i++) {
            staticWhitelist[addresses[i]] = counts[i];
        }
    }

    /// @notice Uploads the number of mintable animated llamas for each WL address.
    /// @param addresses The WL addresses.
    /// @param counts The number of animated llamas allocated to the same index in the first array.
    function uploadAnimatedWhitelist(
        address[] calldata addresses,
        uint256[] calldata counts
    ) public onlyOwner {
        for (uint256 i = 0; i < addresses.length; i++) {
            animatedWhitelist[addresses[i]] = counts[i];
        }
    }

    /*///////////////////////////////////////////////////////////////
                            DUTCH AUCTION LOGIC
    //////////////////////////////////////////////////////////////*/

    /// @notice Mints one static llama during the dutch auction.
    function mintAuction() public payable auctionStarted {
        if (msg.value < getCurrentTokenPrice()) revert NotEnoughEther();
        if (staticSupply >= auctionSupplyCap) revert MintedOut();
        unchecked {
            _mint(msg.sender, staticSupply);
            staticSupply++;
        }
    }

    /// @notice Calculates the auction price with the accumulated rate deduction since the auction's begin
    /// @return The auction price at the current time, or 0 if the deductions are greater than the auction's start price.
    function validCalculatedTokenPrice() private view returns (uint256) {
        uint256 priceReduction = ((block.timestamp - auctionStartTime) /
            5 minutes) * 0.1 ether;
        return
            auctionStartPrice >= priceReduction
                ? (auctionStartPrice - priceReduction)
                : 0;
    }

    /// @notice Calculates the current dutch auction price, given accumulated rate deductions and a minimum price.
    /// @return The current dutch auction price.
    function getCurrentTokenPrice() public view returns (uint256) {
        return max(validCalculatedTokenPrice(), 0.01 ether);
    }

    /// @notice Returns the price needed for a user to mint the static llamas allocated to him.
    function getWhitelistPrice() public view returns (uint256) {
        return staticPrice * staticWhitelist[msg.sender]; 
    }

    /*///////////////////////////////////////////////////////////////
                            FREE & WL MINT LOGIC
    //////////////////////////////////////////////////////////////*/

    /// @notice Allows the contract deployer to set the price for static llamas (after the DA).
    /// @param _staticPrice The new price for a static llama.
    function setStaticPrice(uint256 _staticPrice)
        public
        onlyOwner
    {
        staticPrice = _staticPrice;
    }

    /// @notice Mints all static llamas allocated to the sender, for use by free minters in the first phase, and WL minters post-auction.
    function mintStaticLlama() public payable {
        uint256 count = staticWhitelist[msg.sender];
        if (staticSupply + count > staticSupplyCap) revert MintedOut();
        if (msg.value < staticPrice * count) revert NotEnoughEther();

        unchecked {
            delete staticWhitelist[msg.sender];
            _bulkMint(msg.sender, staticSupply, count);
            staticSupply += count;
        }
    }

    /// @notice Mints all animated llamas allocated to the sender, for use by free minters in the first phase.
    function mintAnimatedLlama() public payable {
        uint256 count = animatedWhitelist[msg.sender];
        if (animatedSupply + count > animatedSupplyCap) revert MintedOut();

        unchecked {
            delete animatedWhitelist[msg.sender];
            _bulkMint(msg.sender, animatedSupply, count);
            animatedSupply += count;
        }
    }

    /// @notice Mints all allocated llamas to the sender in one transaction.
    function bulkMint() public payable {
        mintAnimatedLlama();
        mintStaticLlama();
    }

    /// @notice Mints multiple llamas in bulk.
    /// @param to The address to transfer minted assets to.
    /// @param id The token ID of the first llama that will be minted.
    /// @param count The amount of llamas to be minted.
    function _bulkMint(
        address to,
        uint256 id,
        uint256 count
    ) internal {
        /// @dev We never mint to address(0) so this require is unnecessary.
        // require(to != address(0), "INVALID_RECIPIENT");

        unchecked {
            balanceOf[to] += count;
        }

        for (uint256 i = id; i < id + count; i++) {
            /// @dev The following require has been removed because the tokens mint in succession and this function is no longer called post mint phase.
            // require(ownerOf[i] == address(0), "ALREADY_MINTED");
            ownerOf[i] = to;
            emit Transfer(address(0), to, i);
        }
    }

    /// @notice Withdraws collected funds to the contract owner.
    function withdraw() public onlyOwner {
        (bool success, ) = msg.sender.call{value: address(this).balance}("");
        require(success);
    }

    /// @notice Permits the contract owner to roll over unminted animated llamas in case of a failed mint-out.
    function rollOverAnimated(address wallet) public onlyOwner {
        uint count = animatedSupplyCap - animatedSupply;
        _bulkMint(wallet, animatedSupply, count);
        unchecked {
            animatedSupply += count;
        }
    }

    /// @notice Permits the contract owner to roll over unminted static llamas in case of a failed mint-out.
    function rollOverStatic(address wallet) public onlyOwner {
        uint count = staticSupplyCap - staticSupply;
        _bulkMint(wallet, staticSupply, count);
        unchecked {
            staticSupply += count;
        }
    }

    /*///////////////////////////////////////////////////////////////
                                UTILS
    //////////////////////////////////////////////////////////////*/

    /// @notice Returns the greater of two numbers.
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */
    function supportsInterface(bytes4 interfaceId)
        public
        pure
        override(ERC721, Ownable)
        returns (bool)
    {
        return
            interfaceId == 0x01ffc9a7 || // ERC165 Interface ID for ERC165
            interfaceId == 0x80ac58cd || // ERC165 Interface ID for ERC721
            interfaceId == 0x5b5e139f || // ERC165 Interface ID for ERC721Metadata
            interfaceId == 0x7f5828d0; // ERC165 Interface ID for ERC173
    }
}

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 Fork (https://github.com/distractedm1nd/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: Ownable.sol
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.10;

error NotOwner();

// https://github.com/m1guelpf/erc721-drop/blob/main/src/LilOwnable.sol
abstract contract Ownable {
    address internal _owner;

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

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

    constructor() {
        _owner = msg.sender;
    }

    function owner() external view returns (address) {
        return _owner;
    }

    function transferOwnership(address _newOwner) external {
        if (msg.sender != _owner) revert NotOwner();

        _owner = _newOwner;
    }

    function renounceOwnership() public {
        if (msg.sender != _owner) revert NotOwner();

        _owner = address(0);
    }

    function supportsInterface(bytes4 interfaceId)
        public
        pure
        virtual
        returns (bool)
    {
        return interfaceId == 0x7f5828d0; // ERC165 Interface ID for ERC173
    }
}

File 4 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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AuctionNotStarted","type":"error"},{"inputs":[],"name":"MintedOut","type":"error"},{"inputs":[],"name":"NotEnoughEther","type":"error"},{"inputs":[],"name":"NotOwner","type":"error"},{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[],"name":"animatedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"animatedSupplyCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"animatedWhitelist","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"auctionStartPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"auctionSupplyCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bulkMint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentTokenPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWhitelistPrice","outputs":[{"internalType":"uint256","name":"","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":"mintAnimatedLlama","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintAuction","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintStaticLlama","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":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"provenanceHash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"rollOverAnimated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"rollOverStatic","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_staticPrice","type":"uint256"}],"name":"setStaticPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staticPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staticSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"staticSupplyCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"staticWhitelist","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"id","type":"uint256"}],"name":"tokenURI","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":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"counts","type":"uint256[]"}],"name":"uploadAnimatedWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"uploadStaticWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"counts","type":"uint256[]"}],"name":"uploadStaticWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526101f4600855670fd217f5c3f200006009553480156200002357600080fd5b506040516200279b3803806200279b83398101604081905262000046916200019f565b604080518082018252600f81526e506978656c61746564204c6c616d6160881b60208083019182528351808501909452600684526550584c4c4d4160d01b9084015281519192916200009b91600091620000e3565b508051620000b1906001906020840190620000e3565b5050600680546001600160a01b03191633179055508051620000db90600d906020840190620000e3565b5050620002b8565b828054620000f1906200027b565b90600052602060002090601f01602090048101928262000115576000855562000160565b82601f106200013057805160ff191683800117855562000160565b8280016001018555821562000160579182015b828111156200016057825182559160200191906001019062000143565b506200016e92915062000172565b5090565b5b808211156200016e576000815560010162000173565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215620001b357600080fd5b82516001600160401b0380821115620001cb57600080fd5b818501915085601f830112620001e057600080fd5b815181811115620001f557620001f562000189565b604051601f8201601f19908116603f0116810190838211818310171562000220576200022062000189565b8160405282815288868487010111156200023957600080fd5b600093505b828410156200025d57848401860151818501870152928501926200023e565b828411156200026f5760008684830101525b98975050505050505050565b600181811c908216806200029057607f821691505b60208210811415620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b6124d380620002c86000396000f3fe6080604052600436106102c65760003560e01c80636f9b1fac11610179578063c6ab67a3116100d6578063ddbe597d1161008a578063f2fde38b11610064578063f2fde38b1461077e578063f5e180411461079e578063f751758b146107cb57600080fd5b8063ddbe597d1461070d578063e61c71851461072d578063e985e9c51461074357600080fd5b8063ca17e4f3116100bb578063ca17e4f3146106cb578063ca343648146106e1578063d756985b146106f757600080fd5b8063c6ab67a314610677578063c87b56dd146106ab57600080fd5b80638da5cb5b1161012d5780639cc93219116101125780639cc932191461062f578063a22cb46514610637578063b88d4fde1461065757600080fd5b80638da5cb5b146105ef57806395d89b411461061a57600080fd5b8063715018a61161015e578063715018a6146105d25780637f354fa7146103e457806380feca5f146105e757600080fd5b80636f9b1fac1461057857806370a08231146105a557600080fd5b80633ccfd60b1161022757806355f804b3116101db57806360e0b360116101c057806360e0b360146104ff5780636352211e1461051f5780636de694ad1461056257600080fd5b806355f804b3146104bf5780635736e065146104df57600080fd5b806343cc97041161020c57806343cc970414610477578063487817ac146104975780634cb1e37b146104b757600080fd5b80633ccfd60b1461044257806342842e0e1461045757600080fd5b80630da51cd71161027e57806323b872dd1161026357806323b872dd146103fa57806332f4a69b1461041a5780633901e8e01461042257600080fd5b80630da51cd7146103cf57806318160ddd146103e457600080fd5b8063081812fc116102af578063081812fc14610322578063095ea7b31461038a5780630a9cc78c146103ac57600080fd5b806301ffc9a7146102cb57806306fdde0314610300575b600080fd5b3480156102d757600080fd5b506102eb6102e6366004611d35565b6107e0565b60405190151581526020015b60405180910390f35b34801561030c57600080fd5b50610315610911565b6040516102f79190611dc8565b34801561032e57600080fd5b5061036561033d366004611ddb565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f7565b34801561039657600080fd5b506103aa6103a5366004611e1d565b61099f565b005b3480156103b857600080fd5b506103c1610aee565b6040519081526020016102f7565b3480156103db57600080fd5b506103c1610aff565b3480156103f057600080fd5b506103c1610fa081565b34801561040657600080fd5b506103aa610415366004611e47565b610b21565b6103aa610de8565b34801561042e57600080fd5b506103aa61043d366004611ecf565b610ec6565b34801561044e57600080fd5b506103aa610f60565b34801561046357600080fd5b506103aa610472366004611e47565b610fdc565b34801561048357600080fd5b506103aa610492366004611f11565b611141565b3480156104a357600080fd5b506103aa6104b2366004611f2c565b611192565b6103aa611245565b3480156104cb57600080fd5b506103aa6104da36600461205b565b61130f565b3480156104eb57600080fd5b506103aa6104fa366004611ddb565b61134a565b34801561050b57600080fd5b506103aa61051a366004611f11565b611373565b34801561052b57600080fd5b5061036561053a366004611ddb565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561056e57600080fd5b506103c160075481565b34801561058457600080fd5b506103c1610593366004611f11565b600a6020526000908152604090205481565b3480156105b157600080fd5b506103c16105c0366004611f11565b60026020526000908152604090205481565b3480156105de57600080fd5b506103aa6113c4565b6103aa61143f565b3480156105fb57600080fd5b5060065473ffffffffffffffffffffffffffffffffffffffff16610365565b34801561062657600080fd5b50610315611451565b6103aa61145e565b34801561064357600080fd5b506103aa6106523660046120a4565b6114e1565b34801561066357600080fd5b506103aa6106723660046120e0565b611578565b34801561068357600080fd5b506103c17f7481a3a60827a9db04e46389b14c42d8f0ba2106ed9b239db8249929a8ab9f0b81565b3480156106b757600080fd5b506103156106c6366004611ddb565b6116cf565b3480156106d757600080fd5b506103c160085481565b3480156106ed57600080fd5b506103c1600c5481565b34801561070357600080fd5b506103c160095481565b34801561071957600080fd5b506103aa610728366004611f2c565b611703565b34801561073957600080fd5b506103c16101f481565b34801561074f57600080fd5b506102eb61075e36600461215c565b600560209081526000928352604080842090915290825290205460ff1681565b34801561078a57600080fd5b506103aa610799366004611f11565b6117af565b3480156107aa57600080fd5b506103c16107b9366004611f11565b600b6020526000908152604090205481565b3480156107d757600080fd5b506103c1611847565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061087357507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806108bf57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061090b57507f7f5828d0000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000805461091e9061218f565b80601f016020809104026020016040519081016040528092919081815260200182805461094a9061218f565b80156109975780601f1061096c57610100808354040283529160200191610997565b820191906000526020600020905b81548152906001019060200180831161097a57829003601f168201915b505050505081565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1633811480610a02575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610afc610640610fa0612212565b81565b336000908152600a6020526040812054600c54610b1c9190612229565b905090565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610bb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff8216610c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610a64565b3373ffffffffffffffffffffffffffffffffffffffff84161480610c75575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b80610cb0575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b610d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526003825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6362164bf0421015610e26576040517feffaea8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2e611847565b341015610e67576040517f8a0d377900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e75610640610fa0612212565b60085410610eaf576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ebb33600854611861565b600880546001019055565b60065473ffffffffffffffffffffffffffffffffffffffff163314610eea57600080fd5b60005b81811015610f5b576001600a6000858585818110610f0d57610f0d612266565b9050602002016020810190610f229190611f11565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205580610f5381612295565b915050610eed565b505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610f8457600080fd5b604051600090339047908381818185875af1925050503d8060008114610fc6576040519150601f19603f3d011682016040523d82523d6000602084013e610fcb565b606091505b5050905080610fd957600080fd5b50565b610fe7838383610b21565b73ffffffffffffffffffffffffffffffffffffffff82163b15806110db57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b791906122ce565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610f5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610a64565b60065473ffffffffffffffffffffffffffffffffffffffff16331461116557600080fd5b60006007546101f46111779190612212565b905061118682600754836119fa565b60078054909101905550565b60065473ffffffffffffffffffffffffffffffffffffffff1633146111b657600080fd5b60005b8381101561123e578282828181106111d3576111d3612266565b90506020020135600a60008787858181106111f0576111f0612266565b90506020020160208101906112059190611f11565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020558061123681612295565b9150506111b9565b5050505050565b336000908152600a6020526040902054600854610fa0906112679083906122eb565b111561129f576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600c546112ad9190612229565b3410156112e6576040517f8a0d377900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600a60205260408120556008546113049190836119fa565b600880549091019055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461133357600080fd5b805161134690600d906020840190611c6e565b5050565b60065473ffffffffffffffffffffffffffffffffffffffff16331461136e57600080fd5b600c55565b60065473ffffffffffffffffffffffffffffffffffffffff16331461139757600080fd5b6000600854610fa06113a99190612212565b90506113b882600854836119fa565b60088054909101905550565b60065473ffffffffffffffffffffffffffffffffffffffff163314611415576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b61144761145e565b61144f611245565b565b6001805461091e9061218f565b336000908152600b60205260409020546007546101f4906114809083906122eb565b11156114b8576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600b60205260408120556007546114d69190836119fa565b600780549091019055565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611583848484610b21565b73ffffffffffffffffffffffffffffffffffffffff83163b158061166357506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906115fc903390899088908890600401612303565b6020604051808303816000875af115801561161b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163f91906122ce565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6116c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610a64565b50505050565b6060600d6116dc83611ac4565b6040516020016116ed929190612368565b6040516020818303038152906040529050919050565b60065473ffffffffffffffffffffffffffffffffffffffff16331461172757600080fd5b60005b8381101561123e5782828281811061174457611744612266565b90506020020135600b600087878581811061176157611761612266565b90506020020160208101906117769190611f11565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002055806117a781612295565b91505061172a565b60065473ffffffffffffffffffffffffffffffffffffffff163314611800576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000610b1c611854611bfe565b662386f26fc10000611c55565b73ffffffffffffffffffffffffffffffffffffffff82166118de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610a64565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff161561196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604080832080546001019055848352600390915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600260205260409020805482019055815b611a3182846122eb565b8110156116c95760008181526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480611abc81612295565b915050611a27565b606081611b0457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611b2e5780611b1881612295565b9150611b279050600a83612475565b9150611b08565b60008167ffffffffffffffff811115611b4957611b49611f98565b6040519080825280601f01601f191660200182016040528015611b73576020820181803683370190505b5090505b8415611bf657611b88600183612212565b9150611b95600a86612489565b611ba09060306122eb565b60f81b818381518110611bb557611bb5612266565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611bef600a86612475565b9450611b77565b949350505050565b60008061012c611c126362164bf042612212565b611c1c9190612475565b611c2e9067016345785d8a0000612229565b9050806009541015611c41576000611c4f565b80600954611c4f9190612212565b91505090565b600081831015611c655781611c67565b825b9392505050565b828054611c7a9061218f565b90600052602060002090601f016020900481019282611c9c5760008555611ce2565b82601f10611cb557805160ff1916838001178555611ce2565b82800160010185558215611ce2579182015b82811115611ce2578251825591602001919060010190611cc7565b50611cee929150611cf2565b5090565b5b80821115611cee5760008155600101611cf3565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fd957600080fd5b600060208284031215611d4757600080fd5b8135611c6781611d07565b60005b83811015611d6d578181015183820152602001611d55565b838111156116c95750506000910152565b60008151808452611d96816020860160208601611d52565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c676020830184611d7e565b600060208284031215611ded57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611e1857600080fd5b919050565b60008060408385031215611e3057600080fd5b611e3983611df4565b946020939093013593505050565b600080600060608486031215611e5c57600080fd5b611e6584611df4565b9250611e7360208501611df4565b9150604084013590509250925092565b60008083601f840112611e9557600080fd5b50813567ffffffffffffffff811115611ead57600080fd5b6020830191508360208260051b8501011115611ec857600080fd5b9250929050565b60008060208385031215611ee257600080fd5b823567ffffffffffffffff811115611ef957600080fd5b611f0585828601611e83565b90969095509350505050565b600060208284031215611f2357600080fd5b611c6782611df4565b60008060008060408587031215611f4257600080fd5b843567ffffffffffffffff80821115611f5a57600080fd5b611f6688838901611e83565b90965094506020870135915080821115611f7f57600080fd5b50611f8c87828801611e83565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115611fe257611fe2611f98565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561202857612028611f98565b8160405280935085815286868601111561204157600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561206d57600080fd5b813567ffffffffffffffff81111561208457600080fd5b8201601f8101841361209557600080fd5b611bf684823560208401611fc7565b600080604083850312156120b757600080fd5b6120c083611df4565b9150602083013580151581146120d557600080fd5b809150509250929050565b600080600080608085870312156120f657600080fd5b6120ff85611df4565b935061210d60208601611df4565b925060408501359150606085013567ffffffffffffffff81111561213057600080fd5b8501601f8101871361214157600080fd5b61215087823560208401611fc7565b91505092959194509250565b6000806040838503121561216f57600080fd5b61217883611df4565b915061218660208401611df4565b90509250929050565b600181811c908216806121a357607f821691505b602082108114156121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612224576122246121e3565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612261576122616121e3565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122c7576122c76121e3565b5060010190565b6000602082840312156122e057600080fd5b8151611c6781611d07565b600082198211156122fe576122fe6121e3565b500190565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526123426080830184611d7e565b9695505050505050565b6000815161235e818560208601611d52565b9290920192915050565b600080845481600182811c91508083168061238457607f831692505b60208084108214156123bd577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156123d157600181146124005761242d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952848901965061242d565b60008b81526020902060005b868110156124255781548b82015290850190830161240c565b505084890196505b50505050505061243d818561234c565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261248457612484612446565b500490565b60008261249857612498612446565b50069056fea2646970667358221220ac5ff8468e5f3b05e25c5b4edee6a3d49aae46ab61d4219ad392c1328dcf95b364736f6c634300080c00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f68747470733a2f2f6c6c616d6176657273652e696f2f6170692f6d6574612f00

Deployed Bytecode

0x6080604052600436106102c65760003560e01c80636f9b1fac11610179578063c6ab67a3116100d6578063ddbe597d1161008a578063f2fde38b11610064578063f2fde38b1461077e578063f5e180411461079e578063f751758b146107cb57600080fd5b8063ddbe597d1461070d578063e61c71851461072d578063e985e9c51461074357600080fd5b8063ca17e4f3116100bb578063ca17e4f3146106cb578063ca343648146106e1578063d756985b146106f757600080fd5b8063c6ab67a314610677578063c87b56dd146106ab57600080fd5b80638da5cb5b1161012d5780639cc93219116101125780639cc932191461062f578063a22cb46514610637578063b88d4fde1461065757600080fd5b80638da5cb5b146105ef57806395d89b411461061a57600080fd5b8063715018a61161015e578063715018a6146105d25780637f354fa7146103e457806380feca5f146105e757600080fd5b80636f9b1fac1461057857806370a08231146105a557600080fd5b80633ccfd60b1161022757806355f804b3116101db57806360e0b360116101c057806360e0b360146104ff5780636352211e1461051f5780636de694ad1461056257600080fd5b806355f804b3146104bf5780635736e065146104df57600080fd5b806343cc97041161020c57806343cc970414610477578063487817ac146104975780634cb1e37b146104b757600080fd5b80633ccfd60b1461044257806342842e0e1461045757600080fd5b80630da51cd71161027e57806323b872dd1161026357806323b872dd146103fa57806332f4a69b1461041a5780633901e8e01461042257600080fd5b80630da51cd7146103cf57806318160ddd146103e457600080fd5b8063081812fc116102af578063081812fc14610322578063095ea7b31461038a5780630a9cc78c146103ac57600080fd5b806301ffc9a7146102cb57806306fdde0314610300575b600080fd5b3480156102d757600080fd5b506102eb6102e6366004611d35565b6107e0565b60405190151581526020015b60405180910390f35b34801561030c57600080fd5b50610315610911565b6040516102f79190611dc8565b34801561032e57600080fd5b5061036561033d366004611ddb565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f7565b34801561039657600080fd5b506103aa6103a5366004611e1d565b61099f565b005b3480156103b857600080fd5b506103c1610aee565b6040519081526020016102f7565b3480156103db57600080fd5b506103c1610aff565b3480156103f057600080fd5b506103c1610fa081565b34801561040657600080fd5b506103aa610415366004611e47565b610b21565b6103aa610de8565b34801561042e57600080fd5b506103aa61043d366004611ecf565b610ec6565b34801561044e57600080fd5b506103aa610f60565b34801561046357600080fd5b506103aa610472366004611e47565b610fdc565b34801561048357600080fd5b506103aa610492366004611f11565b611141565b3480156104a357600080fd5b506103aa6104b2366004611f2c565b611192565b6103aa611245565b3480156104cb57600080fd5b506103aa6104da36600461205b565b61130f565b3480156104eb57600080fd5b506103aa6104fa366004611ddb565b61134a565b34801561050b57600080fd5b506103aa61051a366004611f11565b611373565b34801561052b57600080fd5b5061036561053a366004611ddb565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561056e57600080fd5b506103c160075481565b34801561058457600080fd5b506103c1610593366004611f11565b600a6020526000908152604090205481565b3480156105b157600080fd5b506103c16105c0366004611f11565b60026020526000908152604090205481565b3480156105de57600080fd5b506103aa6113c4565b6103aa61143f565b3480156105fb57600080fd5b5060065473ffffffffffffffffffffffffffffffffffffffff16610365565b34801561062657600080fd5b50610315611451565b6103aa61145e565b34801561064357600080fd5b506103aa6106523660046120a4565b6114e1565b34801561066357600080fd5b506103aa6106723660046120e0565b611578565b34801561068357600080fd5b506103c17f7481a3a60827a9db04e46389b14c42d8f0ba2106ed9b239db8249929a8ab9f0b81565b3480156106b757600080fd5b506103156106c6366004611ddb565b6116cf565b3480156106d757600080fd5b506103c160085481565b3480156106ed57600080fd5b506103c1600c5481565b34801561070357600080fd5b506103c160095481565b34801561071957600080fd5b506103aa610728366004611f2c565b611703565b34801561073957600080fd5b506103c16101f481565b34801561074f57600080fd5b506102eb61075e36600461215c565b600560209081526000928352604080842090915290825290205460ff1681565b34801561078a57600080fd5b506103aa610799366004611f11565b6117af565b3480156107aa57600080fd5b506103c16107b9366004611f11565b600b6020526000908152604090205481565b3480156107d757600080fd5b506103c1611847565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061087357507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806108bf57507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b8061090b57507f7f5828d0000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000805461091e9061218f565b80601f016020809104026020016040519081016040528092919081815260200182805461094a9061218f565b80156109975780601f1061096c57610100808354040283529160200191610997565b820191906000526020600020905b81548152906001019060200180831161097a57829003601f168201915b505050505081565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1633811480610a02575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b610a6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610afc610640610fa0612212565b81565b336000908152600a6020526040812054600c54610b1c9190612229565b905090565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff848116911614610bb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff8216610c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610a64565b3373ffffffffffffffffffffffffffffffffffffffff84161480610c75575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b80610cb0575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b610d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055938616808352848320805460010190558583526003825284832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168317909155600490925284832080549092169091559251849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6362164bf0421015610e26576040517feffaea8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2e611847565b341015610e67576040517f8a0d377900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e75610640610fa0612212565b60085410610eaf576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ebb33600854611861565b600880546001019055565b60065473ffffffffffffffffffffffffffffffffffffffff163314610eea57600080fd5b60005b81811015610f5b576001600a6000858585818110610f0d57610f0d612266565b9050602002016020810190610f229190611f11565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205580610f5381612295565b915050610eed565b505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610f8457600080fd5b604051600090339047908381818185875af1925050503d8060008114610fc6576040519150601f19603f3d011682016040523d82523d6000602084013e610fcb565b606091505b5050905080610fd957600080fd5b50565b610fe7838383610b21565b73ffffffffffffffffffffffffffffffffffffffff82163b15806110db57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b791906122ce565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610f5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610a64565b60065473ffffffffffffffffffffffffffffffffffffffff16331461116557600080fd5b60006007546101f46111779190612212565b905061118682600754836119fa565b60078054909101905550565b60065473ffffffffffffffffffffffffffffffffffffffff1633146111b657600080fd5b60005b8381101561123e578282828181106111d3576111d3612266565b90506020020135600a60008787858181106111f0576111f0612266565b90506020020160208101906112059190611f11565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020558061123681612295565b9150506111b9565b5050505050565b336000908152600a6020526040902054600854610fa0906112679083906122eb565b111561129f576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600c546112ad9190612229565b3410156112e6576040517f8a0d377900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600a60205260408120556008546113049190836119fa565b600880549091019055565b60065473ffffffffffffffffffffffffffffffffffffffff16331461133357600080fd5b805161134690600d906020840190611c6e565b5050565b60065473ffffffffffffffffffffffffffffffffffffffff16331461136e57600080fd5b600c55565b60065473ffffffffffffffffffffffffffffffffffffffff16331461139757600080fd5b6000600854610fa06113a99190612212565b90506113b882600854836119fa565b60088054909101905550565b60065473ffffffffffffffffffffffffffffffffffffffff163314611415576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b61144761145e565b61144f611245565b565b6001805461091e9061218f565b336000908152600b60205260409020546007546101f4906114809083906122eb565b11156114b8576040517f846fb9e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336000818152600b60205260408120556007546114d69190836119fa565b600780549091019055565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611583848484610b21565b73ffffffffffffffffffffffffffffffffffffffff83163b158061166357506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906115fc903390899088908890600401612303565b6020604051808303816000875af115801561161b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163f91906122ce565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b6116c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610a64565b50505050565b6060600d6116dc83611ac4565b6040516020016116ed929190612368565b6040516020818303038152906040529050919050565b60065473ffffffffffffffffffffffffffffffffffffffff16331461172757600080fd5b60005b8381101561123e5782828281811061174457611744612266565b90506020020135600b600087878581811061176157611761612266565b90506020020160208101906117769190611f11565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002055806117a781612295565b91505061172a565b60065473ffffffffffffffffffffffffffffffffffffffff163314611800576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000610b1c611854611bfe565b662386f26fc10000611c55565b73ffffffffffffffffffffffffffffffffffffffff82166118de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610a64565b60008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff161561196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414c52454144595f4d494e5445440000000000000000000000000000000000006044820152606401610a64565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260026020908152604080832080546001019055848352600390915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600260205260409020805482019055815b611a3182846122eb565b8110156116c95760008181526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480611abc81612295565b915050611a27565b606081611b0457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611b2e5780611b1881612295565b9150611b279050600a83612475565b9150611b08565b60008167ffffffffffffffff811115611b4957611b49611f98565b6040519080825280601f01601f191660200182016040528015611b73576020820181803683370190505b5090505b8415611bf657611b88600183612212565b9150611b95600a86612489565b611ba09060306122eb565b60f81b818381518110611bb557611bb5612266565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611bef600a86612475565b9450611b77565b949350505050565b60008061012c611c126362164bf042612212565b611c1c9190612475565b611c2e9067016345785d8a0000612229565b9050806009541015611c41576000611c4f565b80600954611c4f9190612212565b91505090565b600081831015611c655781611c67565b825b9392505050565b828054611c7a9061218f565b90600052602060002090601f016020900481019282611c9c5760008555611ce2565b82601f10611cb557805160ff1916838001178555611ce2565b82800160010185558215611ce2579182015b82811115611ce2578251825591602001919060010190611cc7565b50611cee929150611cf2565b5090565b5b80821115611cee5760008155600101611cf3565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fd957600080fd5b600060208284031215611d4757600080fd5b8135611c6781611d07565b60005b83811015611d6d578181015183820152602001611d55565b838111156116c95750506000910152565b60008151808452611d96816020860160208601611d52565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611c676020830184611d7e565b600060208284031215611ded57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611e1857600080fd5b919050565b60008060408385031215611e3057600080fd5b611e3983611df4565b946020939093013593505050565b600080600060608486031215611e5c57600080fd5b611e6584611df4565b9250611e7360208501611df4565b9150604084013590509250925092565b60008083601f840112611e9557600080fd5b50813567ffffffffffffffff811115611ead57600080fd5b6020830191508360208260051b8501011115611ec857600080fd5b9250929050565b60008060208385031215611ee257600080fd5b823567ffffffffffffffff811115611ef957600080fd5b611f0585828601611e83565b90969095509350505050565b600060208284031215611f2357600080fd5b611c6782611df4565b60008060008060408587031215611f4257600080fd5b843567ffffffffffffffff80821115611f5a57600080fd5b611f6688838901611e83565b90965094506020870135915080821115611f7f57600080fd5b50611f8c87828801611e83565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115611fe257611fe2611f98565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561202857612028611f98565b8160405280935085815286868601111561204157600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561206d57600080fd5b813567ffffffffffffffff81111561208457600080fd5b8201601f8101841361209557600080fd5b611bf684823560208401611fc7565b600080604083850312156120b757600080fd5b6120c083611df4565b9150602083013580151581146120d557600080fd5b809150509250929050565b600080600080608085870312156120f657600080fd5b6120ff85611df4565b935061210d60208601611df4565b925060408501359150606085013567ffffffffffffffff81111561213057600080fd5b8501601f8101871361214157600080fd5b61215087823560208401611fc7565b91505092959194509250565b6000806040838503121561216f57600080fd5b61217883611df4565b915061218660208401611df4565b90509250929050565b600181811c908216806121a357607f821691505b602082108114156121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612224576122246121e3565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612261576122616121e3565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156122c7576122c76121e3565b5060010190565b6000602082840312156122e057600080fd5b8151611c6781611d07565b600082198211156122fe576122fe6121e3565b500190565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526123426080830184611d7e565b9695505050505050565b6000815161235e818560208601611d52565b9290920192915050565b600080845481600182811c91508083168061238457607f831692505b60208084108214156123bd577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156123d157600181146124005761242d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952848901965061242d565b60008b81526020902060005b868110156124255781548b82015290850190830161240c565b505084890196505b50505050505061243d818561234c565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261248457612484612446565b500490565b60008261249857612498612446565b50069056fea2646970667358221220ac5ff8468e5f3b05e25c5b4edee6a3d49aae46ab61d4219ad392c1328dcf95b364736f6c634300080c0033

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

0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f68747470733a2f2f6c6c616d6176657273652e696f2f6170692f6d6574612f00

-----Decoded View---------------
Arg [0] : _baseURI (string): https://llamaverse.io/api/meta/

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [1] : 000000000000000000000000000000000000000000000000000000000000001f
Arg [2] : 68747470733a2f2f6c6c616d6176657273652e696f2f6170692f6d6574612f00


Deployed Bytecode Sourcemap

934:11074:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11542:464;;;;;;;;;;-1:-1:-1;11542:464:2;;;;;:::i;:::-;;:::i;:::-;;;611:14:4;;604:22;586:41;;574:2;559:18;11542:464:2;;;;;;;;1003:18:0;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1442:46::-;;;;;;;;;;-1:-1:-1;1442:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1831:42:4;1819:55;;;1801:74;;1789:2;1774:18;1442:46:0;1655:226:4;2052:281:0;;;;;;;;;;-1:-1:-1;2052:281:0;;;;;:::i;:::-;;:::i;:::-;;1896:65:2;;;;;;;;;;;;;:::i;:::-;;;2492:25:4;;;2480:2;2465:18;1896:65:2;2346:177:4;7205:125:2;;;;;;;;;;;;;:::i;1399:42::-;;;;;;;;;;;;1437:4;1399:42;;2548:737:0;;;;;;;;;;-1:-1:-1;2548:737:0;;;;;:::i;:::-;;:::i;5943:302:2:-;;;:::i;4493:213::-;;;;;;;;;;-1:-1:-1;4493:213:2;;;;;:::i;:::-;;:::i;10000:148::-;;;;;;;;;;;;;:::i;3291:396:0:-;;;;;;;;;;-1:-1:-1;3291:396:0;;;;;:::i;:::-;;:::i;10265:240:2:-;;;;;;;;;;-1:-1:-1;10265:240:2;;;;;:::i;:::-;;:::i;4935:256::-;;;;;;;;;;-1:-1:-1;4935:256:2;;;;;:::i;:::-;;:::i;7953:414::-;;;:::i;4266:96::-;;;;;;;;;;-1:-1:-1;4266:96:2;;;;;:::i;:::-;;:::i;7683:126::-;;;;;;;;;;-1:-1:-1;7683:126:2;;;;;:::i;:::-;;:::i;10620:230::-;;;;;;;;;;-1:-1:-1;10620:230:2;;;;;:::i;:::-;;:::i;1393:42:0:-;;;;;;;;;;-1:-1:-1;1393:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2066:29:2;;;;;;;;;;;;;;;;2747:50;;;;;;;;;;-1:-1:-1;2747:50:2;;;;;:::i;:::-;;;;;;;;;;;;;;1342:44:0;;;;;;;;;;-1:-1:-1;1342:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;708:126:1;;;;;;;;;;;;;:::i;8925:98:2:-;;;:::i;473:79:1:-;;;;;;;;;;-1:-1:-1;539:6:1;;;;473:79;;1028:20:0;;;;;;;;;;;;;:::i;8484:358:2:-;;;:::i;2339:203:0:-;;;;;;;;;;-1:-1:-1;2339:203:0;;;;;:::i;:::-;;:::i;3693:425::-;;;;;;;;;;-1:-1:-1;3693:425:0;;;;;:::i;:::-;;:::i;1196:107:2:-;;;;;;;;;;;;1237:66;1196:107;;4113:147;;;;;;;;;;-1:-1:-1;4113:147:2;;;;;:::i;:::-;;:::i;2317:47::-;;;;;;;;;;;;;;;;3042:26;;;;;;;;;;;;;;;;2548:45;;;;;;;;;;;;;;;;5424:260;;;;;;;;;;-1:-1:-1;5424:260:2;;;;;:::i;:::-;;:::i;1505:47::-;;;;;;;;;;;;1549:3;1505:47;;1495:68:0;;;;;;;;;;-1:-1:-1;1495:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;558:144:1;;;;;;;;;;-1:-1:-1;558:144:1;;;;;:::i;:::-;;:::i;2933:52:2:-;;;;;;;;;;-1:-1:-1;2933:52:2;;;;;:::i;:::-;;;;;;;;;;;;;;6973:130;;;;;;;;;;;;;:::i;11542:464::-;11668:4;11707:25;;;;;;:100;;-1:-1:-1;11782:25:2;;;;;11707:100;:175;;;-1:-1:-1;11857:25:2;;;;;11707:175;:258;;;-1:-1:-1;11940:25:2;;;;;11707:258;11688:277;11542:464;-1:-1:-1;;11542:464:2:o;1003:18:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2052:281::-;2123:13;2139:11;;;:7;:11;;;;;;;;2169:10;:19;;;:58;;-1:-1:-1;2192:23:0;;;;;;;:16;:23;;;;;;;;2216:10;2192:35;;;;;;;;;;2169:58;2161:85;;;;;;;7918:2:4;2161:85:0;;;7900:21:4;7957:2;7937:18;;;7930:30;7996:16;7976:18;;;7969:44;8030:18;;2161:85:0;;;;;;;;;2257:15;;;;:11;:15;;;;;;:25;;;;;;;;;;;;;;2298:28;;2257:15;;2298:28;;;;;;;2113:220;2052:281;;:::o;1896:65:2:-;1939:22;1957:4;1769;1939:22;:::i;:::-;1896:65;:::o;7205:125::-;7311:10;7255:7;7295:27;;;:15;:27;;;;;;7281:11;;:41;;7295:27;7281:41;:::i;:::-;7274:48;;7205:125;:::o;2548:737:0:-;2679:11;;;;:7;:11;;;;;;;2671:19;;;2679:11;;2671:19;2663:42;;;;;;;8813:2:4;2663:42:0;;;8795:21:4;8852:2;8832:18;;;8825:30;8891:12;8871:18;;;8864:40;8921:18;;2663:42:0;8611:334:4;2663:42:0;2724:16;;;2716:46;;;;;;;9152:2:4;2716:46:0;;;9134:21:4;9191:2;9171:18;;;9164:30;9230:19;9210:18;;;9203:47;9267:18;;2716:46:0;8950:341:4;2716:46:0;2794:10;:18;;;;;:51;;-1:-1:-1;2830:15:0;;;;:11;:15;;;;;;;;2816:10;:29;2794:51;:89;;;-1:-1:-1;2849:22:0;;;;;;;:16;:22;;;;;;;;2872:10;2849:34;;;;;;;;;;2794:89;2773:150;;;;;;;7918:2:4;2773:150:0;;;7900:21:4;7957:2;7937:18;;;7930:30;7996:16;7976:18;;;7969:44;8030:18;;2773:150:0;7716:338:4;2773:150:0;3123:15;;;;;;;;:9;:15;;;;;;;;:17;;;;;;3155:13;;;;;;;;;:15;;3123:17;3155:15;;;3191:11;;;:7;:11;;;;;:16;;;;;;;;;;;3225:11;:15;;;;;;3218:22;;;;;;;;3256;;3199:2;;3155:13;3123:15;3256:22;;;2548:737;;;:::o;5943:302:2:-;2477:10;3551:15;:34;3547:66;;;3594:19;;;;;;;;;;;;;;3547:66;6022:22:::1;:20;:22::i;:::-;6010:9;:34;6006:63;;;6053:16;;;;;;;;;;;;;;6006:63;1939:22;1957:4;1769;1939:22;:::i;:::-;6083:12;;:32;6079:56;;6124:11;;;;;;;;;;;;;;6079:56;6169:31;6175:10;6187:12;;6169:5;:31::i;:::-;6214:12;:14:::0;;::::1;;::::0;;5943:302::o;4493:213::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;4600:9:2::1;4595:105;4615:20:::0;;::::1;4595:105;;;4688:1;4656:15;:29;4672:9;;4682:1;4672:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4656:29;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;4656:29:2;:33;4637:3;::::1;::::0;::::1;:::i;:::-;;;;4595:105;;;;4493:213:::0;;:::o;10000:148::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;10066:49:2::1;::::0;10048:12:::1;::::0;10066:10:::1;::::0;10089:21:::1;::::0;10048:12;10066:49;10048:12;10066:49;10089:21;10066:10;:49:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10047:68;;;10133:7;10125:16;;;::::0;::::1;;10037:111;10000:148::o:0;3291:396:0:-;3410:26;3423:4;3429:2;3433;3410:12;:26::i;:::-;3468:14;;;;:19;;:170;;-1:-1:-1;3507:66:0;;3593:45;3507:66;;;3548:10;3507:66;;;10223:34:4;3507:40:0;10293:15:4;;;10273:18;;;10266:43;10325:18;;;10318:34;;;10388:3;10368:18;;;10361:31;-1:-1:-1;10408:19:4;;;10401:30;3593:45:0;;3507:40;;;;3593:45;;10448:19:4;;3507:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:131;;;3468:170;3447:233;;;;;;;10934:2:4;3447:233:0;;;10916:21:4;10973:2;10953:18;;;10946:30;11012:18;10992;;;10985:46;11048:18;;3447:233:0;10732:340:4;10265:240:2;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;10334:10:2::1;10367:14;;1549:3;10347:34;;;;:::i;:::-;10334:47;;10391:40;10401:6;10409:14;;10425:5;10391:9;:40::i;:::-;10465:14;:23:::0;;;;::::1;::::0;;-1:-1:-1;10265:240:2:o;4935:256::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;5077:9:2::1;5072:113;5092:20:::0;;::::1;5072:113;;;5165:6;;5172:1;5165:9;;;;;;;:::i;:::-;;;;;;;5133:15;:29;5149:9;;5159:1;5149:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5133:29;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5133:29:2;:41;5114:3;::::1;::::0;::::1;:::i;:::-;;;;5072:113;;;;4935:256:::0;;;;:::o;7953:414::-;8037:10;8005:13;8021:27;;;:15;:27;;;;;;8062:12;;1769:4;;8062:20;;8021:27;;8062:20;:::i;:::-;:38;8058:62;;;8109:11;;;;;;;;;;;;;;8058:62;8160:5;8146:11;;:19;;;;:::i;:::-;8134:9;:31;8130:60;;;8174:16;;;;;;;;;;;;;;8130:60;8248:10;8232:27;;;;:15;:27;;;;;8225:34;8295:12;;8273:42;;8248:10;8309:5;8273:9;:42::i;:::-;8329:12;:21;;;;;;;7953:414::o;4266:96::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;4337:18:2;;::::1;::::0;:7:::1;::::0;:18:::1;::::0;::::1;::::0;::::1;:::i;:::-;;4266:96:::0;:::o;7683:126::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;7776:11:2::1;:26:::0;7683:126::o;10620:230::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;10687:10:2::1;10718:12;;1769:4;10700:30;;;;:::i;:::-;10687:43;;10740:38;10750:6;10758:12;;10772:5;10740:9;:38::i;:::-;10812:12;:21:::0;;;;::::1;::::0;;-1:-1:-1;10620:230:2:o;708:126:1:-;772:6;;;;758:10;:20;754:43;;787:10;;;;;;;;;;;;;;754:43;808:6;:19;;;;;;708:126::o;8925:98:2:-;8970:19;:17;:19::i;:::-;8999:17;:15;:17::i;:::-;8925:98::o;1028:20:0:-;;;;;;;:::i;8484:358:2:-;8572:10;8538:13;8554:29;;;:17;:29;;;;;;8597:14;;1549:3;;8597:22;;8554:29;;8597:22;:::i;:::-;:42;8593:66;;;8648:11;;;;;;;;;;;;;;8593:66;8719:10;8701:29;;;;:17;:29;;;;;8694:36;8766:14;;8744:44;;8719:10;8782:5;8744:9;:44::i;:::-;8802:14;:23;;;;;;;8484:358::o;2339:203:0:-;2441:10;2424:28;;;;:16;:28;;;;;;;;;:38;;;;;;;;;;;;:49;;;;;;;;;;;;;2489:46;;586:41:4;;;2424:38:0;;2441:10;2489:46;;559:18:4;2489:46:0;;;;;;;2339:203;;:::o;3693:425::-;3839:26;3852:4;3858:2;3862;3839:12;:26::i;:::-;3897:14;;;;:19;;:172;;-1:-1:-1;3936:68:0;;4024:45;3936:68;;;4024:45;3936:40;;;;4024:45;;3936:68;;3977:10;;3989:4;;3995:2;;3999:4;;3936:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:133;;;3897:172;3876:235;;;;;;;10934:2:4;3876:235:0;;;10916:21:4;10973:2;10953:18;;;10946:30;11012:18;10992;;;10985:46;11048:18;;3876:235:0;10732:340:4;3876:235:0;3693:425;;;;:::o;4113:147:2:-;4173:13;4229:7;4238:13;:2;:11;:13::i;:::-;4212:40;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4198:55;;4113:147;;;:::o;5424:260::-;372:6:1;;:20;:6;382:10;372:20;364:29;;;;;;5568:9:2::1;5563:115;5583:20:::0;;::::1;5563:115;;;5658:6;;5665:1;5658:9;;;;;;;:::i;:::-;;;;;;;5624:17;:31;5642:9;;5652:1;5642:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5624:31;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5624:31:2;:43;5605:3;::::1;::::0;::::1;:::i;:::-;;;;5563:115;;558:144:1::0;641:6;;;;627:10;:20;623:43;;656:10;;;;;;;;;;;;;;623:43;677:6;:18;;;;;;;;;;;;;;;558:144::o;6973:130:2:-;7026:7;7052:44;7056:27;:25;:27::i;:::-;7085:10;7052:3;:44::i;4836:368:0:-;4910:16;;;4902:46;;;;;;;9152:2:4;4902:46:0;;;9134:21:4;9191:2;9171:18;;;9164:30;9230:19;9210:18;;;9203:47;9267:18;;4902:46:0;8950:341:4;4902:46:0;4990:1;4967:11;;;:7;:11;;;;;;:25;:11;:25;4959:52;;;;;;;13550:2:4;4959:52:0;;;13532:21:4;13589:2;13569:18;;;13562:30;13628:16;13608:18;;;13601:44;13662:18;;4959:52:0;13348:338:4;4959:52:0;5101:13;;;;;;;:9;:13;;;;;;;;:15;;;;;;5137:11;;;:7;:11;;;;;;:16;;;;;;;;5169:28;5145:2;;5101:13;;5169:28;;5101:13;;5169:28;4836:368;;:::o;9263:666:2:-;9531:13;;;;;;;:9;:13;;;;;:22;;;;;;9591:2;9574:349;9599:10;9604:5;9599:2;:10;:::i;:::-;9595:1;:14;9574:349;;;9851:10;;;;:7;:10;;;;;;:15;;;;;;;;;;;;;9885:27;;9851:10;;;9885:27;;9851:10;;9885:27;9611:3;;;;:::i;:::-;;;;9574:349;;328:703:3;384:13;601:10;597:51;;-1:-1:-1;;627:10:3;;;;;;;;;;;;;;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:3;;-1:-1:-1;773:2:3;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:3;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:3;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;;;;;;;;;;-1:-1:-1;972:11:3;981:2;972:11;;:::i;:::-;;;844:150;;;1017:6;328:703;-1:-1:-1;;;;328:703:3:o;6480:323:2:-;6539:7;;6635:9;6585:34;2477:10;6585:15;:34;:::i;:::-;6584:60;;;;:::i;:::-;6583:74;;6648:9;6583:74;:::i;:::-;6558:99;;6707:14;6686:17;;:35;;:110;;6795:1;6686:110;;;6761:14;6741:17;;:34;;;;:::i;:::-;6667:129;;;6480:323;:::o;11086:105::-;11144:7;11175:1;11170;:6;;:14;;11183:1;11170:14;;;11179:1;11170:14;11163:21;11086:105;-1:-1:-1;;;11086:105:2:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:177:4;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:4;868:16;;861:27;638:258::o;901:328::-;954:3;992:5;986:12;1019:6;1014:3;1007:19;1035:63;1091:6;1084:4;1079:3;1075:14;1068:4;1061:5;1057:16;1035:63;:::i;:::-;1143:2;1131:15;1148:66;1127:88;1118:98;;;;1218:4;1114:109;;901:328;-1:-1:-1;;901:328:4:o;1234:231::-;1383:2;1372:9;1365:21;1346:4;1403:56;1455:2;1444:9;1440:18;1432:6;1403:56;:::i;1470:180::-;1529:6;1582:2;1570:9;1561:7;1557:23;1553:32;1550:52;;;1598:1;1595;1588:12;1550:52;-1:-1:-1;1621:23:4;;1470:180;-1:-1:-1;1470:180:4:o;1886:196::-;1954:20;;2014:42;2003:54;;1993:65;;1983:93;;2072:1;2069;2062:12;1983:93;1886:196;;;:::o;2087:254::-;2155:6;2163;2216:2;2204:9;2195:7;2191:23;2187:32;2184:52;;;2232:1;2229;2222:12;2184:52;2255:29;2274:9;2255:29;:::i;:::-;2245:39;2331:2;2316:18;;;;2303:32;;-1:-1:-1;;;2087:254:4:o;2528:328::-;2605:6;2613;2621;2674:2;2662:9;2653:7;2649:23;2645:32;2642:52;;;2690:1;2687;2680:12;2642:52;2713:29;2732:9;2713:29;:::i;:::-;2703:39;;2761:38;2795:2;2784:9;2780:18;2761:38;:::i;:::-;2751:48;;2846:2;2835:9;2831:18;2818:32;2808:42;;2528:328;;;;;:::o;2861:367::-;2924:8;2934:6;2988:3;2981:4;2973:6;2969:17;2965:27;2955:55;;3006:1;3003;2996:12;2955:55;-1:-1:-1;3029:20:4;;3072:18;3061:30;;3058:50;;;3104:1;3101;3094:12;3058:50;3141:4;3133:6;3129:17;3117:29;;3201:3;3194:4;3184:6;3181:1;3177:14;3169:6;3165:27;3161:38;3158:47;3155:67;;;3218:1;3215;3208:12;3155:67;2861:367;;;;;:::o;3233:437::-;3319:6;3327;3380:2;3368:9;3359:7;3355:23;3351:32;3348:52;;;3396:1;3393;3386:12;3348:52;3436:9;3423:23;3469:18;3461:6;3458:30;3455:50;;;3501:1;3498;3491:12;3455:50;3540:70;3602:7;3593:6;3582:9;3578:22;3540:70;:::i;:::-;3629:8;;3514:96;;-1:-1:-1;3233:437:4;-1:-1:-1;;;;3233:437:4:o;3675:186::-;3734:6;3787:2;3775:9;3766:7;3762:23;3758:32;3755:52;;;3803:1;3800;3793:12;3755:52;3826:29;3845:9;3826:29;:::i;3866:773::-;3988:6;3996;4004;4012;4065:2;4053:9;4044:7;4040:23;4036:32;4033:52;;;4081:1;4078;4071:12;4033:52;4121:9;4108:23;4150:18;4191:2;4183:6;4180:14;4177:34;;;4207:1;4204;4197:12;4177:34;4246:70;4308:7;4299:6;4288:9;4284:22;4246:70;:::i;:::-;4335:8;;-1:-1:-1;4220:96:4;-1:-1:-1;4423:2:4;4408:18;;4395:32;;-1:-1:-1;4439:16:4;;;4436:36;;;4468:1;4465;4458:12;4436:36;;4507:72;4571:7;4560:8;4549:9;4545:24;4507:72;:::i;:::-;3866:773;;;;-1:-1:-1;4598:8:4;-1:-1:-1;;;;3866:773:4:o;4644:184::-;4696:77;4693:1;4686:88;4793:4;4790:1;4783:15;4817:4;4814:1;4807:15;4833:691;4898:5;4928:18;4969:2;4961:6;4958:14;4955:40;;;4975:18;;:::i;:::-;5109:2;5103:9;5175:2;5163:15;;5014:66;5159:24;;;5185:2;5155:33;5151:42;5139:55;;;5209:18;;;5229:22;;;5206:46;5203:72;;;5255:18;;:::i;:::-;5295:10;5291:2;5284:22;5324:6;5315:15;;5354:6;5346;5339:22;5394:3;5385:6;5380:3;5376:16;5373:25;5370:45;;;5411:1;5408;5401:12;5370:45;5461:6;5456:3;5449:4;5441:6;5437:17;5424:44;5516:1;5509:4;5500:6;5492;5488:19;5484:30;5477:41;;;;4833:691;;;;;:::o;5529:451::-;5598:6;5651:2;5639:9;5630:7;5626:23;5622:32;5619:52;;;5667:1;5664;5657:12;5619:52;5707:9;5694:23;5740:18;5732:6;5729:30;5726:50;;;5772:1;5769;5762:12;5726:50;5795:22;;5848:4;5840:13;;5836:27;-1:-1:-1;5826:55:4;;5877:1;5874;5867:12;5826:55;5900:74;5966:7;5961:2;5948:16;5943:2;5939;5935:11;5900:74;:::i;5985:347::-;6050:6;6058;6111:2;6099:9;6090:7;6086:23;6082:32;6079:52;;;6127:1;6124;6117:12;6079:52;6150:29;6169:9;6150:29;:::i;:::-;6140:39;;6229:2;6218:9;6214:18;6201:32;6276:5;6269:13;6262:21;6255:5;6252:32;6242:60;;6298:1;6295;6288:12;6242:60;6321:5;6311:15;;;5985:347;;;;;:::o;6337:667::-;6432:6;6440;6448;6456;6509:3;6497:9;6488:7;6484:23;6480:33;6477:53;;;6526:1;6523;6516:12;6477:53;6549:29;6568:9;6549:29;:::i;:::-;6539:39;;6597:38;6631:2;6620:9;6616:18;6597:38;:::i;:::-;6587:48;;6682:2;6671:9;6667:18;6654:32;6644:42;;6737:2;6726:9;6722:18;6709:32;6764:18;6756:6;6753:30;6750:50;;;6796:1;6793;6786:12;6750:50;6819:22;;6872:4;6864:13;;6860:27;-1:-1:-1;6850:55:4;;6901:1;6898;6891:12;6850:55;6924:74;6990:7;6985:2;6972:16;6967:2;6963;6959:11;6924:74;:::i;:::-;6914:84;;;6337:667;;;;;;;:::o;7009:260::-;7077:6;7085;7138:2;7126:9;7117:7;7113:23;7109:32;7106:52;;;7154:1;7151;7144:12;7106:52;7177:29;7196:9;7177:29;:::i;:::-;7167:39;;7225:38;7259:2;7248:9;7244:18;7225:38;:::i;:::-;7215:48;;7009:260;;;;;:::o;7274:437::-;7353:1;7349:12;;;;7396;;;7417:61;;7471:4;7463:6;7459:17;7449:27;;7417:61;7524:2;7516:6;7513:14;7493:18;7490:38;7487:218;;;7561:77;7558:1;7551:88;7662:4;7659:1;7652:15;7690:4;7687:1;7680:15;7487:218;;7274:437;;;:::o;8059:184::-;8111:77;8108:1;8101:88;8208:4;8205:1;8198:15;8232:4;8229:1;8222:15;8248:125;8288:4;8316:1;8313;8310:8;8307:34;;;8321:18;;:::i;:::-;-1:-1:-1;8358:9:4;;8248:125::o;8378:228::-;8418:7;8544:1;8476:66;8472:74;8469:1;8466:81;8461:1;8454:9;8447:17;8443:105;8440:131;;;8551:18;;:::i;:::-;-1:-1:-1;8591:9:4;;8378:228::o;9296:184::-;9348:77;9345:1;9338:88;9445:4;9442:1;9435:15;9469:4;9466:1;9459:15;9485:195;9524:3;9555:66;9548:5;9545:77;9542:103;;;9625:18;;:::i;:::-;-1:-1:-1;9672:1:4;9661:13;;9485:195::o;10478:249::-;10547:6;10600:2;10588:9;10579:7;10575:23;10571:32;10568:52;;;10616:1;10613;10606:12;10568:52;10648:9;10642:16;10667:30;10691:5;10667:30;:::i;11077:128::-;11117:3;11148:1;11144:6;11141:1;11138:13;11135:39;;;11154:18;;:::i;:::-;-1:-1:-1;11190:9:4;;11077:128::o;11210:523::-;11404:4;11433:42;11514:2;11506:6;11502:15;11491:9;11484:34;11566:2;11558:6;11554:15;11549:2;11538:9;11534:18;11527:43;;11606:6;11601:2;11590:9;11586:18;11579:34;11649:3;11644:2;11633:9;11629:18;11622:31;11670:57;11722:3;11711:9;11707:19;11699:6;11670:57;:::i;:::-;11662:65;11210:523;-1:-1:-1;;;;;;11210:523:4:o;11864:185::-;11906:3;11944:5;11938:12;11959:52;12004:6;11999:3;11992:4;11985:5;11981:16;11959:52;:::i;:::-;12027:16;;;;;11864:185;-1:-1:-1;;11864:185:4:o;12054:1289::-;12230:3;12259:1;12292:6;12286:13;12322:3;12344:1;12372:9;12368:2;12364:18;12354:28;;12432:2;12421:9;12417:18;12454;12444:61;;12498:4;12490:6;12486:17;12476:27;;12444:61;12524:2;12572;12564:6;12561:14;12541:18;12538:38;12535:222;;;12611:77;12606:3;12599:90;12712:4;12709:1;12702:15;12742:4;12737:3;12730:17;12535:222;12773:18;12800:162;;;;12976:1;12971:320;;;;12766:525;;12800:162;12848:66;12837:9;12833:82;12828:3;12821:95;12945:6;12940:3;12936:16;12929:23;;12800:162;;12971:320;11811:1;11804:14;;;11848:4;11835:18;;13066:1;13080:165;13094:6;13091:1;13088:13;13080:165;;;13172:14;;13159:11;;;13152:35;13215:16;;;;13109:10;;13080:165;;;13084:3;;13274:6;13269:3;13265:16;13258:23;;12766:525;;;;;;;13307:30;13333:3;13325:6;13307:30;:::i;:::-;13300:37;12054:1289;-1:-1:-1;;;;;12054:1289:4:o;13691:184::-;13743:77;13740:1;13733:88;13840:4;13837:1;13830:15;13864:4;13861:1;13854:15;13880:120;13920:1;13946;13936:35;;13951:18;;:::i;:::-;-1:-1:-1;13985:9:4;;13880:120::o;14005:112::-;14037:1;14063;14053:35;;14068:18;;:::i;:::-;-1:-1:-1;14102:9:4;;14005:112::o

Swarm Source

ipfs://ac5ff8468e5f3b05e25c5b4edee6a3d49aae46ab61d4219ad392c1328dcf95b3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Llamaverse is a 4000 Supply Genesis Collection. Core focus on interoperability, utility and community.

Validator Index Block Amount
View All Withdrawals

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

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