ETH Price: $3,417.28 (-0.67%)
Gas: 2 Gwei

Token

Tadpole (TADPOLE)
 

Overview

Max Total Supply

10,000 TADPOLE

Holders

569

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A

Other Info

Balance
10.892067121266700803 TADPOLE
0x4203f67180c9bb04e0ee8e0a23c6e8b4c3c98f85
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
Tadpole

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 5 : Pausable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (security/Pausable.sol)

pragma solidity ^0.8.0;

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

/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor() {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

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

pragma solidity ^0.8.0;

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

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

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

pragma solidity ^0.8.0;

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

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

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

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

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

File 4 of 5 : ERC404.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

abstract contract Ownable {
    event OwnershipTransferred(address indexed user, address indexed newOwner);

    error Unauthorized();
    error InvalidOwner();

    address public owner;

    modifier onlyOwner() virtual {
        if (msg.sender != owner) revert Unauthorized();

        _;
    }

    constructor(address _owner) {
        if (_owner == address(0)) revert InvalidOwner();

        owner = _owner;

        emit OwnershipTransferred(address(0), _owner);
    }

    function transferOwnership(address _owner) public virtual onlyOwner {
        if (_owner == address(0)) revert InvalidOwner();

        owner = _owner;

        emit OwnershipTransferred(msg.sender, _owner);
    }

    function revokeOwnership() public virtual onlyOwner {
        owner = address(0);

        emit OwnershipTransferred(msg.sender, address(0));
    }
}

abstract contract ERC721Receiver {
    function onERC721Received(
        address,
        address,
        uint256,
        bytes calldata
    ) external virtual returns (bytes4) {
        return ERC721Receiver.onERC721Received.selector;
    }
}

/// @notice ERC404
///         A gas-efficient, mixed ERC20 / ERC721 implementation
///         with native liquidity and fractionalization.
///
///         This is an experimental standard designed to integrate
///         with pre-existing ERC20 / ERC721 support as smoothly as
///         possible.
///
/// @dev    In order to support full functionality of ERC20 and ERC721
///         supply assumptions are made that slightly constraint usage.
///         Ensure decimals are sufficiently large (standard 18 recommended)
///         as ids are effectively encoded in the lowest range of amounts.
///
///         NFTs are spent on ERC20 functions in a FILO queue, this is by
///         design.
///
abstract contract ERC404 is Ownable {
    // Events
    event ERC20Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 amount);
    event Transfer(address indexed from, address indexed to, uint256 indexed id);
    event ERC721Approval(address indexed owner, address indexed spender, uint256 indexed id);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    // Errors
    error NotFound();
    error AlreadyExists();
    error InvalidRecipient();
    error InvalidSender();
    error UnsafeRecipient();

    // Metadata
    /// @dev Token name
    string public name;

    /// @dev Token symbol
    string public symbol;

    /// @dev Decimals for fractional representation
    uint8 public immutable decimals;

    /// @dev Total supply in fractionalized representation
    uint256 public immutable totalSupply;

    /// @dev Current mint counter, monotonically increasing to ensure accurate ownership
    uint256 public minted;

    // Mappings
    /// @dev Balance of user in fractional representation
    mapping(address => uint256) public balanceOf;

    /// @dev Allowance of user in fractional representation
    mapping(address => mapping(address => uint256)) public allowance;

    /// @dev Approval in native representaion
    mapping(uint256 => address) public getApproved;

    /// @dev Approval for all in native representation
    mapping(address => mapping(address => bool)) public isApprovedForAll;

    /// @dev Owner of id in native representation
    mapping(uint256 => address) internal _ownerOf;

    /// @dev Array of owned ids in native representation
    mapping(address => uint256[]) internal _owned;

    /// @dev Tracks indices for the _owned mapping
    mapping(uint256 => uint256) internal _ownedIndex;

    /// @dev Addresses whitelisted from minting / burning for gas savings (pairs, routers, etc)
    mapping(address => bool) public whitelist;

    // Constructor
    constructor(
        string memory _name,
        string memory _symbol,
        uint8 _decimals,
        uint256 _totalNativeSupply,
        address _owner
    ) Ownable(_owner) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalNativeSupply * (10**decimals);
    }

    /// @notice Initialization function to set pairs / etc
    ///         saving gas by avoiding mint / burn on unnecessary targets
    function setWhitelist(address target, bool state) public onlyOwner {
        whitelist[target] = state;
    }

    /// @notice Function to find owner of a given native token
    function ownerOf(uint256 id) public view virtual returns (address owner) {
        owner = _ownerOf[id];

        if (owner == address(0)) {
            revert NotFound();
        }
    }

    /// @notice tokenURI must be implemented by child contract
    function tokenURI(uint256 id) public view virtual returns (string memory);

    /// @notice Function for token approvals
    /// @dev This function assumes id / native if amount less than or equal to current max id
    function approve(address spender, uint256 amountOrId) public virtual returns (bool) {
        if (amountOrId <= minted && amountOrId > 0) {
            address owner = _ownerOf[amountOrId];

            if (msg.sender != owner && !isApprovedForAll[owner][msg.sender]) {
                revert Unauthorized();
            }

            getApproved[amountOrId] = spender;

            emit Approval(owner, spender, amountOrId);
        } else {
            allowance[msg.sender][spender] = amountOrId;

            emit Approval(msg.sender, spender, amountOrId);
        }

        return true;
    }

    /// @notice Function native approvals
    function setApprovalForAll(address operator, bool approved) public virtual {
        isApprovedForAll[msg.sender][operator] = approved;

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

    /// @notice Function for mixed transfers
    /// @dev This function assumes id / native if amount less than or equal to current max id
    function transferFrom(
        address from,
        address to,
        uint256 amountOrId
    ) public virtual {
        if (amountOrId <= minted) {
            if (from != _ownerOf[amountOrId]) {
                revert InvalidSender();
            }

            if (to == address(0)) {
                revert InvalidRecipient();
            }

            if (msg.sender != from && !isApprovedForAll[from][msg.sender] && msg.sender != getApproved[amountOrId]) {
                revert Unauthorized();
            }

            balanceOf[from] -= _getUnit();

            unchecked {
                balanceOf[to] += _getUnit();
            }

            _ownerOf[amountOrId] = to;
            delete getApproved[amountOrId];

            // update _owned for sender
            uint256 updatedId = _owned[from][_owned[from].length - 1];
            _owned[from][_ownedIndex[amountOrId]] = updatedId;
            // pop
            _owned[from].pop();
            // update index for the moved id
            _ownedIndex[updatedId] = _ownedIndex[amountOrId];
            // push token to to owned
            _owned[to].push(amountOrId);
            // update index for to owned
            _ownedIndex[amountOrId] = _owned[to].length - 1;

            emit Transfer(from, to, amountOrId);
            emit ERC20Transfer(from, to, _getUnit());
        } else {
            uint256 allowed = allowance[from][msg.sender];

            if (allowed != type(uint256).max) allowance[from][msg.sender] = allowed - amountOrId;

            _transfer(from, to, amountOrId);
        }
    }

    /// @notice Function for fractional transfers
    function transfer(address to, uint256 amount) public virtual returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

    /// @notice Function for native transfers with contract support
    function safeTransferFrom(
        address from,
        address to,
        uint256 id
    ) public virtual {
        transferFrom(from, to, id);

        if (
            to.code.length != 0 &&
            ERC721Receiver(to).onERC721Received(msg.sender, from, id, "") != ERC721Receiver.onERC721Received.selector
        ) {
            revert UnsafeRecipient();
        }
    }

    /// @notice Function for native transfers with contract support and callback data
    function safeTransferFrom(
        address from,
        address to,
        uint256 id,
        bytes calldata data
    ) public virtual {
        transferFrom(from, to, id);

        if (
            to.code.length != 0 &&
            ERC721Receiver(to).onERC721Received(msg.sender, from, id, data) != ERC721Receiver.onERC721Received.selector
        ) {
            revert UnsafeRecipient();
        }
    }

    /// @notice Internal function for fractional transfers
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual returns (bool) {
        uint256 unit = _getUnit();
        uint256 balanceBeforeSender = balanceOf[from];
        uint256 balanceBeforeReceiver = balanceOf[to];

        balanceOf[from] -= amount;

        unchecked {
            balanceOf[to] += amount;
        }

        // Skip burn for certain addresses to save gas
        if (!whitelist[from]) {
            uint256 tokens_to_burn = (balanceBeforeSender / unit) - (balanceOf[from] / unit);
            for (uint256 i = 0; i < tokens_to_burn; i++) {
                _burn(from);
            }
        }

        // Skip minting for certain addresses to save gas
        if (!whitelist[to]) {
            uint256 tokens_to_mint = (balanceOf[to] / unit) - (balanceBeforeReceiver / unit);
            for (uint256 i = 0; i < tokens_to_mint; i++) {
                _mint(to);
            }
        }

        emit ERC20Transfer(from, to, amount);
        return true;
    }

    // Internal utility logic
    function _getUnit() internal view returns (uint256) {
        return 10**decimals;
    }

    function _mint(address to) internal virtual {
        if (to == address(0)) {
            revert InvalidRecipient();
        }

        unchecked {
            minted++;
        }

        uint256 id = minted;

        if (_ownerOf[id] != address(0)) {
            revert AlreadyExists();
        }

        _ownerOf[id] = to;
        _owned[to].push(id);
        _ownedIndex[id] = _owned[to].length - 1;

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

    function _burn(address from) internal virtual {
        if (from == address(0)) {
            revert InvalidSender();
        }

        uint256 id = _owned[from][_owned[from].length - 1];
        _owned[from].pop();
        delete _ownedIndex[id];
        delete _ownerOf[id];
        delete getApproved[id];

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

    function _setNameSymbol(string memory _name, string memory _symbol) internal {
        name = _name;
        symbol = _symbol;
    }
}

File 5 of 5 : Tadpole.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

import "./ERC404.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/security/Pausable.sol";

/* The official TADPOLE ERC404 by Froggy Friends */

contract Tadpole is ERC404, Pausable {
    string public tadpoleUrl;
    bool public revealed;
    uint256 public buyLimit;
    uint256 public sellLimit;
    uint256 public txLimit;
    mapping (address => uint256) public userBuyLimit;
    mapping (address => uint256) public userSellLimit;
    bool public applyTxLimit;

    constructor(address _owner, uint256 _buyLimit, uint256 _sellLimit) ERC404("Tadpole", "TADPOLE", 18, 10000, _owner) {
        balanceOf[_owner] = 10000 * 10 ** 18;
        buyLimit = _buyLimit * 10 ** 18;
        sellLimit = _sellLimit * 10 ** 18;
        txLimit = 10 * 10 ** 18;
    }

    function pause() public onlyOwner {
        super._pause();
    }

    function unpause() public onlyOwner {
        super._unpause();
    }

    function setLimit(uint256 _buylimit, uint256 _selllimit) public onlyOwner {
        buyLimit = _buylimit * 10 ** 18;
        sellLimit = _selllimit * 10 ** 18;
    }

    function startApplyingLimit() external onlyOwner{
        applyTxLimit = true;
    }

    function stopApplyingLimit() external onlyOwner{
        applyTxLimit = false;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override virtual whenNotPaused returns (bool){
        if(applyTxLimit){
            require(amount < txLimit, "exceed tx limit");
        }
        if(!whitelist[from]){
            userSellLimit[from] += amount;
            require(userSellLimit[from] <= sellLimit, "not allowed anymore to sell");
        }
        if(!whitelist[to]){
            userBuyLimit[to] += amount;
            require(userBuyLimit[to] <= buyLimit, "not allowed anymore to buy");
        }
        return super._transfer(from, to, amount);
    }

    function setTadpoleUrl(string memory _tokenURI) public onlyOwner {
        tadpoleUrl = _tokenURI;
    }

    function setNameSymbol(string memory _name, string memory _symbol) public onlyOwner {
        _setNameSymbol(_name, _symbol);
    }

    function setRevealed(bool _revealed) public onlyOwner {
        revealed = _revealed;
    }

    function tokenURI(uint256 id) public view override returns (string memory) {
        if (bytes(tadpoleUrl).length <= 0) return "";
        return
            revealed
                ? string(abi.encodePacked(tadpoleUrl, Strings.toString(id)))
                : string(abi.encodePacked(tadpoleUrl));
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_buyLimit","type":"uint256"},{"internalType":"uint256","name":"_sellLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyExists","type":"error"},{"inputs":[],"name":"InvalidOwner","type":"error"},{"inputs":[],"name":"InvalidRecipient","type":"error"},{"inputs":[],"name":"InvalidSender","type":"error"},{"inputs":[],"name":"NotFound","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnsafeRecipient","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ERC20Transfer","type":"event"},{"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":"ERC721Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"applyTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amountOrId","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revokeOwnership","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":[],"name":"sellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buylimit","type":"uint256"},{"internalType":"uint256","name":"_selllimit","type":"uint256"}],"name":"setLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"name":"setNameSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_revealed","type":"bool"}],"name":"setRevealed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_tokenURI","type":"string"}],"name":"setTadpoleUrl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startApplyingLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopApplyingLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tadpoleUrl","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountOrId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"txLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60c06040523480156200001157600080fd5b506040516200265b3803806200265b8339810160408190526200003491620001b2565b60405180604001604052806007815260200166546164706f6c6560c81b81525060405180604001604052806007815260200166544144504f4c4560c81b8152506012612710868060006001600160a01b0316816001600160a01b031603620000af576040516349e27cff60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060016200010686826200029e565b5060026200011585826200029e565b5060ff831660808190526200012c90600a6200047f565b62000138908362000497565b60a0525050600c805460ff191690555050506001600160a01b038316600090815260046020526040902069021e19e0c9bab240000090556200018382670de0b6b3a764000062000497565b600f556200019a81670de0b6b3a764000062000497565b6010555050678ac7230489e8000060115550620004b1565b600080600060608486031215620001c857600080fd5b83516001600160a01b0381168114620001e057600080fd5b602085015160409095015190969495509392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200022257607f821691505b6020821081036200024357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000299576000816000526020600020601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba620001f7565b620002d281620002cb84546200020d565b8462000249565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003c1578160001904821115620003a557620003a56200036a565b80851615620003b357918102915b93841c939080029062000385565b509250929050565b600082620003da5750600162000479565b81620003e95750600062000479565b81600181146200040257600281146200040d576200042d565b600191505062000479565b60ff8411156200042157620004216200036a565b50506001821b62000479565b5060208310610133831016604e8410600b841016171562000452575081810a62000479565b6200045e838362000380565b80600019048211156200047557620004756200036a565b0290505b92915050565b60006200049060ff841683620003c9565b9392505050565b80820281158282048414176200047957620004796200036a565b60805160a05161217d620004de60003960006102c901526000818161033b0152611133015261217d6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636352211e1161013b578063b62134c3116100b8578063dd62ed3e1161007c578063dd62ed3e14610514578063e0a808531461053f578063e985e9c514610552578063f0306ea414610580578063f2fde38b1461058857600080fd5b8063b62134c3146104a6578063b88d4fde146104c6578063c6a6035a146104d9578063c87b56dd146104e1578063d9cf506c146104f457600080fd5b80638da5cb5b116100ff5780638da5cb5b1461044257806395d89b41146104555780639b19251a1461045d578063a22cb46514610480578063a9059cbb1461049357600080fd5b80636352211e146103f65780636caae8321461040957806370a08231146104125780638456cb59146104325780638697e09f1461043a57600080fd5b80633f4ba83a116101c9578063504334c21161018d578063504334c2146103af57806351830227146103c257806353d6fd59146103cf578063589210d9146103e25780635c975abb146103eb57600080fd5b80633f4ba83a1461036f57806340a4759e1461037757806342842e0e1461038a5780634f02c4201461039d5780634f91e48c146103a657600080fd5b80631e70b6df116102105780631e70b6df146102f9578063207add911461030657806323b872dd1461031b5780632b9689581461032e578063313ce5671461033657600080fd5b806306fdde0314610242578063081812fc14610260578063095ea7b3146102a157806318160ddd146102c4575b600080fd5b61024a61059b565b60405161025791906119ad565b60405180910390f35b61028961026e3660046119e0565b6006602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610257565b6102b46102af366004611a10565b610629565b6040519015158152602001610257565b6102eb7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610257565b6014546102b49060ff1681565b610319610314366004611a3a565b61077a565b005b610319610329366004611a5c565b6107d2565b610319610b5b565b61035d7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610257565b610319610bc1565b610319610385366004611b3b565b610bf5565b610319610398366004611a5c565b610c2f565b6102eb60035481565b6102eb60105481565b6103196103bd366004611b70565b610d04565b600e546102b49060ff1681565b6103196103dd366004611be4565b610d38565b6102eb600f5481565b600c5460ff166102b4565b6102896104043660046119e0565b610d8d565b6102eb60115481565b6102eb610420366004611c17565b60046020526000908152604090205481565b610319610dc8565b61024a610dfa565b600054610289906001600160a01b031681565b61024a610e07565b6102b461046b366004611c17565b600b6020526000908152604090205460ff1681565b61031961048e366004611be4565b610e14565b6102b46104a1366004611a10565b610e80565b6102eb6104b4366004611c17565b60136020526000908152604090205481565b6103196104d4366004611c32565b610e94565b610319610f57565b61024a6104ef3660046119e0565b610f90565b6102eb610502366004611c17565b60126020526000908152604090205481565b6102eb610522366004611ccd565b600560209081526000928352604080842090915290825290205481565b61031961054d366004611cf7565b61101d565b6102b4610560366004611ccd565b600760209081526000928352604080842090915290825290205460ff1681565b61031961105a565b610319610596366004611c17565b611090565b600180546105a890611d12565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490611d12565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081565b6000600354821115801561063d5750600082115b15610714576000828152600860205260409020546001600160a01b031633811480159061068e57506001600160a01b038116600090815260076020908152604080832033845290915290205460ff16155b156106ab576040516282b42960e81b815260040160405180910390fd5b60008381526006602090815260409182902080546001600160a01b0319166001600160a01b038881169182179092559251868152908416917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350610770565b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b5060015b92915050565b6000546001600160a01b031633146107a4576040516282b42960e81b815260040160405180910390fd5b6107b682670de0b6b3a7640000611d62565b600f556107cb81670de0b6b3a7640000611d62565b6010555050565b6003548111610aec576000818152600860205260409020546001600160a01b0384811691161461081557604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b03821661083c57604051634e46966960e11b815260040160405180910390fd5b336001600160a01b0384161480159061087957506001600160a01b038316600090815260076020908152604080832033845290915290205460ff16155b801561089c57506000818152600660205260409020546001600160a01b03163314155b156108b9576040516282b42960e81b815260040160405180910390fd5b6108c161112c565b6001600160a01b038416600090815260046020526040812080549091906108e9908490611d79565b909155506108f7905061112c565b6001600160a01b03808416600081815260046020908152604080832080549096019095558582526008815284822080546001600160a01b03199081169094179055600681528482208054909316909255918616825260099052908120805461096190600190611d79565b8154811061097157610971611d8c565b60009182526020808320909101546001600160a01b0387168352600982526040808420868552600a909352909220548154929350839281106109b5576109b5611d8c565b60009182526020808320909101929092556001600160a01b03861681526009909152604090208054806109ea576109ea611da2565b600082815260208082208301600019908101839055909201909255838252600a8152604080832054848452818420556001600160a01b038616808452600983529083208054600181810183558286529385200186905592529054610a4e9190611d79565b6000838152600a602052604080822092909255905183916001600160a01b0380871692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4826001600160a01b0316846001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487610ad561112c565b60405190815260200160405180910390a350505050565b6001600160a01b03831660009081526005602090815260408083203384529091529020546000198114610b4857610b238282611d79565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610b5384848461115e565b50505b505050565b6000546001600160a01b03163314610b85576040516282b42960e81b815260040160405180910390fd5b600080546001600160a01b031916815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6000546001600160a01b03163314610beb576040516282b42960e81b815260040160405180910390fd5b610bf3611380565b565b6000546001600160a01b03163314610c1f576040516282b42960e81b815260040160405180910390fd5b600d610c2b8282611e08565b5050565b610c3a8383836107d2565b6001600160a01b0382163b15801590610ce65750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd99190611ec8565b6001600160e01b03191614155b15610b5657604051633da6393160e01b815260040160405180910390fd5b6000546001600160a01b03163314610d2e576040516282b42960e81b815260040160405180910390fd5b610c2b8282611413565b6000546001600160a01b03163314610d62576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000818152600860205260409020546001600160a01b031680610dc35760405163c5723b5160e01b815260040160405180910390fd5b919050565b6000546001600160a01b03163314610df2576040516282b42960e81b815260040160405180910390fd5b610bf361142c565b600d80546105a890611d12565b600280546105a890611d12565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610e8d33848461115e565b9392505050565b610e9f8585856107d2565b6001600160a01b0384163b15801590610f395750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610ee99033908a90899089908990600401611ef2565b6020604051808303816000875af1158015610f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c9190611ec8565b6001600160e01b03191614155b15610b5357604051633da6393160e01b815260040160405180910390fd5b6000546001600160a01b03163314610f81576040516282b42960e81b815260040160405180910390fd5b6014805460ff19166001179055565b60606000600d8054610fa190611d12565b905011610fbc57505060408051602081019091526000815290565b600e5460ff16610fec57600d604051602001610fd89190611fb9565b604051602081830303815290604052610774565b600d610ff7836114a7565b604051602001611008929190611fc5565b60405160208183030381529060405292915050565b6000546001600160a01b03163314611047576040516282b42960e81b815260040160405180910390fd5b600e805460ff1916911515919091179055565b6000546001600160a01b03163314611084576040516282b42960e81b815260040160405180910390fd5b6014805460ff19169055565b6000546001600160a01b031633146110ba576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381166110e1576040516349e27cff60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60006111597f0000000000000000000000000000000000000000000000000000000000000000600a6120ce565b905090565b600061116c600c5460ff1690565b156111b15760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b60145460ff16156111ff5760115482106111ff5760405162461bcd60e51b815260206004820152600f60248201526e195e18d95959081d1e081b1a5b5a5d608a1b60448201526064016111a8565b6001600160a01b0384166000908152600b602052604090205460ff166112b6576001600160a01b038416600090815260136020526040812080548492906112479084906120dd565b90915550506010546001600160a01b03851660009081526013602052604090205411156112b65760405162461bcd60e51b815260206004820152601b60248201527f6e6f7420616c6c6f77656420616e796d6f726520746f2073656c6c000000000060448201526064016111a8565b6001600160a01b0383166000908152600b602052604090205460ff1661136d576001600160a01b038316600090815260126020526040812080548492906112fe9084906120dd565b9091555050600f546001600160a01b038416600090815260126020526040902054111561136d5760405162461bcd60e51b815260206004820152601a60248201527f6e6f7420616c6c6f77656420616e796d6f726520746f2062757900000000000060448201526064016111a8565b6113788484846115a8565b949350505050565b600c5460ff166113c95760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016111a8565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600161141f8382611e08565b506002610b568282611e08565b600c5460ff16156114725760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016111a8565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113f63390565b6060816000036114ce5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156114f857806114e2816120f0565b91506114f19050600a8361211f565b91506114d2565b60008167ffffffffffffffff81111561151357611513611a98565b6040519080825280601f01601f19166020018201604052801561153d576020820181803683370190505b5090505b841561137857611552600183611d79565b915061155f600a86612133565b61156a9060306120dd565b60f81b81838151811061157f5761157f611d8c565b60200101906001600160f81b031916908160001a9053506115a1600a8661211f565b9450611541565b6000806115b361112c565b6001600160a01b038087166000818152600460205260408082208054948a16835290822054928252939450919290918691906115ef8386611d79565b90915550506001600160a01b03808716600090815260046020908152604080832080548a019055928a168252600b9052205460ff16611681576001600160a01b03871660009081526004602052604081205461164c90859061211f565b611656858561211f565b6116609190611d79565b905060005b8181101561167e5761167689611756565b600101611665565b50505b6001600160a01b0386166000908152600b602052604090205460ff166116fc5760006116ad848361211f565b6001600160a01b0388166000908152600460205260409020546116d190869061211f565b6116db9190611d79565b905060005b818110156116f9576116f18861187e565b6001016116e0565b50505b856001600160a01b0316876001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e0314878760405161174191815260200190565b60405180910390a35060019695505050505050565b6001600160a01b03811661177d57604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b038116600090815260096020526040812080546117a390600190611d79565b815481106117b3576117b3611d8c565b9060005260206000200154905060096000836001600160a01b03166001600160a01b031681526020019081526020016000208054806117f4576117f4611da2565b600082815260208082208301600019908101839055909201909255828252600a815260408083208390556008825280832080546001600160a01b031990811690915560069092528083208054909216909155518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0381166118a557604051634e46966960e11b815260040160405180910390fd5b60038054600101908190556000818152600860205260409020546001600160a01b0316156118e65760405163119b4fd360e11b815260040160405180910390fd5b600081815260086020908152604080832080546001600160a01b0319166001600160a01b03871690811790915580845260098352908320805460018181018355828652938520018590559252905461193e9190611d79565b6000828152600a602052604080822092909255905182916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60005b838110156119a457818101518382015260200161198c565b50506000910152565b60208152600082518060208401526119cc816040850160208701611989565b601f01601f19169190910160400192915050565b6000602082840312156119f257600080fd5b5035919050565b80356001600160a01b0381168114610dc357600080fd5b60008060408385031215611a2357600080fd5b611a2c836119f9565b946020939093013593505050565b60008060408385031215611a4d57600080fd5b50508035926020909101359150565b600080600060608486031215611a7157600080fd5b611a7a846119f9565b9250611a88602085016119f9565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611abf57600080fd5b813567ffffffffffffffff80821115611ada57611ada611a98565b604051601f8301601f19908116603f01168101908282118183101715611b0257611b02611a98565b81604052838152866020858801011115611b1b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611b4d57600080fd5b813567ffffffffffffffff811115611b6457600080fd5b61137884828501611aae565b60008060408385031215611b8357600080fd5b823567ffffffffffffffff80821115611b9b57600080fd5b611ba786838701611aae565b93506020850135915080821115611bbd57600080fd5b50611bca85828601611aae565b9150509250929050565b80358015158114610dc357600080fd5b60008060408385031215611bf757600080fd5b611c00836119f9565b9150611c0e60208401611bd4565b90509250929050565b600060208284031215611c2957600080fd5b610e8d826119f9565b600080600080600060808688031215611c4a57600080fd5b611c53866119f9565b9450611c61602087016119f9565b935060408601359250606086013567ffffffffffffffff80821115611c8557600080fd5b818801915088601f830112611c9957600080fd5b813581811115611ca857600080fd5b896020828501011115611cba57600080fd5b9699959850939650602001949392505050565b60008060408385031215611ce057600080fd5b611ce9836119f9565b9150611c0e602084016119f9565b600060208284031215611d0957600080fd5b610e8d82611bd4565b600181811c90821680611d2657607f821691505b602082108103611d4657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077457610774611d4c565b8181038181111561077457610774611d4c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b601f821115610b56576000816000526020600020601f850160051c81016020861015611de15750805b601f850160051c820191505b81811015611e0057828155600101611ded565b505050505050565b815167ffffffffffffffff811115611e2257611e22611a98565b611e3681611e308454611d12565b84611db8565b602080601f831160018114611e6b5760008415611e535750858301515b600019600386901b1c1916600185901b178555611e00565b600085815260208120601f198616915b82811015611e9a57888601518255948401946001909101908401611e7b565b5085821015611eb85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611eda57600080fd5b81516001600160e01b031981168114610e8d57600080fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b60008154611f5381611d12565b60018281168015611f6b5760018114611f8057611faf565b60ff1984168752821515830287019450611faf565b8560005260208060002060005b85811015611fa65781548a820152908401908201611f8d565b50505082870194505b5050505092915050565b6000610e8d8284611f46565b6000611fd18285611f46565b8351611fe1818360208801611989565b01949350505050565b600181815b8085111561202557816000190482111561200b5761200b611d4c565b8085161561201857918102915b93841c9390800290611fef565b509250929050565b60008261203c57506001610774565b8161204957506000610774565b816001811461205f576002811461206957612085565b6001915050610774565b60ff84111561207a5761207a611d4c565b50506001821b610774565b5060208310610133831016604e8410600b84101617156120a8575081810a610774565b6120b28383611fea565b80600019048211156120c6576120c6611d4c565b029392505050565b6000610e8d60ff84168361202d565b8082018082111561077457610774611d4c565b60006001820161210257612102611d4c565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261212e5761212e612109565b500490565b60008261214257612142612109565b50069056fea264697066735822122078ae35ca69c8838e7f1a0679c4c05380babf80810a1ca416c2afe7c59b1a2ff064736f6c634300081800330000000000000000000000007a405a70575714d74a1fa0b860730cf7456e6ebb00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80636352211e1161013b578063b62134c3116100b8578063dd62ed3e1161007c578063dd62ed3e14610514578063e0a808531461053f578063e985e9c514610552578063f0306ea414610580578063f2fde38b1461058857600080fd5b8063b62134c3146104a6578063b88d4fde146104c6578063c6a6035a146104d9578063c87b56dd146104e1578063d9cf506c146104f457600080fd5b80638da5cb5b116100ff5780638da5cb5b1461044257806395d89b41146104555780639b19251a1461045d578063a22cb46514610480578063a9059cbb1461049357600080fd5b80636352211e146103f65780636caae8321461040957806370a08231146104125780638456cb59146104325780638697e09f1461043a57600080fd5b80633f4ba83a116101c9578063504334c21161018d578063504334c2146103af57806351830227146103c257806353d6fd59146103cf578063589210d9146103e25780635c975abb146103eb57600080fd5b80633f4ba83a1461036f57806340a4759e1461037757806342842e0e1461038a5780634f02c4201461039d5780634f91e48c146103a657600080fd5b80631e70b6df116102105780631e70b6df146102f9578063207add911461030657806323b872dd1461031b5780632b9689581461032e578063313ce5671461033657600080fd5b806306fdde0314610242578063081812fc14610260578063095ea7b3146102a157806318160ddd146102c4575b600080fd5b61024a61059b565b60405161025791906119ad565b60405180910390f35b61028961026e3660046119e0565b6006602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610257565b6102b46102af366004611a10565b610629565b6040519015158152602001610257565b6102eb7f00000000000000000000000000000000000000000000021e19e0c9bab240000081565b604051908152602001610257565b6014546102b49060ff1681565b610319610314366004611a3a565b61077a565b005b610319610329366004611a5c565b6107d2565b610319610b5b565b61035d7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610257565b610319610bc1565b610319610385366004611b3b565b610bf5565b610319610398366004611a5c565b610c2f565b6102eb60035481565b6102eb60105481565b6103196103bd366004611b70565b610d04565b600e546102b49060ff1681565b6103196103dd366004611be4565b610d38565b6102eb600f5481565b600c5460ff166102b4565b6102896104043660046119e0565b610d8d565b6102eb60115481565b6102eb610420366004611c17565b60046020526000908152604090205481565b610319610dc8565b61024a610dfa565b600054610289906001600160a01b031681565b61024a610e07565b6102b461046b366004611c17565b600b6020526000908152604090205460ff1681565b61031961048e366004611be4565b610e14565b6102b46104a1366004611a10565b610e80565b6102eb6104b4366004611c17565b60136020526000908152604090205481565b6103196104d4366004611c32565b610e94565b610319610f57565b61024a6104ef3660046119e0565b610f90565b6102eb610502366004611c17565b60126020526000908152604090205481565b6102eb610522366004611ccd565b600560209081526000928352604080842090915290825290205481565b61031961054d366004611cf7565b61101d565b6102b4610560366004611ccd565b600760209081526000928352604080842090915290825290205460ff1681565b61031961105a565b610319610596366004611c17565b611090565b600180546105a890611d12565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490611d12565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081565b6000600354821115801561063d5750600082115b15610714576000828152600860205260409020546001600160a01b031633811480159061068e57506001600160a01b038116600090815260076020908152604080832033845290915290205460ff16155b156106ab576040516282b42960e81b815260040160405180910390fd5b60008381526006602090815260409182902080546001600160a01b0319166001600160a01b038881169182179092559251868152908416917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350610770565b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b5060015b92915050565b6000546001600160a01b031633146107a4576040516282b42960e81b815260040160405180910390fd5b6107b682670de0b6b3a7640000611d62565b600f556107cb81670de0b6b3a7640000611d62565b6010555050565b6003548111610aec576000818152600860205260409020546001600160a01b0384811691161461081557604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b03821661083c57604051634e46966960e11b815260040160405180910390fd5b336001600160a01b0384161480159061087957506001600160a01b038316600090815260076020908152604080832033845290915290205460ff16155b801561089c57506000818152600660205260409020546001600160a01b03163314155b156108b9576040516282b42960e81b815260040160405180910390fd5b6108c161112c565b6001600160a01b038416600090815260046020526040812080549091906108e9908490611d79565b909155506108f7905061112c565b6001600160a01b03808416600081815260046020908152604080832080549096019095558582526008815284822080546001600160a01b03199081169094179055600681528482208054909316909255918616825260099052908120805461096190600190611d79565b8154811061097157610971611d8c565b60009182526020808320909101546001600160a01b0387168352600982526040808420868552600a909352909220548154929350839281106109b5576109b5611d8c565b60009182526020808320909101929092556001600160a01b03861681526009909152604090208054806109ea576109ea611da2565b600082815260208082208301600019908101839055909201909255838252600a8152604080832054848452818420556001600160a01b038616808452600983529083208054600181810183558286529385200186905592529054610a4e9190611d79565b6000838152600a602052604080822092909255905183916001600160a01b0380871692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4826001600160a01b0316846001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487610ad561112c565b60405190815260200160405180910390a350505050565b6001600160a01b03831660009081526005602090815260408083203384529091529020546000198114610b4857610b238282611d79565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b610b5384848461115e565b50505b505050565b6000546001600160a01b03163314610b85576040516282b42960e81b815260040160405180910390fd5b600080546001600160a01b031916815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b6000546001600160a01b03163314610beb576040516282b42960e81b815260040160405180910390fd5b610bf3611380565b565b6000546001600160a01b03163314610c1f576040516282b42960e81b815260040160405180910390fd5b600d610c2b8282611e08565b5050565b610c3a8383836107d2565b6001600160a01b0382163b15801590610ce65750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd99190611ec8565b6001600160e01b03191614155b15610b5657604051633da6393160e01b815260040160405180910390fd5b6000546001600160a01b03163314610d2e576040516282b42960e81b815260040160405180910390fd5b610c2b8282611413565b6000546001600160a01b03163314610d62576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000818152600860205260409020546001600160a01b031680610dc35760405163c5723b5160e01b815260040160405180910390fd5b919050565b6000546001600160a01b03163314610df2576040516282b42960e81b815260040160405180910390fd5b610bf361142c565b600d80546105a890611d12565b600280546105a890611d12565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610e8d33848461115e565b9392505050565b610e9f8585856107d2565b6001600160a01b0384163b15801590610f395750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610ee99033908a90899089908990600401611ef2565b6020604051808303816000875af1158015610f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c9190611ec8565b6001600160e01b03191614155b15610b5357604051633da6393160e01b815260040160405180910390fd5b6000546001600160a01b03163314610f81576040516282b42960e81b815260040160405180910390fd5b6014805460ff19166001179055565b60606000600d8054610fa190611d12565b905011610fbc57505060408051602081019091526000815290565b600e5460ff16610fec57600d604051602001610fd89190611fb9565b604051602081830303815290604052610774565b600d610ff7836114a7565b604051602001611008929190611fc5565b60405160208183030381529060405292915050565b6000546001600160a01b03163314611047576040516282b42960e81b815260040160405180910390fd5b600e805460ff1916911515919091179055565b6000546001600160a01b03163314611084576040516282b42960e81b815260040160405180910390fd5b6014805460ff19169055565b6000546001600160a01b031633146110ba576040516282b42960e81b815260040160405180910390fd5b6001600160a01b0381166110e1576040516349e27cff60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60006111597f0000000000000000000000000000000000000000000000000000000000000012600a6120ce565b905090565b600061116c600c5460ff1690565b156111b15760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b60145460ff16156111ff5760115482106111ff5760405162461bcd60e51b815260206004820152600f60248201526e195e18d95959081d1e081b1a5b5a5d608a1b60448201526064016111a8565b6001600160a01b0384166000908152600b602052604090205460ff166112b6576001600160a01b038416600090815260136020526040812080548492906112479084906120dd565b90915550506010546001600160a01b03851660009081526013602052604090205411156112b65760405162461bcd60e51b815260206004820152601b60248201527f6e6f7420616c6c6f77656420616e796d6f726520746f2073656c6c000000000060448201526064016111a8565b6001600160a01b0383166000908152600b602052604090205460ff1661136d576001600160a01b038316600090815260126020526040812080548492906112fe9084906120dd565b9091555050600f546001600160a01b038416600090815260126020526040902054111561136d5760405162461bcd60e51b815260206004820152601a60248201527f6e6f7420616c6c6f77656420616e796d6f726520746f2062757900000000000060448201526064016111a8565b6113788484846115a8565b949350505050565b600c5460ff166113c95760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016111a8565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600161141f8382611e08565b506002610b568282611e08565b600c5460ff16156114725760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016111a8565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113f63390565b6060816000036114ce5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156114f857806114e2816120f0565b91506114f19050600a8361211f565b91506114d2565b60008167ffffffffffffffff81111561151357611513611a98565b6040519080825280601f01601f19166020018201604052801561153d576020820181803683370190505b5090505b841561137857611552600183611d79565b915061155f600a86612133565b61156a9060306120dd565b60f81b81838151811061157f5761157f611d8c565b60200101906001600160f81b031916908160001a9053506115a1600a8661211f565b9450611541565b6000806115b361112c565b6001600160a01b038087166000818152600460205260408082208054948a16835290822054928252939450919290918691906115ef8386611d79565b90915550506001600160a01b03808716600090815260046020908152604080832080548a019055928a168252600b9052205460ff16611681576001600160a01b03871660009081526004602052604081205461164c90859061211f565b611656858561211f565b6116609190611d79565b905060005b8181101561167e5761167689611756565b600101611665565b50505b6001600160a01b0386166000908152600b602052604090205460ff166116fc5760006116ad848361211f565b6001600160a01b0388166000908152600460205260409020546116d190869061211f565b6116db9190611d79565b905060005b818110156116f9576116f18861187e565b6001016116e0565b50505b856001600160a01b0316876001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e0314878760405161174191815260200190565b60405180910390a35060019695505050505050565b6001600160a01b03811661177d57604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b038116600090815260096020526040812080546117a390600190611d79565b815481106117b3576117b3611d8c565b9060005260206000200154905060096000836001600160a01b03166001600160a01b031681526020019081526020016000208054806117f4576117f4611da2565b600082815260208082208301600019908101839055909201909255828252600a815260408083208390556008825280832080546001600160a01b031990811690915560069092528083208054909216909155518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0381166118a557604051634e46966960e11b815260040160405180910390fd5b60038054600101908190556000818152600860205260409020546001600160a01b0316156118e65760405163119b4fd360e11b815260040160405180910390fd5b600081815260086020908152604080832080546001600160a01b0319166001600160a01b03871690811790915580845260098352908320805460018181018355828652938520018590559252905461193e9190611d79565b6000828152600a602052604080822092909255905182916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60005b838110156119a457818101518382015260200161198c565b50506000910152565b60208152600082518060208401526119cc816040850160208701611989565b601f01601f19169190910160400192915050565b6000602082840312156119f257600080fd5b5035919050565b80356001600160a01b0381168114610dc357600080fd5b60008060408385031215611a2357600080fd5b611a2c836119f9565b946020939093013593505050565b60008060408385031215611a4d57600080fd5b50508035926020909101359150565b600080600060608486031215611a7157600080fd5b611a7a846119f9565b9250611a88602085016119f9565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611abf57600080fd5b813567ffffffffffffffff80821115611ada57611ada611a98565b604051601f8301601f19908116603f01168101908282118183101715611b0257611b02611a98565b81604052838152866020858801011115611b1b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611b4d57600080fd5b813567ffffffffffffffff811115611b6457600080fd5b61137884828501611aae565b60008060408385031215611b8357600080fd5b823567ffffffffffffffff80821115611b9b57600080fd5b611ba786838701611aae565b93506020850135915080821115611bbd57600080fd5b50611bca85828601611aae565b9150509250929050565b80358015158114610dc357600080fd5b60008060408385031215611bf757600080fd5b611c00836119f9565b9150611c0e60208401611bd4565b90509250929050565b600060208284031215611c2957600080fd5b610e8d826119f9565b600080600080600060808688031215611c4a57600080fd5b611c53866119f9565b9450611c61602087016119f9565b935060408601359250606086013567ffffffffffffffff80821115611c8557600080fd5b818801915088601f830112611c9957600080fd5b813581811115611ca857600080fd5b896020828501011115611cba57600080fd5b9699959850939650602001949392505050565b60008060408385031215611ce057600080fd5b611ce9836119f9565b9150611c0e602084016119f9565b600060208284031215611d0957600080fd5b610e8d82611bd4565b600181811c90821680611d2657607f821691505b602082108103611d4657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077457610774611d4c565b8181038181111561077457610774611d4c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b601f821115610b56576000816000526020600020601f850160051c81016020861015611de15750805b601f850160051c820191505b81811015611e0057828155600101611ded565b505050505050565b815167ffffffffffffffff811115611e2257611e22611a98565b611e3681611e308454611d12565b84611db8565b602080601f831160018114611e6b5760008415611e535750858301515b600019600386901b1c1916600185901b178555611e00565b600085815260208120601f198616915b82811015611e9a57888601518255948401946001909101908401611e7b565b5085821015611eb85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611eda57600080fd5b81516001600160e01b031981168114610e8d57600080fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b60008154611f5381611d12565b60018281168015611f6b5760018114611f8057611faf565b60ff1984168752821515830287019450611faf565b8560005260208060002060005b85811015611fa65781548a820152908401908201611f8d565b50505082870194505b5050505092915050565b6000610e8d8284611f46565b6000611fd18285611f46565b8351611fe1818360208801611989565b01949350505050565b600181815b8085111561202557816000190482111561200b5761200b611d4c565b8085161561201857918102915b93841c9390800290611fef565b509250929050565b60008261203c57506001610774565b8161204957506000610774565b816001811461205f576002811461206957612085565b6001915050610774565b60ff84111561207a5761207a611d4c565b50506001821b610774565b5060208310610133831016604e8410600b84101617156120a8575081810a610774565b6120b28383611fea565b80600019048211156120c6576120c6611d4c565b029392505050565b6000610e8d60ff84168361202d565b8082018082111561077457610774611d4c565b60006001820161210257612102611d4c565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261212e5761212e612109565b500490565b60008261214257612142612109565b50069056fea264697066735822122078ae35ca69c8838e7f1a0679c4c05380babf80810a1ca416c2afe7c59b1a2ff064736f6c63430008180033

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

0000000000000000000000007a405a70575714d74a1fa0b860730cf7456e6ebb00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032

-----Decoded View---------------
Arg [0] : _owner (address): 0x7A405A70575714D74A1fA0B860730CF7456e6eBB
Arg [1] : _buyLimit (uint256): 50
Arg [2] : _sellLimit (uint256): 50

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a405a70575714d74a1fa0b860730cf7456e6ebb
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000032
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000032


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

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