ETH Price: $2,862.69 (+6.39%)
 

Overview

Max Total Supply

900,000,000 PAPT

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 PAPT

Value
$0.00
0xb211c9ca9d16c5fa3693d48096aeed9f64e37542
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:
PAPT

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : PAPT.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract PAPT is Ownable, ERC20 {
    uint256 public constant TOTAL_SUPPLY = 9 * (10 ** 8) * (10 ** 18);

    // Sniper bots and MEV protection
    mapping(address => bool) public bots;

    // AMM
    mapping(address => bool) public ammPairs;

    // Exclude from max transaction amount
    mapping(address => bool) public excludedFromMaxTransferAmount;

    // Max transaction amount, only applied in limited mode
    uint256 public maximumTransactionAmount;

    // Flags
    bool public swappingEnabledStatus; // Set to true when trading is enabled
    bool public limitationStatus = true; // Set to false when it gets stable

    // Events
    event AddBots(address bot, bool isSet);
    event SetAmmPair(address pair, bool isPair);
    event EnableSwapping();
    event DisableLimitationStatus();
    event SetMaxTransferAmount(uint256 amount);

    constructor() ERC20("PapToken", "PAPT") {
        _mint(msg.sender, TOTAL_SUPPLY);
    }

    function addBots(address _bot, bool _isSet) external onlyOwner {
        bots[_bot] = _isSet;

        emit AddBots(_bot, _isSet);
    }

    function enableSwapping() external onlyOwner {
        swappingEnabledStatus = true;

        emit EnableSwapping();
    }

    function disableLimitationStatus() external onlyOwner {
        limitationStatus = false;

        emit DisableLimitationStatus();
    }

    function setAmmPair(address _pair, bool _isPair) external onlyOwner {
        ammPairs[_pair] = _isPair;

        emit SetAmmPair(_pair, _isPair);
    }

    function setMaxTransferAmount(
        uint256 _maximumTransactionAmount
    ) external onlyOwner {
        maximumTransactionAmount = _maximumTransactionAmount;

        emit SetMaxTransferAmount(_maximumTransactionAmount);
    }

    function excludeFromMaxTransferAmount(
        address _account,
        bool _excluded
    ) external onlyOwner {
        excludedFromMaxTransferAmount[_account] = _excluded;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(!bots[from] && !bots[to], "Blacklisted bot");

        if (from != owner() && to != owner()) {
            require(swappingEnabledStatus, "Swap not enabled");
        }

        if (limitationStatus) {
            if (ammPairs[from] && !excludedFromMaxTransferAmount[to]) {
                // On buy
                require(
                    amount <= maximumTransactionAmount,
                    "Buy amount exceeded"
                );
            } else if (ammPairs[to] && !excludedFromMaxTransferAmount[from]) {
                // On sell
                require(
                    amount <= maximumTransactionAmount,
                    "Sell amount exceeded"
                );
            }
        }

        super._transfer(from, to, amount);
    }

    function burn(uint256 amount) external {
        _burn(msg.sender, amount);
    }
}

File 2 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

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

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

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

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

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

