ETH Price: $3,446.53 (-0.99%)
Gas: 11 Gwei

Token

Amuletum (AMUX)
 

Overview

Max Total Supply

8,888,888,888 AMUX

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000000001 AMUX

Value
$0.00
0x588c1eb7b9a2c1da231b227ed5ebfae05db5ace8
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:
Amuletum

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-19
*/

// File: contracts/IPinkAntiBot.sol


pragma solidity >=0.8.20;

interface IPinkAntiBot {
  function setTokenOwner(address owner) external;

  function onPreTransferCheck(
    address from,
    address to,
    uint256 amount
  ) external;
}
// File: @openzeppelin/contracts/interfaces/draft-IERC6093.sol


// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;

/**
 * @dev Standard ERC20 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.
 */
interface IERC20Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC20InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC20InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     * @param allowance Amount of tokens a `spender` is allowed to operate with.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC20InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC20InvalidSpender(address spender);
}

/**
 * @dev Standard ERC721 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.
 */
interface IERC721Errors {
    /**
     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.
     * Used in balance queries.
     * @param owner Address of the current owner of a token.
     */
    error ERC721InvalidOwner(address owner);

    /**
     * @dev Indicates a `tokenId` whose `owner` is the zero address.
     * @param tokenId Identifier number of a token.
     */
    error ERC721NonexistentToken(uint256 tokenId);

    /**
     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param tokenId Identifier number of a token.
     * @param owner Address of the current owner of a token.
     */
    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC721InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC721InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param tokenId Identifier number of a token.
     */
    error ERC721InsufficientApproval(address operator, uint256 tokenId);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC721InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC721InvalidOperator(address operator);
}

/**
 * @dev Standard ERC1155 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.
 */
interface IERC1155Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     * @param tokenId Identifier number of a token.
     */
    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC1155InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC1155InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param owner Address of the current owner of a token.
     */
    error ERC1155MissingApprovalForAll(address operator, address owner);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC1155InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC1155InvalidOperator(address operator);

    /**
     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.
     * Used in batch transfers.
     * @param idsLength Length of the array of token identifiers
     * @param valuesLength Length of the array of token amounts
     */
    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);
}

// File: @openzeppelin/contracts/utils/Context.sol


// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)

pragma solidity ^0.8.20;

/**
 * @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;
    }

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol


// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)

pragma solidity ^0.8.20;


/**
 * @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.
 *
 * The initial owner is set to the address provided by the deployer. 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;

    /**
     * @dev The caller account is not authorized to perform an operation.
     */
    error OwnableUnauthorizedAccount(address account);

    /**
     * @dev The owner is not a valid owner account. (eg. `address(0)`)
     */
    error OwnableInvalidOwner(address owner);

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

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _transferOwnership(initialOwner);
    }

    /**
     * @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 {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling 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 {
        if (newOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _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: @openzeppelin/contracts/token/ERC20/IERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @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 value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

    /**
     * @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens 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 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` 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 value) external returns (bool);
}

// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.20;


/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 */
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: @openzeppelin/contracts/token/ERC20/ERC20.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)

pragma solidity ^0.8.20;





/**
 * @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}.
 *
 * 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].
 *
 * The default value of {decimals} is 18. To change this, you should override
 * this function so it returns a different value.
 *
 * 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.
 */
abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {
    mapping(address account => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * 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 returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual 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 default value returned by this function, unless
     * it's 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 returns (uint8) {
        return 18;
    }

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual 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 `value`.
     */
    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * NOTE: If `value` 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 value) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, value);
        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 `value`.
     * - the caller must have allowance for ``from``'s tokens of at least
     * `value`.
     */
    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    /**
     * @dev Moves a `value` 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.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead.
     */
    function _transfer(address from, address to, uint256 value) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    /**
     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`
     * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding
     * this function.
     *
     * Emits a {Transfer} event.
     */
    function _update(address from, address to, uint256 value) internal virtual {
        if (from == address(0)) {
            // Overflow check required: The rest of the code assumes that totalSupply never overflows
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                // Overflow not possible: value <= fromBalance <= totalSupply.
                _balances[from] = fromBalance - value;
            }
        }

        if (to == address(0)) {
            unchecked {
                // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.
                _totalSupply -= value;
            }
        } else {
            unchecked {
                // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    /**
     * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).
     * Relies on the `_update` mechanism
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead.
     */
    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(address(0), account, value);
    }

    /**
     * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.
     * Relies on the `_update` mechanism.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * NOTE: This function is not virtual, {_update} should be overridden instead
     */
    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    /**
     * @dev Sets `value` 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.
     *
     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        _approve(owner, spender, value, true);
    }

    /**
     * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.
     *
     * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by
     * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any
     * `Approval` event during `transferFrom` operations.
     *
     * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to
     * true using the following override:
     * ```
     * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {
     *     super._approve(owner, spender, value, true);
     * }
     * ```
     *
     * Requirements are the same as {_approve}.
     */
    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

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

// File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol


// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)

pragma solidity ^0.8.20;



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys a `value` amount of tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 value) public virtual {
        _burn(_msgSender(), value);
    }

    /**
     * @dev Destroys a `value` amount of tokens from `account`, deducting from
     * the caller's allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `value`.
     */
    function burnFrom(address account, uint256 value) public virtual {
        _spendAllowance(account, _msgSender(), value);
        _burn(account, value);
    }
}

// File: contracts/amux.sol

//SPDX-License-Identifier: MIT
//------------------------------------------------------------------
pragma solidity >=0.8.20;