File 3 of 6 : ERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/Context.sol";

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5.05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless this function is
     * overridden;
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on
     * `transferFrom`. This is semantically equivalent to an infinite approval.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * NOTE: Does not update the allowance if the current allowance
     * is the maximum `uint256`.
     *
     * Requirements:
     *
     * - `from` and `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `from` to `to`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `from` cannot be the zero address.
     * - `to` cannot be the zero address.
     * - `from` must have a balance of at least `amount`.
     */
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
     * @dev Updates `owner` s allowance for `spender` based on spent `amount`.
     *
     * Does not update the allowance amount in case of infinite allowance.
     * Revert if not enough allowance is available.
     *
     * Might emit an {Approval} event.
     */
    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

File 4 of 6 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;

import "../IERC20.sol";

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

File 5 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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

pragma solidity ^0.8.0;

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"bot","type":"address"},{"indexed":false,"internalType":"bool","name":"isSet","type":"bool"}],"name":"AddBots","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"DisableLimitationStatus","type":"event"},{"anonymous":false,"inputs":[],"name":"EnableSwapping","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":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"bool","name":"isPair","type":"bool"}],"name":"SetAmmPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SetMaxTransferAmount","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bot","type":"address"},{"internalType":"bool","name":"_isSet","type":"bool"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ammPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableLimitationStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableSwapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_excluded","type":"bool"}],"name":"excludeFromMaxTransferAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromMaxTransferAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitationStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumTransactionAmount","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_isPair","type":"bool"}],"name":"setAmmPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maximumTransactionAmount","type":"uint256"}],"name":"setMaxTransferAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swappingEnabledStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526001600a60016101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040518060400160405280600881526020017f506170546f6b656e0000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5041505400000000000000000000000000000000000000000000000000000000815250620000b9620000ad6200010360201b60201c565b6200010b60201b60201c565b8160049081620000ca9190620005c1565b508060059081620000dc9190620005c1565b505050620000fd336b02e87669c308736a04000000620001cf60201b60201c565b620007c3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000241576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002389062000709565b60405180910390fd5b62000255600083836200033d60201b60201c565b80600360008282546200026991906200075a565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200031d9190620007a6565b60405180910390a362000339600083836200034260201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003c957607f821691505b602082108103620003df57620003de62000381565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200040a565b6200045586836200040a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004a26200049c62000496846200046d565b62000477565b6200046d565b9050919050565b6000819050919050565b620004be8362000481565b620004d6620004cd82620004a9565b84845462000417565b825550505050565b600090565b620004ed620004de565b620004fa818484620004b3565b505050565b5b81811015620005225762000516600082620004e3565b60018101905062000500565b5050565b601f82111562000571576200053b81620003e5565b6200054684620003fa565b8101602085101562000556578190505b6200056e6200056585620003fa565b830182620004ff565b50505b505050565b600082821c905092915050565b6000620005966000198460080262000576565b1980831691505092915050565b6000620005b1838362000583565b9150826002028217905092915050565b620005cc8262000347565b67ffffffffffffffff811115620005e857620005e762000352565b5b620005f48254620003b0565b6200060182828562000526565b600060209050601f83116001811462000639576000841562000624578287015190505b620006308582620005a3565b865550620006a0565b601f1984166200064986620003e5565b60005b8281101562000673578489015182556001820191506020850194506020810190506200064c565b868310156200069357848901516200068f601f89168262000583565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620006f1601f83620006a8565b9150620006fe82620006b9565b602082019050919050565b600060208201905081810360008301526200072481620006e2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000767826200046d565b915062000774836200046d565b92508282019050808211156200078f576200078e6200072b565b5b92915050565b620007a0816200046d565b82525050565b6000602082019050620007bd600083018462000795565b92915050565b6124ad80620007d36000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063bfd7928411610097578063cedab39511610071578063cedab395146104f5578063d6ab366714610513578063dd62ed3e14610531578063f2fde38b14610561576101c4565b8063bfd792841461049f578063c4821f7e146104cf578063cc8053f3146104eb576101c4565b80639dc3fbaa116100d35780639dc3fbaa146103df578063a457c2d71461040f578063a72905a21461043f578063a9059cbb1461046f576101c4565b80638da5cb5b14610385578063902d55a5146103a357806395d89b41146103c1576101c4565b8063395093511161016657806342966c681161014057806342966c681461031357806370a082311461032f578063715018a61461035f5780638bf5540914610369576101c4565b806339509351146102a957806339ab668d146102d95780633b6b84d3146102f5576101c4565b80630a656923116101a25780630a6569231461022157806318160ddd1461023d57806323b872dd1461025b578063313ce5671461028b576101c4565b806306fdde03146101c957806307af33c6146101e7578063095ea7b3146101f1575b600080fd5b6101d161057d565b6040516101de91906118cc565b60405180910390f35b6101ef61060f565b005b61020b60048036038101906102069190611987565b610660565b60405161021891906119e2565b60405180910390f35b61023b60048036038101906102369190611a29565b610683565b005b61024561071f565b6040516102529190611a78565b60405180910390f35b61027560048036038101906102709190611a93565b610729565b60405161028291906119e2565b60405180910390f35b610293610758565b6040516102a09190611b02565b60405180910390f35b6102c360048036038101906102be9190611987565b610761565b6040516102d091906119e2565b60405180910390f35b6102f360048036038101906102ee9190611a29565b610798565b005b6102fd6107fb565b60405161030a91906119e2565b60405180910390f35b61032d60048036038101906103289190611b1d565b61080e565b005b61034960048036038101906103449190611b4a565b61081b565b6040516103569190611a78565b60405180910390f35b610367610864565b005b610383600480360381019061037e9190611b1d565b610878565b005b61038d6108c1565b60405161039a9190611b86565b60405180910390f35b6103ab6108ea565b6040516103b89190611a78565b60405180910390f35b6103c96108fa565b6040516103d691906118cc565b60405180910390f35b6103f960048036038101906103f49190611b4a565b61098c565b60405161040691906119e2565b60405180910390f35b61042960048036038101906104249190611987565b6109ac565b60405161043691906119e2565b60405180910390f35b61045960048036038101906104549190611b4a565b610a23565b60405161046691906119e2565b60405180910390f35b61048960048036038101906104849190611987565b610a43565b60405161049691906119e2565b60405180910390f35b6104b960048036038101906104b49190611b4a565b610a66565b6040516104c691906119e2565b60405180910390f35b6104e960048036038101906104e49190611a29565b610a86565b005b6104f3610b22565b005b6104fd610b73565b60405161050a91906119e2565b60405180910390f35b61051b610b86565b6040516105289190611a78565b60405180910390f35b61054b60048036038101906105469190611ba1565b610b8c565b6040516105589190611a78565b60405180910390f35b61057b60048036038101906105769190611b4a565b610c13565b005b60606004805461058c90611c10565b80601f01602080910402602001604051908101604052809291908181526020018280546105b890611c10565b80156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b5050505050905090565b610617610c96565b6001600a60006101000a81548160ff0219169083151502179055507f014206624777fa8f0374c050e5ef1e141e59bfd071f3b5cb5288d51fe37b12ac60405160405180910390a1565b60008061066b610d14565b9050610678818585610d1c565b600191505092915050565b61068b610c96565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc3be6b1c4465a996923f9dede24a6ea35dac31b54675fec7eae02b78ed3fd378282604051610713929190611c41565b60405180910390a15050565b6000600354905090565b600080610734610d14565b9050610741858285610ee5565b61074c858585610f71565b60019150509392505050565b60006012905090565b60008061076c610d14565b905061078d81858561077e8589610b8c565b6107889190611c99565b610d1c565b600191505092915050565b6107a0610c96565b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a60009054906101000a900460ff1681565b6108183382611326565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61086c610c96565b61087660006114f5565b565b610880610c96565b806009819055507f7717feb1e9fb9b7bf089a227bfeb6438ecccdbcb93ee035227d31753e6c71a9e816040516108b69190611a78565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6b02e87669c308736a0400000081565b60606005805461090990611c10565b80601f016020809104026020016040519081016040528092919081815260200182805461093590611c10565b80156109825780601f1061095757610100808354040283529160200191610982565b820191906000526020600020905b81548152906001019060200180831161096557829003601f168201915b5050505050905090565b60086020528060005260406000206000915054906101000a900460ff1681565b6000806109b7610d14565b905060006109c58286610b8c565b905083811015610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611d3f565b60405180910390fd5b610a178286868403610d1c565b60019250505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600080610a4e610d14565b9050610a5b818585610f71565b600191505092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b610a8e610c96565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe1719ad33c8591bba315709d5262f19948a9ebf9fcddd8c6eaf94e1df1ffee988282604051610b16929190611c41565b60405180910390a15050565b610b2a610c96565b6000600a60016101000a81548160ff0219169083151502179055507f7f94cdf16f7444cbc4dde4f740129108480703210348bbe126d09e49aa5110ce60405160405180910390a1565b600a60019054906101000a900460ff1681565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c1b610c96565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8190611dd1565b60405180910390fd5b610c93816114f5565b50565b610c9e610d14565b73ffffffffffffffffffffffffffffffffffffffff16610cbc6108c1565b73ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990611e3d565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8290611ecf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611f61565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ed89190611a78565b60405180910390a3505050565b6000610ef18484610b8c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f6b5781811015610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611fcd565b60405180910390fd5b610f6a8484848403610d1c565b5b50505050565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110155750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b90612039565b60405180910390fd5b61105c6108c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ca575061109a6108c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561111f57600a60009054906101000a900460ff1661111e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611115906120a5565b60405180910390fd5b5b600a60019054906101000a900460ff161561131657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156111d75750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561122657600954811115611221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121890612111565b60405180910390fd5b611315565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112c95750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561131457600954811115611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a9061217d565b60405180910390fd5b5b5b5b6113218383836115b9565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061220f565b60405180910390fd5b6113a182600083611832565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f906122a1565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114dc9190611a78565b60405180910390a36114f083600084611837565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161f90612333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e906123c5565b60405180910390fd5b6116a2838383611832565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172090612457565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611a78565b60405180910390a361182c848484611837565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561187657808201518184015260208101905061185b565b60008484015250505050565b6000601f19601f8301169050919050565b600061189e8261183c565b6118a88185611847565b93506118b8818560208601611858565b6118c181611882565b840191505092915050565b600060208201905081810360008301526118e68184611893565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061191e826118f3565b9050919050565b61192e81611913565b811461193957600080fd5b50565b60008135905061194b81611925565b92915050565b6000819050919050565b61196481611951565b811461196f57600080fd5b50565b6000813590506119818161195b565b92915050565b6000806040838503121561199e5761199d6118ee565b5b60006119ac8582860161193c565b92505060206119bd85828601611972565b9150509250929050565b60008115159050919050565b6119dc816119c7565b82525050565b60006020820190506119f760008301846119d3565b92915050565b611a06816119c7565b8114611a1157600080fd5b50565b600081359050611a23816119fd565b92915050565b60008060408385031215611a4057611a3f6118ee565b5b6000611a4e8582860161193c565b9250506020611a5f85828601611a14565b9150509250929050565b611a7281611951565b82525050565b6000602082019050611a8d6000830184611a69565b92915050565b600080600060608486031215611aac57611aab6118ee565b5b6000611aba8682870161193c565b9350506020611acb8682870161193c565b9250506040611adc86828701611972565b9150509250925092565b600060ff82169050919050565b611afc81611ae6565b82525050565b6000602082019050611b176000830184611af3565b92915050565b600060208284031215611b3357611b326118ee565b5b6000611b4184828501611972565b91505092915050565b600060208284031215611b6057611b5f6118ee565b5b6000611b6e8482850161193c565b91505092915050565b611b8081611913565b82525050565b6000602082019050611b9b6000830184611b77565b92915050565b60008060408385031215611bb857611bb76118ee565b5b6000611bc68582860161193c565b9250506020611bd78582860161193c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c2857607f821691505b602082108103611c3b57611c3a611be1565b5b50919050565b6000604082019050611c566000830185611b77565b611c6360208301846119d3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ca482611951565b9150611caf83611951565b9250828201905080821115611cc757611cc6611c6a565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611d29602583611847565b9150611d3482611ccd565b604082019050919050565b60006020820190508181036000830152611d5881611d1c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611dbb602683611847565b9150611dc682611d5f565b604082019050919050565b60006020820190508181036000830152611dea81611dae565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e27602083611847565b9150611e3282611df1565b602082019050919050565b60006020820190508181036000830152611e5681611e1a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611eb9602483611847565b9150611ec482611e5d565b604082019050919050565b60006020820190508181036000830152611ee881611eac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f4b602283611847565b9150611f5682611eef565b604082019050919050565b60006020820190508181036000830152611f7a81611f3e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611fb7601d83611847565b9150611fc282611f81565b602082019050919050565b60006020820190508181036000830152611fe681611faa565b9050919050565b7f426c61636b6c697374656420626f740000000000000000000000000000000000600082015250565b6000612023600f83611847565b915061202e82611fed565b602082019050919050565b6000602082019050818103600083015261205281612016565b9050919050565b7f53776170206e6f7420656e61626c656400000000000000000000000000000000600082015250565b600061208f601083611847565b915061209a82612059565b602082019050919050565b600060208201905081810360008301526120be81612082565b9050919050565b7f42757920616d6f756e7420657863656564656400000000000000000000000000600082015250565b60006120fb601383611847565b9150612106826120c5565b602082019050919050565b6000602082019050818103600083015261212a816120ee565b9050919050565b7f53656c6c20616d6f756e74206578636565646564000000000000000000000000600082015250565b6000612167601483611847565b915061217282612131565b602082019050919050565b600060208201905081810360008301526121968161215a565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006121f9602183611847565b91506122048261219d565b604082019050919050565b60006020820190508181036000830152612228816121ec565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061228b602283611847565b91506122968261222f565b604082019050919050565b600060208201905081810360008301526122ba8161227e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061231d602583611847565b9150612328826122c1565b604082019050919050565b6000602082019050818103600083015261234c81612310565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123af602383611847565b91506123ba82612353565b604082019050919050565b600060208201905081810360008301526123de816123a2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612441602683611847565b915061244c826123e5565b604082019050919050565b6000602082019050818103600083015261247081612434565b905091905056fea2646970667358221220b11fff2e07cc30d919083c8d860281d421e7bc68872803f939eb41bc3e7c08fc64736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063bfd7928411610097578063cedab39511610071578063cedab395146104f5578063d6ab366714610513578063dd62ed3e14610531578063f2fde38b14610561576101c4565b8063bfd792841461049f578063c4821f7e146104cf578063cc8053f3146104eb576101c4565b80639dc3fbaa116100d35780639dc3fbaa146103df578063a457c2d71461040f578063a72905a21461043f578063a9059cbb1461046f576101c4565b80638da5cb5b14610385578063902d55a5146103a357806395d89b41146103c1576101c4565b8063395093511161016657806342966c681161014057806342966c681461031357806370a082311461032f578063715018a61461035f5780638bf5540914610369576101c4565b806339509351146102a957806339ab668d146102d95780633b6b84d3146102f5576101c4565b80630a656923116101a25780630a6569231461022157806318160ddd1461023d57806323b872dd1461025b578063313ce5671461028b576101c4565b806306fdde03146101c957806307af33c6146101e7578063095ea7b3146101f1575b600080fd5b6101d161057d565b6040516101de91906118cc565b60405180910390f35b6101ef61060f565b005b61020b60048036038101906102069190611987565b610660565b60405161021891906119e2565b60405180910390f35b61023b60048036038101906102369190611a29565b610683565b005b61024561071f565b6040516102529190611a78565b60405180910390f35b61027560048036038101906102709190611a93565b610729565b60405161028291906119e2565b60405180910390f35b610293610758565b6040516102a09190611b02565b60405180910390f35b6102c360048036038101906102be9190611987565b610761565b6040516102d091906119e2565b60405180910390f35b6102f360048036038101906102ee9190611a29565b610798565b005b6102fd6107fb565b60405161030a91906119e2565b60405180910390f35b61032d60048036038101906103289190611b1d565b61080e565b005b61034960048036038101906103449190611b4a565b61081b565b6040516103569190611a78565b60405180910390f35b610367610864565b005b610383600480360381019061037e9190611b1d565b610878565b005b61038d6108c1565b60405161039a9190611b86565b60405180910390f35b6103ab6108ea565b6040516103b89190611a78565b60405180910390f35b6103c96108fa565b6040516103d691906118cc565b60405180910390f35b6103f960048036038101906103f49190611b4a565b61098c565b60405161040691906119e2565b60405180910390f35b61042960048036038101906104249190611987565b6109ac565b60405161043691906119e2565b60405180910390f35b61045960048036038101906104549190611b4a565b610a23565b60405161046691906119e2565b60405180910390f35b61048960048036038101906104849190611987565b610a43565b60405161049691906119e2565b60405180910390f35b6104b960048036038101906104b49190611b4a565b610a66565b6040516104c691906119e2565b60405180910390f35b6104e960048036038101906104e49190611a29565b610a86565b005b6104f3610b22565b005b6104fd610b73565b60405161050a91906119e2565b60405180910390f35b61051b610b86565b6040516105289190611a78565b60405180910390f35b61054b60048036038101906105469190611ba1565b610b8c565b6040516105589190611a78565b60405180910390f35b61057b60048036038101906105769190611b4a565b610c13565b005b60606004805461058c90611c10565b80601f01602080910402602001604051908101604052809291908181526020018280546105b890611c10565b80156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b5050505050905090565b610617610c96565b6001600a60006101000a81548160ff0219169083151502179055507f014206624777fa8f0374c050e5ef1e141e59bfd071f3b5cb5288d51fe37b12ac60405160405180910390a1565b60008061066b610d14565b9050610678818585610d1c565b600191505092915050565b61068b610c96565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ffc3be6b1c4465a996923f9dede24a6ea35dac31b54675fec7eae02b78ed3fd378282604051610713929190611c41565b60405180910390a15050565b6000600354905090565b600080610734610d14565b9050610741858285610ee5565b61074c858585610f71565b60019150509392505050565b60006012905090565b60008061076c610d14565b905061078d81858561077e8589610b8c565b6107889190611c99565b610d1c565b600191505092915050565b6107a0610c96565b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a60009054906101000a900460ff1681565b6108183382611326565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61086c610c96565b61087660006114f5565b565b610880610c96565b806009819055507f7717feb1e9fb9b7bf089a227bfeb6438ecccdbcb93ee035227d31753e6c71a9e816040516108b69190611a78565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6b02e87669c308736a0400000081565b60606005805461090990611c10565b80601f016020809104026020016040519081016040528092919081815260200182805461093590611c10565b80156109825780601f1061095757610100808354040283529160200191610982565b820191906000526020600020905b81548152906001019060200180831161096557829003601f168201915b5050505050905090565b60086020528060005260406000206000915054906101000a900460ff1681565b6000806109b7610d14565b905060006109c58286610b8c565b905083811015610a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0190611d3f565b60405180910390fd5b610a178286868403610d1c565b60019250505092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600080610a4e610d14565b9050610a5b818585610f71565b600191505092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b610a8e610c96565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fe1719ad33c8591bba315709d5262f19948a9ebf9fcddd8c6eaf94e1df1ffee988282604051610b16929190611c41565b60405180910390a15050565b610b2a610c96565b6000600a60016101000a81548160ff0219169083151502179055507f7f94cdf16f7444cbc4dde4f740129108480703210348bbe126d09e49aa5110ce60405160405180910390a1565b600a60019054906101000a900460ff1681565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610c1b610c96565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8190611dd1565b60405180910390fd5b610c93816114f5565b50565b610c9e610d14565b73ffffffffffffffffffffffffffffffffffffffff16610cbc6108c1565b73ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990611e3d565b60405180910390fd5b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8290611ecf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611f61565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ed89190611a78565b60405180910390a3505050565b6000610ef18484610b8c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f6b5781811015610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5490611fcd565b60405180910390fd5b610f6a8484848403610d1c565b5b50505050565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156110155750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b90612039565b60405180910390fd5b61105c6108c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ca575061109a6108c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561111f57600a60009054906101000a900460ff1661111e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611115906120a5565b60405180910390fd5b5b600a60019054906101000a900460ff161561131657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156111d75750600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561122657600954811115611221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121890612111565b60405180910390fd5b611315565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156112c95750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561131457600954811115611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a9061217d565b60405180910390fd5b5b5b5b6113218383836115b9565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c9061220f565b60405180910390fd5b6113a182600083611832565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f906122a1565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114dc9190611a78565b60405180910390a36114f083600084611837565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161f90612333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168e906123c5565b60405180910390fd5b6116a2838383611832565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172090612457565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611a78565b60405180910390a361182c848484611837565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561187657808201518184015260208101905061185b565b60008484015250505050565b6000601f19601f8301169050919050565b600061189e8261183c565b6118a88185611847565b93506118b8818560208601611858565b6118c181611882565b840191505092915050565b600060208201905081810360008301526118e68184611893565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061191e826118f3565b9050919050565b61192e81611913565b811461193957600080fd5b50565b60008135905061194b81611925565b92915050565b6000819050919050565b61196481611951565b811461196f57600080fd5b50565b6000813590506119818161195b565b92915050565b6000806040838503121561199e5761199d6118ee565b5b60006119ac8582860161193c565b92505060206119bd85828601611972565b9150509250929050565b60008115159050919050565b6119dc816119c7565b82525050565b60006020820190506119f760008301846119d3565b92915050565b611a06816119c7565b8114611a1157600080fd5b50565b600081359050611a23816119fd565b92915050565b60008060408385031215611a4057611a3f6118ee565b5b6000611a4e8582860161193c565b9250506020611a5f85828601611a14565b9150509250929050565b611a7281611951565b82525050565b6000602082019050611a8d6000830184611a69565b92915050565b600080600060608486031215611aac57611aab6118ee565b5b6000611aba8682870161193c565b9350506020611acb8682870161193c565b9250506040611adc86828701611972565b9150509250925092565b600060ff82169050919050565b611afc81611ae6565b82525050565b6000602082019050611b176000830184611af3565b92915050565b600060208284031215611b3357611b326118ee565b5b6000611b4184828501611972565b91505092915050565b600060208284031215611b6057611b5f6118ee565b5b6000611b6e8482850161193c565b91505092915050565b611b8081611913565b82525050565b6000602082019050611b9b6000830184611b77565b92915050565b60008060408385031215611bb857611bb76118ee565b5b6000611bc68582860161193c565b9250506020611bd78582860161193c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c2857607f821691505b602082108103611c3b57611c3a611be1565b5b50919050565b6000604082019050611c566000830185611b77565b611c6360208301846119d3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ca482611951565b9150611caf83611951565b9250828201905080821115611cc757611cc6611c6a565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611d29602583611847565b9150611d3482611ccd565b604082019050919050565b60006020820190508181036000830152611d5881611d1c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611dbb602683611847565b9150611dc682611d5f565b604082019050919050565b60006020820190508181036000830152611dea81611dae565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611e27602083611847565b9150611e3282611df1565b602082019050919050565b60006020820190508181036000830152611e5681611e1a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611eb9602483611847565b9150611ec482611e5d565b604082019050919050565b60006020820190508181036000830152611ee881611eac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f4b602283611847565b9150611f5682611eef565b604082019050919050565b60006020820190508181036000830152611f7a81611f3e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611fb7601d83611847565b9150611fc282611f81565b602082019050919050565b60006020820190508181036000830152611fe681611faa565b9050919050565b7f426c61636b6c697374656420626f740000000000000000000000000000000000600082015250565b6000612023600f83611847565b915061202e82611fed565b602082019050919050565b6000602082019050818103600083015261205281612016565b9050919050565b7f53776170206e6f7420656e61626c656400000000000000000000000000000000600082015250565b600061208f601083611847565b915061209a82612059565b602082019050919050565b600060208201905081810360008301526120be81612082565b9050919050565b7f42757920616d6f756e7420657863656564656400000000000000000000000000600082015250565b60006120fb601383611847565b9150612106826120c5565b602082019050919050565b6000602082019050818103600083015261212a816120ee565b9050919050565b7f53656c6c20616d6f756e74206578636565646564000000000000000000000000600082015250565b6000612167601483611847565b915061217282612131565b602082019050919050565b600060208201905081810360008301526121968161215a565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006121f9602183611847565b91506122048261219d565b604082019050919050565b60006020820190508181036000830152612228816121ec565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061228b602283611847565b91506122968261222f565b604082019050919050565b600060208201905081810360008301526122ba8161227e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061231d602583611847565b9150612328826122c1565b604082019050919050565b6000602082019050818103600083015261234c81612310565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006123af602383611847565b91506123ba82612353565b604082019050919050565b600060208201905081810360008301526123de816123a2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612441602683611847565b915061244c826123e5565b604082019050919050565b6000602082019050818103600083015261247081612434565b905091905056fea2646970667358221220b11fff2e07cc30d919083c8d860281d421e7bc68872803f939eb41bc3e7c08fc64736f6c63430008120033

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.