//------------------------------------------------------------------
//CONTRACT
contract Amuletum is IERC20, ERC20Burnable, Ownable {
    uint256 public immutable tokenSupply;
    uint256 public immutable mainSupply;
    uint256 public immutable cexSupply;
    uint256 public immutable teamSupply;
    uint256 public immutable offering; 
    
    address public immutable mainWallet;
    address public immutable cexWallet;
    address public immutable teamWallet;

    IPinkAntiBot public pinkAntiBot;
    bool public antiBotEnabled;
   
    uint256 public immutable startBlock;
    uint256 public disableAfterBlock;

    //--------------------------------------------------------------
    //CONSTRUCTOR
    constructor(address pinkAntiBot_)
        ERC20("Amuletum", "AMUX")
        Ownable (msg.sender)
    {
        tokenSupply = 88888888888 * 10 ** decimals();
        cexSupply = 888888888 * 10 ** decimals();
        teamSupply = 888888888 * 10 ** decimals();
        mainSupply = tokenSupply - cexSupply - teamSupply;
        offering = 80000000000 * 10 ** decimals();
                
        mainWallet = msg.sender;
        cexWallet = 0xf95d34518CeFa59dB10b51249fF6e96978FDdf03;
        teamWallet = 0x65735b71dCef231e48ccc148a93A5c0D238f2a8C;

        startBlock = block.number;
        disableAfterBlock = startBlock + 100000;

        _mint(mainWallet, mainSupply);
        _mint(cexWallet, cexSupply);
        _mint(teamWallet, teamSupply);
        _burn (mainWallet, offering);

        pinkAntiBot = IPinkAntiBot(pinkAntiBot_);
        pinkAntiBot.setTokenOwner(msg.sender);
        antiBotEnabled = true;
    }

    //--------------------------------------------------------------
    //CONFIGURE ANTI-BOT
    function configureAntiBot(bool enabled_, uint256 disableAfterBlock_) external onlyOwner {
        antiBotEnabled = enabled_;
        disableAfterBlock = disableAfterBlock_;
    }

    //--------------------------------------------------------------
    //ANTI-BOT
    function _update(address from, address to, uint256 amount) internal override {
        if (antiBotEnabled && block.number <= disableAfterBlock) {
            pinkAntiBot.onPreTransferCheck(from, to, amount);
        }
        super._update(from, to, amount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"pinkAntiBot_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","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":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":[],"name":"antiBotEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","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":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cexSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cexWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled_","type":"bool"},{"internalType":"uint256","name":"disableAfterBlock_","type":"uint256"}],"name":"configureAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAfterBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"offering","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pinkAntiBot","outputs":[{"internalType":"contract IPinkAntiBot","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"value","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":"value","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"}]

6101a060405234801562000011575f80fd5b5060405162002875380380620028758339818101604052810190620000379190620009bb565b336040518060400160405280600881526020017f416d756c6574756d0000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f414d5558000000000000000000000000000000000000000000000000000000008152508160039081620000b5919062000c4f565b508060049081620000c7919062000c4f565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013d575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000134919062000d44565b60405180910390fd5b6200014e816200048660201b60201c565b506200015f6200054960201b60201c565b600a6200016d919062000ee8565b6414b230ce386200017f919062000f38565b60808181525050620001966200054960201b60201c565b600a620001a4919062000ee8565b6334fb5e38620001b5919062000f38565b60c08181525050620001cc6200054960201b60201c565b600a620001da919062000ee8565b6334fb5e38620001eb919062000f38565b60e0818152505060e05160c05160805162000207919062000f82565b62000213919062000f82565b60a081815250506200022a6200054960201b60201c565b600a62000238919062000ee8565b6412a05f20006200024a919062000f38565b61010081815250503373ffffffffffffffffffffffffffffffffffffffff166101208173ffffffffffffffffffffffffffffffffffffffff168152505073f95d34518cefa59db10b51249ff6e96978fddf0373ffffffffffffffffffffffffffffffffffffffff166101408173ffffffffffffffffffffffffffffffffffffffff16815250507365735b71dcef231e48ccc148a93a5c0d238f2a8c73ffffffffffffffffffffffffffffffffffffffff166101608173ffffffffffffffffffffffffffffffffffffffff1681525050436101808181525050620186a06101805162000336919062000fbc565b600781905550620003536101205160a0516200055160201b60201c565b6200036a6101405160c0516200055160201b60201c565b620003816101605160e0516200055160201b60201c565b620003996101205161010051620005db60201b60201c565b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318e02bd9336040518263ffffffff1660e01b815260040162000435919062000d44565b5f604051808303815f87803b1580156200044d575f80fd5b505af115801562000460573d5f803e3d5ffd5b505050506001600660146101000a81548160ff0219169083151502179055505062001098565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005c4575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620005bb919062000d44565b60405180910390fd5b620005d75f83836200066560201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200064e575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040162000645919062000d44565b60405180910390fd5b62000661825f836200066560201b60201c565b5050565b600660149054906101000a900460ff1680156200068457506007544311155b156200071a5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663487608588484846040518463ffffffff1660e01b8152600401620006ea9392919062001007565b5f604051808303815f87803b15801562000702575f80fd5b505af115801562000715573d5f803e3d5ffd5b505050505b6200072d8383836200073260201b60201c565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000786578060025f82825462000779919062000fbc565b9250508190555062000857565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562000812578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620008099392919062001042565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008a0578060025f8282540392505081905550620008ea565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200094991906200107d565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000985826200095a565b9050919050565b620009978162000979565b8114620009a2575f80fd5b50565b5f81519050620009b5816200098c565b92915050565b5f60208284031215620009d357620009d262000956565b5b5f620009e284828501620009a5565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a6757607f821691505b60208210810362000a7d5762000a7c62000a22565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000ae17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000aa4565b62000aed868362000aa4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000b3762000b3162000b2b8462000b05565b62000b0e565b62000b05565b9050919050565b5f819050919050565b62000b528362000b17565b62000b6a62000b618262000b3e565b84845462000ab0565b825550505050565b5f90565b62000b8062000b72565b62000b8d81848462000b47565b505050565b5b8181101562000bb45762000ba85f8262000b76565b60018101905062000b93565b5050565b601f82111562000c035762000bcd8162000a83565b62000bd88462000a95565b8101602085101562000be8578190505b62000c0062000bf78562000a95565b83018262000b92565b50505b505050565b5f82821c905092915050565b5f62000c255f198460080262000c08565b1980831691505092915050565b5f62000c3f838362000c14565b9150826002028217905092915050565b62000c5a82620009eb565b67ffffffffffffffff81111562000c765762000c75620009f5565b5b62000c82825462000a4f565b62000c8f82828562000bb8565b5f60209050601f83116001811462000cc5575f841562000cb0578287015190505b62000cbc858262000c32565b86555062000d2b565b601f19841662000cd58662000a83565b5f5b8281101562000cfe5784890151825560018201915060208501945060208101905062000cd7565b8683101562000d1e578489015162000d1a601f89168262000c14565b8355505b6001600288020188555050505b505050505050565b62000d3e8162000979565b82525050565b5f60208201905062000d595f83018462000d33565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000de95780860481111562000dc15762000dc062000d5f565b5b600185161562000dd15780820291505b808102905062000de18562000d8c565b945062000da1565b94509492505050565b5f8262000e03576001905062000ed5565b8162000e12575f905062000ed5565b816001811462000e2b576002811462000e365762000e6c565b600191505062000ed5565b60ff84111562000e4b5762000e4a62000d5f565b5b8360020a91508482111562000e655762000e6462000d5f565b5b5062000ed5565b5060208310610133831016604e8410600b841016171562000ea65782820a90508381111562000ea05762000e9f62000d5f565b5b62000ed5565b62000eb5848484600162000d98565b9250905081840481111562000ecf5762000ece62000d5f565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000ef48262000b05565b915062000f018362000edc565b925062000f307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000df2565b905092915050565b5f62000f448262000b05565b915062000f518362000b05565b925082820262000f618162000b05565b9150828204841483151762000f7b5762000f7a62000d5f565b5b5092915050565b5f62000f8e8262000b05565b915062000f9b8362000b05565b925082820390508181111562000fb65762000fb562000d5f565b5b92915050565b5f62000fc88262000b05565b915062000fd58362000b05565b925082820190508082111562000ff05762000fef62000d5f565b5b92915050565b620010018162000b05565b82525050565b5f6060820190506200101c5f83018662000d33565b6200102b602083018562000d33565b6200103a604083018462000ff6565b949350505050565b5f606082019050620010575f83018662000d33565b62001066602083018562000ff6565b62001075604083018462000ff6565b949350505050565b5f602082019050620010925f83018462000ff6565b92915050565b60805160a05160c05160e0516101005161012051610140516101605161018051611777620010fe5f395f6106b101525f6106d501525f61089301525f6105f401525f6108b701525f61064c01525f6106f901525f61051501525f61077501526117775ff3fe608060405234801561000f575f80fd5b50600436106101a7575f3560e01c8063611c5318116100f7578063a9059cbb11610095578063d8c6404b1161006f578063d8c6404b1461048d578063dd62ed3e146104ab578063eec4cbed146104db578063f2fde38b146104f7576101a7565b8063a9059cbb14610421578063b107594314610451578063b266cb011461046f576101a7565b80637824407f116100d15780637824407f146103ab57806379cc6790146103c95780638da5cb5b146103e557806395d89b4114610403576101a7565b8063611c53181461035357806370a0823114610371578063715018a6146103a1576101a7565b806329f0bfd311610164578063407133d21161013e578063407133d2146102dd57806342966c68146102fb57806348cd4cb1146103175780635992704414610335576101a7565b806329f0bfd3146102835780632cfac6ec146102a1578063313ce567146102bf576101a7565b806306192121146101ab57806306fdde03146101c9578063095ea7b3146101e757806318160ddd1461021757806323b62b751461023557806323b872dd14610253575b5f80fd5b6101b3610513565b6040516101c09190611242565b60405180910390f35b6101d1610537565b6040516101de91906112e5565b60405180910390f35b61020160048036038101906101fc919061138d565b6105c7565b60405161020e91906113e5565b60405180910390f35b61021f6105e9565b60405161022c9190611242565b60405180910390f35b61023d6105f2565b60405161024a919061140d565b60405180910390f35b61026d60048036038101906102689190611426565b610616565b60405161027a91906113e5565b60405180910390f35b61028b610644565b6040516102989190611242565b60405180910390f35b6102a961064a565b6040516102b69190611242565b60405180910390f35b6102c761066e565b6040516102d49190611491565b60405180910390f35b6102e5610676565b6040516102f29190611505565b60405180910390f35b6103156004803603810190610310919061151e565b61069b565b005b61031f6106af565b60405161032c9190611242565b60405180910390f35b61033d6106d3565b60405161034a919061140d565b60405180910390f35b61035b6106f7565b6040516103689190611242565b60405180910390f35b61038b60048036038101906103869190611549565b61071b565b6040516103989190611242565b60405180910390f35b6103a9610760565b005b6103b3610773565b6040516103c09190611242565b60405180910390f35b6103e360048036038101906103de919061138d565b610797565b005b6103ed6107b7565b6040516103fa919061140d565b60405180910390f35b61040b6107df565b60405161041891906112e5565b60405180910390f35b61043b6004803603810190610436919061138d565b61086f565b60405161044891906113e5565b60405180910390f35b610459610891565b604051610466919061140d565b60405180910390f35b6104776108b5565b6040516104849190611242565b60405180910390f35b6104956108d9565b6040516104a291906113e5565b60405180910390f35b6104c560048036038101906104c09190611574565b6108ec565b6040516104d29190611242565b60405180910390f35b6104f560048036038101906104f091906115dc565b61096e565b005b610511600480360381019061050c9190611549565b61099b565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461054690611647565b80601f016020809104026020016040519081016040528092919081815260200182805461057290611647565b80156105bd5780601f10610594576101008083540402835291602001916105bd565b820191905f5260205f20905b8154815290600101906020018083116105a057829003601f168201915b5050505050905090565b5f806105d1610a1f565b90506105de818585610a26565b600191505092915050565b5f600254905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f80610620610a1f565b905061062d858285610a38565b610638858585610aca565b60019150509392505050565b60075481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f6012905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106ac6106a6610a1f565b82610bba565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610768610c39565b6107715f610cc0565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107a9826107a3610a1f565b83610a38565b6107b38282610bba565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107ee90611647565b80601f016020809104026020016040519081016040528092919081815260200182805461081a90611647565b80156108655780601f1061083c57610100808354040283529160200191610865565b820191905f5260205f20905b81548152906001019060200180831161084857829003601f168201915b5050505050905090565b5f80610879610a1f565b9050610886818585610aca565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600660149054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610976610c39565b81600660146101000a81548160ff021916908315150217905550806007819055505050565b6109a3610c39565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a13575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a0a919061140d565b60405180910390fd5b610a1c81610cc0565b50565b5f33905090565b610a338383836001610d83565b505050565b5f610a4384846108ec565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ac45781811015610ab5578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610aac93929190611677565b60405180910390fd5b610ac384848484035f610d83565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b3a575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b31919061140d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610baa575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ba1919061140d565b60405180910390fd5b610bb5838383610f52565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c2a575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c21919061140d565b60405180910390fd5b610c35825f83610f52565b5050565b610c41610a1f565b73ffffffffffffffffffffffffffffffffffffffff16610c5f6107b7565b73ffffffffffffffffffffffffffffffffffffffff1614610cbe57610c82610a1f565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610cb5919061140d565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610df3575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610dea919061140d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e63575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e5a919061140d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610f4c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f439190611242565b60405180910390a35b50505050565b600660149054906101000a900460ff168015610f7057506007544311155b156110015760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663487608588484846040518463ffffffff1660e01b8152600401610fd3939291906116ac565b5f604051808303815f87803b158015610fea575f80fd5b505af1158015610ffc573d5f803e3d5ffd5b505050505b61100c838383611011565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611061578060025f828254611055919061170e565b9250508190555061112f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156110ea578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110e193929190611677565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611176578060025f82825403925050819055506111c0565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161121d9190611242565b60405180910390a3505050565b5f819050919050565b61123c8161122a565b82525050565b5f6020820190506112555f830184611233565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611292578082015181840152602081019050611277565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6112b78261125b565b6112c18185611265565b93506112d1818560208601611275565b6112da8161129d565b840191505092915050565b5f6020820190508181035f8301526112fd81846112ad565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61133282611309565b9050919050565b61134281611328565b811461134c575f80fd5b50565b5f8135905061135d81611339565b92915050565b61136c8161122a565b8114611376575f80fd5b50565b5f8135905061138781611363565b92915050565b5f80604083850312156113a3576113a2611305565b5b5f6113b08582860161134f565b92505060206113c185828601611379565b9150509250929050565b5f8115159050919050565b6113df816113cb565b82525050565b5f6020820190506113f85f8301846113d6565b92915050565b61140781611328565b82525050565b5f6020820190506114205f8301846113fe565b92915050565b5f805f6060848603121561143d5761143c611305565b5b5f61144a8682870161134f565b935050602061145b8682870161134f565b925050604061146c86828701611379565b9150509250925092565b5f60ff82169050919050565b61148b81611476565b82525050565b5f6020820190506114a45f830184611482565b92915050565b5f819050919050565b5f6114cd6114c86114c384611309565b6114aa565b611309565b9050919050565b5f6114de826114b3565b9050919050565b5f6114ef826114d4565b9050919050565b6114ff816114e5565b82525050565b5f6020820190506115185f8301846114f6565b92915050565b5f6020828403121561153357611532611305565b5b5f61154084828501611379565b91505092915050565b5f6020828403121561155e5761155d611305565b5b5f61156b8482850161134f565b91505092915050565b5f806040838503121561158a57611589611305565b5b5f6115978582860161134f565b92505060206115a88582860161134f565b9150509250929050565b6115bb816113cb565b81146115c5575f80fd5b50565b5f813590506115d6816115b2565b92915050565b5f80604083850312156115f2576115f1611305565b5b5f6115ff858286016115c8565b925050602061161085828601611379565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061165e57607f821691505b6020821081036116715761167061161a565b5b50919050565b5f60608201905061168a5f8301866113fe565b6116976020830185611233565b6116a46040830184611233565b949350505050565b5f6060820190506116bf5f8301866113fe565b6116cc60208301856113fe565b6116d96040830184611233565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117188261122a565b91506117238361122a565b925082820190508082111561173b5761173a6116e1565b5b9291505056fea26469706673582212206b2a33ba2486b2180696d498f0300f662911ea20b824cb847669fd057e139a6664736f6c63430008180033000000000000000000000000f4f071eb637b64fc78c9ea87dace4445d119ca35

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101a7575f3560e01c8063611c5318116100f7578063a9059cbb11610095578063d8c6404b1161006f578063d8c6404b1461048d578063dd62ed3e146104ab578063eec4cbed146104db578063f2fde38b146104f7576101a7565b8063a9059cbb14610421578063b107594314610451578063b266cb011461046f576101a7565b80637824407f116100d15780637824407f146103ab57806379cc6790146103c95780638da5cb5b146103e557806395d89b4114610403576101a7565b8063611c53181461035357806370a0823114610371578063715018a6146103a1576101a7565b806329f0bfd311610164578063407133d21161013e578063407133d2146102dd57806342966c68146102fb57806348cd4cb1146103175780635992704414610335576101a7565b806329f0bfd3146102835780632cfac6ec146102a1578063313ce567146102bf576101a7565b806306192121146101ab57806306fdde03146101c9578063095ea7b3146101e757806318160ddd1461021757806323b62b751461023557806323b872dd14610253575b5f80fd5b6101b3610513565b6040516101c09190611242565b60405180910390f35b6101d1610537565b6040516101de91906112e5565b60405180910390f35b61020160048036038101906101fc919061138d565b6105c7565b60405161020e91906113e5565b60405180910390f35b61021f6105e9565b60405161022c9190611242565b60405180910390f35b61023d6105f2565b60405161024a919061140d565b60405180910390f35b61026d60048036038101906102689190611426565b610616565b60405161027a91906113e5565b60405180910390f35b61028b610644565b6040516102989190611242565b60405180910390f35b6102a961064a565b6040516102b69190611242565b60405180910390f35b6102c761066e565b6040516102d49190611491565b60405180910390f35b6102e5610676565b6040516102f29190611505565b60405180910390f35b6103156004803603810190610310919061151e565b61069b565b005b61031f6106af565b60405161032c9190611242565b60405180910390f35b61033d6106d3565b60405161034a919061140d565b60405180910390f35b61035b6106f7565b6040516103689190611242565b60405180910390f35b61038b60048036038101906103869190611549565b61071b565b6040516103989190611242565b60405180910390f35b6103a9610760565b005b6103b3610773565b6040516103c09190611242565b60405180910390f35b6103e360048036038101906103de919061138d565b610797565b005b6103ed6107b7565b6040516103fa919061140d565b60405180910390f35b61040b6107df565b60405161041891906112e5565b60405180910390f35b61043b6004803603810190610436919061138d565b61086f565b60405161044891906113e5565b60405180910390f35b610459610891565b604051610466919061140d565b60405180910390f35b6104776108b5565b6040516104849190611242565b60405180910390f35b6104956108d9565b6040516104a291906113e5565b60405180910390f35b6104c560048036038101906104c09190611574565b6108ec565b6040516104d29190611242565b60405180910390f35b6104f560048036038101906104f091906115dc565b61096e565b005b610511600480360381019061050c9190611549565b61099b565b005b7f000000000000000000000000000000000000000119789f4bc348b7206a20000081565b60606003805461054690611647565b80601f016020809104026020016040519081016040528092919081815260200182805461057290611647565b80156105bd5780601f10610594576101008083540402835291602001916105bd565b820191905f5260205f20905b8154815290600101906020018083116105a057829003601f168201915b5050505050905090565b5f806105d1610a1f565b90506105de818585610a26565b600191505092915050565b5f600254905090565b7f0000000000000000000000003385aad59cdcfda951ba0f06100d83d77519130381565b5f80610620610a1f565b905061062d858285610a38565b610638858585610aca565b60019150509392505050565b60075481565b7f000000000000000000000000000000000000000002df458b2c635dcf55e0000081565b5f6012905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106ac6106a6610a1f565b82610bba565b50565b7f000000000000000000000000000000000000000000000000000000000125f13f81565b7f00000000000000000000000065735b71dcef231e48ccc148a93a5c0d238f2a8c81565b7f000000000000000000000000000000000000000002df458b2c635dcf55e0000081565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610768610c39565b6107715f610cc0565b565b7f00000000000000000000000000000000000000011f372a621c0f72bf15e0000081565b6107a9826107a3610a1f565b83610a38565b6107b38282610bba565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546107ee90611647565b80601f016020809104026020016040519081016040528092919081815260200182805461081a90611647565b80156108655780601f1061083c57610100808354040283529160200191610865565b820191905f5260205f20905b81548152906001019060200180831161084857829003601f168201915b5050505050905090565b5f80610879610a1f565b9050610886818585610aca565b600191505092915050565b7f000000000000000000000000f95d34518cefa59db10b51249ff6e96978fddf0381565b7f0000000000000000000000000000000000000001027e72f1f12813088000000081565b600660149054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610976610c39565b81600660146101000a81548160ff021916908315150217905550806007819055505050565b6109a3610c39565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a13575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610a0a919061140d565b60405180910390fd5b610a1c81610cc0565b50565b5f33905090565b610a338383836001610d83565b505050565b5f610a4384846108ec565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ac45781811015610ab5578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610aac93929190611677565b60405180910390fd5b610ac384848484035f610d83565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b3a575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b31919061140d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610baa575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ba1919061140d565b60405180910390fd5b610bb5838383610f52565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c2a575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c21919061140d565b60405180910390fd5b610c35825f83610f52565b5050565b610c41610a1f565b73ffffffffffffffffffffffffffffffffffffffff16610c5f6107b7565b73ffffffffffffffffffffffffffffffffffffffff1614610cbe57610c82610a1f565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610cb5919061140d565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610df3575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610dea919061140d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e63575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e5a919061140d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610f4c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f439190611242565b60405180910390a35b50505050565b600660149054906101000a900460ff168015610f7057506007544311155b156110015760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663487608588484846040518463ffffffff1660e01b8152600401610fd3939291906116ac565b5f604051808303815f87803b158015610fea575f80fd5b505af1158015610ffc573d5f803e3d5ffd5b505050505b61100c838383611011565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611061578060025f828254611055919061170e565b9250508190555061112f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156110ea578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016110e193929190611677565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611176578060025f82825403925050819055506111c0565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161121d9190611242565b60405180910390a3505050565b5f819050919050565b61123c8161122a565b82525050565b5f6020820190506112555f830184611233565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611292578082015181840152602081019050611277565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6112b78261125b565b6112c18185611265565b93506112d1818560208601611275565b6112da8161129d565b840191505092915050565b5f6020820190508181035f8301526112fd81846112ad565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61133282611309565b9050919050565b61134281611328565b811461134c575f80fd5b50565b5f8135905061135d81611339565b92915050565b61136c8161122a565b8114611376575f80fd5b50565b5f8135905061138781611363565b92915050565b5f80604083850312156113a3576113a2611305565b5b5f6113b08582860161134f565b92505060206113c185828601611379565b9150509250929050565b5f8115159050919050565b6113df816113cb565b82525050565b5f6020820190506113f85f8301846113d6565b92915050565b61140781611328565b82525050565b5f6020820190506114205f8301846113fe565b92915050565b5f805f6060848603121561143d5761143c611305565b5b5f61144a8682870161134f565b935050602061145b8682870161134f565b925050604061146c86828701611379565b9150509250925092565b5f60ff82169050919050565b61148b81611476565b82525050565b5f6020820190506114a45f830184611482565b92915050565b5f819050919050565b5f6114cd6114c86114c384611309565b6114aa565b611309565b9050919050565b5f6114de826114b3565b9050919050565b5f6114ef826114d4565b9050919050565b6114ff816114e5565b82525050565b5f6020820190506115185f8301846114f6565b92915050565b5f6020828403121561153357611532611305565b5b5f61154084828501611379565b91505092915050565b5f6020828403121561155e5761155d611305565b5b5f61156b8482850161134f565b91505092915050565b5f806040838503121561158a57611589611305565b5b5f6115978582860161134f565b92505060206115a88582860161134f565b9150509250929050565b6115bb816113cb565b81146115c5575f80fd5b50565b5f813590506115d6816115b2565b92915050565b5f80604083850312156115f2576115f1611305565b5b5f6115ff858286016115c8565b925050602061161085828601611379565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061165e57607f821691505b6020821081036116715761167061161a565b5b50919050565b5f60608201905061168a5f8301866113fe565b6116976020830185611233565b6116a46040830184611233565b949350505050565b5f6060820190506116bf5f8301866113fe565b6116cc60208301856113fe565b6116d96040830184611233565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117188261122a565b91506117238361122a565b925082820190508082111561173b5761173a6116e1565b5b9291505056fea26469706673582212206b2a33ba2486b2180696d498f0300f662911ea20b824cb847669fd057e139a6664736f6c63430008180033

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

000000000000000000000000f4f071eb637b64fc78c9ea87dace4445d119ca35

-----Decoded View---------------
Arg [0] : pinkAntiBot_ (address): 0xf4f071EB637b64fC78C9eA87DaCE4445D119CA35

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f4f071eb637b64fc78c9ea87dace4445d119ca35


Deployed Bytecode Sourcemap

27496:2247:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27598:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16733:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19026:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17835:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27770:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19794:249;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28015:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27681:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17686:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27897:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26658:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27973:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27853;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27640:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17997:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10346:103;;;:::i;:::-;;27555:36;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27076:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9671:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16943:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18320:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27812:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27723:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27935:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18565:142;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29194:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10604:220;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27598:35;;;:::o;16733:91::-;16778:13;16811:5;16804:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16733:91;:::o;19026:190::-;19099:4;19116:13;19132:12;:10;:12::i;:::-;19116:28;;19155:31;19164:5;19171:7;19180:5;19155:8;:31::i;:::-;19204:4;19197:11;;;19026:190;;;;:::o;17835:99::-;17887:7;17914:12;;17907:19;;17835:99;:::o;27770:35::-;;;:::o;19794:249::-;19881:4;19898:15;19916:12;:10;:12::i;:::-;19898:30;;19939:37;19955:4;19961:7;19970:5;19939:15;:37::i;:::-;19987:26;19997:4;20003:2;20007:5;19987:9;:26::i;:::-;20031:4;20024:11;;;19794:249;;;;;:::o;28015:32::-;;;;:::o;27681:35::-;;;:::o;17686:84::-;17735:5;17760:2;17753:9;;17686:84;:::o;27897:31::-;;;;;;;;;;;;;:::o;26658:89::-;26713:26;26719:12;:10;:12::i;:::-;26733:5;26713;:26::i;:::-;26658:89;:::o;27973:35::-;;;:::o;27853:::-;;;:::o;27640:34::-;;;:::o;17997:118::-;18062:7;18089:9;:18;18099:7;18089:18;;;;;;;;;;;;;;;;18082:25;;17997:118;;;:::o;10346:103::-;9557:13;:11;:13::i;:::-;10411:30:::1;10438:1;10411:18;:30::i;:::-;10346:103::o:0;27555:36::-;;;:::o;27076:161::-;27152:45;27168:7;27177:12;:10;:12::i;:::-;27191:5;27152:15;:45::i;:::-;27208:21;27214:7;27223:5;27208;:21::i;:::-;27076:161;;:::o;9671:87::-;9717:7;9744:6;;;;;;;;;;;9737:13;;9671:87;:::o;16943:95::-;16990:13;17023:7;17016:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16943:95;:::o;18320:182::-;18389:4;18406:13;18422:12;:10;:12::i;:::-;18406:28;;18445:27;18455:5;18462:2;18466:5;18445:9;:27::i;:::-;18490:4;18483:11;;;18320:182;;;;:::o;27812:34::-;;;:::o;27723:33::-;;;:::o;27935:26::-;;;;;;;;;;;;;:::o;18565:142::-;18645:7;18672:11;:18;18684:5;18672:18;;;;;;;;;;;;;;;:27;18691:7;18672:27;;;;;;;;;;;;;;;;18665:34;;18565:142;;;;:::o;29194:181::-;9557:13;:11;:13::i;:::-;29310:8:::1;29293:14;;:25;;;;;;;;;;;;;;;;;;29349:18;29329:17;:38;;;;29194:181:::0;;:::o;10604:220::-;9557:13;:11;:13::i;:::-;10709:1:::1;10689:22;;:8;:22;;::::0;10685:93:::1;;10763:1;10735:31;;;;;;;;;;;:::i;:::-;;;;;;;;10685:93;10788:28;10807:8;10788:18;:28::i;:::-;10604:220:::0;:::o;7680:98::-;7733:7;7760:10;7753:17;;7680:98;:::o;23853:130::-;23938:37;23947:5;23954:7;23963:5;23970:4;23938:8;:37::i;:::-;23853:130;;;:::o;25569:487::-;25669:24;25696:25;25706:5;25713:7;25696:9;:25::i;:::-;25669:52;;25756:17;25736:16;:37;25732:317;;25813:5;25794:16;:24;25790:132;;;25873:7;25882:16;25900:5;25846:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;25790:132;25965:57;25974:5;25981:7;26009:5;25990:16;:24;26016:5;25965:8;:57::i;:::-;25732:317;25658:398;25569:487;;;:::o;20428:308::-;20528:1;20512:18;;:4;:18;;;20508:88;;20581:1;20554:30;;;;;;;;;;;:::i;:::-;;;;;;;;20508:88;20624:1;20610:16;;:2;:16;;;20606:88;;20679:1;20650:32;;;;;;;;;;;:::i;:::-;;;;;;;;20606:88;20704:24;20712:4;20718:2;20722:5;20704:7;:24::i;:::-;20428:308;;;:::o;23089:211::-;23179:1;23160:21;;:7;:21;;;23156:91;;23232:1;23205:30;;;;;;;;;;;:::i;:::-;;;;;;;;23156:91;23257:35;23265:7;23282:1;23286:5;23257:7;:35::i;:::-;23089:211;;:::o;9836:166::-;9907:12;:10;:12::i;:::-;9896:23;;:7;:5;:7::i;:::-;:23;;;9892:103;;9970:12;:10;:12::i;:::-;9943:40;;;;;;;;;;;:::i;:::-;;;;;;;;9892:103;9836:166::o;10984:191::-;11058:16;11077:6;;;;;;;;;;;11058:25;;11103:8;11094:6;;:17;;;;;;;;;;;;;;;;;;11158:8;11127:40;;11148:8;11127:40;;;;;;;;;;;;11047:128;10984:191;:::o;24834:443::-;24964:1;24947:19;;:5;:19;;;24943:91;;25019:1;24990:32;;;;;;;;;;;:::i;:::-;;;;;;;;24943:91;25067:1;25048:21;;:7;:21;;;25044:92;;25121:1;25093:31;;;;;;;;;;;:::i;:::-;;;;;;;;25044:92;25176:5;25146:11;:18;25158:5;25146:18;;;;;;;;;;;;;;;:27;25165:7;25146:27;;;;;;;;;;;;;;;:35;;;;25196:9;25192:78;;;25243:7;25227:31;;25236:5;25227:31;;;25252:5;25227:31;;;;;;:::i;:::-;;;;;;;;25192:78;24834:443;;;;:::o;29469:269::-;29561:14;;;;;;;;;;;:51;;;;;29595:17;;29579:12;:33;;29561:51;29557:132;;;29629:11;;;;;;;;;;;:30;;;29660:4;29666:2;29670:6;29629:48;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29557:132;29699:31;29713:4;29719:2;29723:6;29699:13;:31::i;:::-;29469:269;;;:::o;21060:1135::-;21166:1;21150:18;;:4;:18;;;21146:552;;21304:5;21288:12;;:21;;;;;;;:::i;:::-;;;;;;;;21146:552;;;21342:19;21364:9;:15;21374:4;21364:15;;;;;;;;;;;;;;;;21342:37;;21412:5;21398:11;:19;21394:117;;;21470:4;21476:11;21489:5;21445:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;21394:117;21666:5;21652:11;:19;21634:9;:15;21644:4;21634:15;;;;;;;;;;;;;;;:37;;;;21327:371;21146:552;21728:1;21714:16;;:2;:16;;;21710:435;;21896:5;21880:12;;:21;;;;;;;;;;;21710:435;;;22113:5;22096:9;:13;22106:2;22096:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;21710:435;22177:2;22162:25;;22171:4;22162:25;;;22181:5;22162:25;;;;;;:::i;:::-;;;;;;;;21060:1135;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:619::-;4227:6;4235;4243;4292:2;4280:9;4271:7;4267:23;4263:32;4260:119;;;4298:79;;:::i;:::-;4260:119;4418:1;4443:53;4488:7;4479:6;4468:9;4464:22;4443:53;:::i;:::-;4433:63;;4389:117;4545:2;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4516:118;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4150:619;;;;;:::o;4775:86::-;4810:7;4850:4;4843:5;4839:16;4828:27;;4775:86;;;:::o;4867:112::-;4950:22;4966:5;4950:22;:::i;:::-;4945:3;4938:35;4867:112;;:::o;4985:214::-;5074:4;5112:2;5101:9;5097:18;5089:26;;5125:67;5189:1;5178:9;5174:17;5165:6;5125:67;:::i;:::-;4985:214;;;;:::o;5205:60::-;5233:3;5254:5;5247:12;;5205:60;;;:::o;5271:142::-;5321:9;5354:53;5372:34;5381:24;5399:5;5381:24;:::i;:::-;5372:34;:::i;:::-;5354:53;:::i;:::-;5341:66;;5271:142;;;:::o;5419:126::-;5469:9;5502:37;5533:5;5502:37;:::i;:::-;5489:50;;5419:126;;;:::o;5551:145::-;5620:9;5653:37;5684:5;5653:37;:::i;:::-;5640:50;;5551:145;;;:::o;5702:169::-;5808:56;5858:5;5808:56;:::i;:::-;5803:3;5796:69;5702:169;;:::o;5877:260::-;5989:4;6027:2;6016:9;6012:18;6004:26;;6040:90;6127:1;6116:9;6112:17;6103:6;6040:90;:::i;:::-;5877:260;;;;:::o;6143:329::-;6202:6;6251:2;6239:9;6230:7;6226:23;6222:32;6219:119;;;6257:79;;:::i;:::-;6219:119;6377:1;6402:53;6447:7;6438:6;6427:9;6423:22;6402:53;:::i;:::-;6392:63;;6348:117;6143:329;;;;:::o;6478:::-;6537:6;6586:2;6574:9;6565:7;6561:23;6557:32;6554:119;;;6592:79;;:::i;:::-;6554:119;6712:1;6737:53;6782:7;6773:6;6762:9;6758:22;6737:53;:::i;:::-;6727:63;;6683:117;6478:329;;;;:::o;6813:474::-;6881:6;6889;6938:2;6926:9;6917:7;6913:23;6909:32;6906:119;;;6944:79;;:::i;:::-;6906:119;7064:1;7089:53;7134:7;7125:6;7114:9;7110:22;7089:53;:::i;:::-;7079:63;;7035:117;7191:2;7217:53;7262:7;7253:6;7242:9;7238:22;7217:53;:::i;:::-;7207:63;;7162:118;6813:474;;;;;:::o;7293:116::-;7363:21;7378:5;7363:21;:::i;:::-;7356:5;7353:32;7343:60;;7399:1;7396;7389:12;7343:60;7293:116;:::o;7415:133::-;7458:5;7496:6;7483:20;7474:29;;7512:30;7536:5;7512:30;:::i;:::-;7415:133;;;;:::o;7554:468::-;7619:6;7627;7676:2;7664:9;7655:7;7651:23;7647:32;7644:119;;;7682:79;;:::i;:::-;7644:119;7802:1;7827:50;7869:7;7860:6;7849:9;7845:22;7827:50;:::i;:::-;7817:60;;7773:114;7926:2;7952:53;7997:7;7988:6;7977:9;7973:22;7952:53;:::i;:::-;7942:63;;7897:118;7554:468;;;;;:::o;8028:180::-;8076:77;8073:1;8066:88;8173:4;8170:1;8163:15;8197:4;8194:1;8187:15;8214:320;8258:6;8295:1;8289:4;8285:12;8275:22;;8342:1;8336:4;8332:12;8363:18;8353:81;;8419:4;8411:6;8407:17;8397:27;;8353:81;8481:2;8473:6;8470:14;8450:18;8447:38;8444:84;;8500:18;;:::i;:::-;8444:84;8265:269;8214:320;;;:::o;8540:442::-;8689:4;8727:2;8716:9;8712:18;8704:26;;8740:71;8808:1;8797:9;8793:17;8784:6;8740:71;:::i;:::-;8821:72;8889:2;8878:9;8874:18;8865:6;8821:72;:::i;:::-;8903;8971:2;8960:9;8956:18;8947:6;8903:72;:::i;:::-;8540:442;;;;;;:::o;8988:::-;9137:4;9175:2;9164:9;9160:18;9152:26;;9188:71;9256:1;9245:9;9241:17;9232:6;9188:71;:::i;:::-;9269:72;9337:2;9326:9;9322:18;9313:6;9269:72;:::i;:::-;9351;9419:2;9408:9;9404:18;9395:6;9351:72;:::i;:::-;8988:442;;;;;;:::o;9436:180::-;9484:77;9481:1;9474:88;9581:4;9578:1;9571:15;9605:4;9602:1;9595:15;9622:191;9662:3;9681:20;9699:1;9681:20;:::i;:::-;9676:25;;9715:20;9733:1;9715:20;:::i;:::-;9710:25;;9758:1;9755;9751:9;9744:16;;9779:3;9776:1;9773:10;9770:36;;;9786:18;;:::i;:::-;9770:36;9622:191;;;;:::o

Swarm Source

ipfs://6b2a33ba2486b2180696d498f0300f662911ea20b824cb847669fd057e139a66
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.