ETH Price: $3,340.84 (-1.01%)

Token

Mandox (MANDOX)
 

Overview

Max Total Supply

50,000,000,000,000 MANDOX

Holders

3,159 ( -0.032%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH (-3.93%)

Onchain Market Cap

$1,060,768.98

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Mandox Token is an ERC-20 token on the Ethereum Blockchain belonging to the ecosystem and community from Mandox LLC. With references in their NFTs and storyline discover The Mandox, Mandox is planned to play a leading role in the future.

Market

Volume (24H):$791.23
Market Capitalization:$0.00
Circulating Supply:0.00 MANDOX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MANDOXv3

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-24
*/

// SPDX-License-Identifier: MIT

/*  
 *  MANDOXv3
 *  https://www.mandoxglobal.com
 *  t.me/officialmandox
 *  https://twitter.com/OfficialMandox
 *
 */

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


// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)

pragma solidity ^0.8.1;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     *
     * Furthermore, `isContract` will also return true if the target contract within
     * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,
     * which only has an effect at the end of a transaction.
     * ====
     *
     * [IMPORTANT]
     * ====
     * You shouldn't rely on `isContract` to protect against flash loan attacks!
     *
     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
     * constructor.
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResultFromTarget(target, success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling
     * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.
     *
     * _Available since v4.8._
     */
    function verifyCallResultFromTarget(
        address target,
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        if (success) {
            if (returndata.length == 0) {
                // only check isContract if the call was successful and the return data is empty
                // otherwise we already know that it was a contract
                require(isContract(target), "Address: call to non-contract");
            }
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    /**
     * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason or using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            _revert(returndata, errorMessage);
        }
    }

    function _revert(bytes memory returndata, string memory errorMessage) private pure {
        // Look for revert reason and bubble it up if present
        if (returndata.length > 0) {
            // The easiest way to bubble the revert reason is using memory via assembly
            /// @solidity memory-safe-assembly
            assembly {
                let returndata_size := mload(returndata)
                revert(add(32, returndata), returndata_size)
            }
        } else {
            revert(errorMessage);
        }
    }
}

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


// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

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

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

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


// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

pragma solidity ^0.8.0;


/**
 * @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. 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 {
        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: @openzeppelin/contracts/token/ERC20/IERC20.sol


// 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: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol


// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

pragma solidity ^0.8.0;


/**
 * @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: MANDOXv3Main.sol



/*  
 *  MANDOXv3
 *  https://www.mandoxglobal.com
 *  t.me/officialmandox
 *  https://twitter.com/OfficialMandox
 *
 */

pragma solidity ^0.8.0;

// Import the required OpenZeppelin contracts






contract MANDOXv3 is Context, IERC20, IERC20Metadata, Ownable {
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isBlacklisted;
    bool public _isPaused;

    event BlacklistUpdated(address indexed wallet, bool isBlacklisted);
    event PausedStatusUpdated(bool isPaused);

    modifier notBlacklisted() {
        require(!_isBlacklisted[_msgSender()], "Your address is blacklisted");
        _;
    }

    modifier notPaused() {
        if (_msgSender() != owner()) {
            require(!_isPaused, "Trading is paused");
        }
        _;
    }

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = 9;
        _totalSupply = 50000000000000 * 10**uint256(_decimals); // 50 trillion tokens
        _balances[_msgSender()] = _totalSupply;
        _isPaused = true;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

     // functions to return name, symbol, decimals and total supply
    function name() public view override returns (string memory) {
        return _name;
    }

    function symbol() public view override returns (string memory) {
        return _symbol;
    }

    function decimals() public view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }
    
    // checks balance of address
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    // transfer with blacklist and notPaused checks
    function transfer(address recipient, uint256 amount) public override notBlacklisted notPaused returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(_balances[sender] >= amount, "ERC20: transfer amount exceeds balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    // approve the spending of tokens
    function approve(address spender, uint256 amount) public override notBlacklisted notPaused returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        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);
    }

    // view allowances of an address spender and owner wallet
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    // transfer from address that has allowances
    function transferFrom(address sender, address recipient, uint256 amount) public override notBlacklisted notPaused returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    // increase/decrease allowances
    function increaseAllowance(address spender, uint256 addedValue) public notBlacklisted notPaused returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public notBlacklisted notPaused returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    // wallet blacklist functionality
    function addToBlacklist(address wallet) external onlyOwner {
        _isBlacklisted[wallet] = true;
        emit BlacklistUpdated(wallet, true);
    }

    function removeFromBlacklist(address wallet) external onlyOwner {
        _isBlacklisted[wallet] = false;
        emit BlacklistUpdated(wallet, false);
    }

    // set contract paused state
    function setPausedStatus(bool isPaused) external onlyOwner {
        _isPaused = isPaused;
        emit PausedStatusUpdated(isPaused);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"BlacklistUpdated","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":"bool","name":"isPaused","type":"bool"}],"name":"PausedStatusUpdated","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":"_isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addToBlacklist","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":"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":[],"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":[{"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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused","type":"bool"}],"name":"setPausedStatus","outputs":[],"stateMutability":"nonpayable","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","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"}]

60806040523480156200001157600080fd5b50604051620012ec380380620012ec833981016040819052620000349162000203565b6200003f33620000ee565b60016200004d8382620002fc565b5060026200005c8282620002fc565b506003805460ff191660099081179091556200007a90600a620004dd565b6200008c90652d79883d2000620004f2565b60048190553360008181526005602090815260408083208590556008805460ff1916600117905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200050c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016657600080fd5b81516001600160401b03808211156200018357620001836200013e565b604051601f8301601f19908116603f01168101908282118183101715620001ae57620001ae6200013e565b81604052838152602092508683858801011115620001cb57600080fd5b600091505b83821015620001ef5785820183015181830184015290820190620001d0565b600093810190920192909252949350505050565b600080604083850312156200021757600080fd5b82516001600160401b03808211156200022f57600080fd5b6200023d8683870162000154565b935060208501519150808211156200025457600080fd5b50620002638582860162000154565b9150509250929050565b600181811c908216806200028257607f821691505b602082108103620002a357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002f757600081815260208120601f850160051c81016020861015620002d25750805b601f850160051c820191505b81811015620002f357828155600101620002de565b5050505b505050565b81516001600160401b038111156200031857620003186200013e565b62000330816200032984546200026d565b84620002a9565b602080601f8311600181146200036857600084156200034f5750858301515b600019600386901b1c1916600185901b178555620002f3565b600085815260208120601f198616915b82811015620003995788860151825594840194600190910190840162000378565b5085821015620003b85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200041f578160001904821115620004035762000403620003c8565b808516156200041157918102915b93841c9390800290620003e3565b509250929050565b6000826200043857506001620004d7565b816200044757506000620004d7565b81600181146200046057600281146200046b576200048b565b6001915050620004d7565b60ff8411156200047f576200047f620003c8565b50506001821b620004d7565b5060208310610133831016604e8410600b8410161715620004b0575081810a620004d7565b620004bc8383620003de565b8060001904821115620004d357620004d3620003c8565b0290505b92915050565b6000620004eb838362000427565b9392505050565b8082028115828204841417620004d757620004d7620003c8565b610dd0806200051c6000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610237578063a9059cbb1461024a578063dd62ed3e1461025d578063e2684f0814610296578063f2fde38b146102a357600080fd5b806370a08231146101e3578063715018a61461020c5780638da5cb5b1461021457806395d89b411461022f57600080fd5b806323b872dd116100e957806323b872dd14610182578063313ce5671461019557806339509351146101aa57806344337ea1146101bd578063537df3b6146101d057600080fd5b8062370c081461011a57806306fdde031461012f578063095ea7b31461014d57806318160ddd14610170575b600080fd5b61012d610128366004610b7b565b6102b6565b005b610137610305565b6040516101449190610ba4565b60405180910390f35b61016061015b366004610c0e565b610397565b6040519015158152602001610144565b6004545b604051908152602001610144565b610160610190366004610c38565b61041a565b60035460405160ff9091168152602001610144565b6101606101b8366004610c0e565b6104cf565b61012d6101cb366004610c74565b61056a565b61012d6101de366004610c74565b6105d0565b6101746101f1366004610c74565b6001600160a01b031660009081526005602052604090205490565b61012d610627565b6000546040516001600160a01b039091168152602001610144565b61013761063b565b610160610245366004610c0e565b61064a565b610160610258366004610c0e565b6106e5565b61017461026b366004610c8f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6008546101609060ff1681565b61012d6102b1366004610c74565b610755565b6102be6107ce565b6008805460ff19168215159081179091556040519081527f056aafd06a16976e0b2d699e0a606d40fc9025f526ec1ba92c041911afb088cd9060200160405180910390a150565b60606001805461031490610cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461034090610cc2565b801561038d5780601f106103625761010080835404028352916020019161038d565b820191906000526020600020905b81548152906001019060200180831161037057829003601f168201915b5050505050905090565b3360009081526007602052604081205460ff16156103d05760405162461bcd60e51b81526004016103c790610cfc565b60405180910390fd5b6000546001600160a01b031633146104055760085460ff16156104055760405162461bcd60e51b81526004016103c790610d33565b610410338484610828565b5060015b92915050565b3360009081526007602052604081205460ff161561044a5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b0316331461047f5760085460ff161561047f5760405162461bcd60e51b81526004016103c790610d33565b61048a84848461094d565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546104c59186916104c0908690610d74565b610828565b5060019392505050565b3360009081526007602052604081205460ff16156104ff5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b031633146105345760085460ff16156105345760405162461bcd60e51b81526004016103c790610d33565b3360008181526006602090815260408083206001600160a01b0388168452909152902054610410919085906104c0908690610d87565b6105726107ce565b6001600160a01b038116600081815260076020908152604091829020805460ff1916600190811790915591519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91015b60405180910390a250565b6105d86107ce565b6001600160a01b0381166000818152600760209081526040808320805460ff19169055519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91016105c5565b61062f6107ce565b6106396000610b2b565b565b60606002805461031490610cc2565b3360009081526007602052604081205460ff161561067a5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b031633146106af5760085460ff16156106af5760405162461bcd60e51b81526004016103c790610d33565b3360008181526006602090815260408083206001600160a01b0388168452909152902054610410919085906104c0908690610d74565b3360009081526007602052604081205460ff16156107155760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b0316331461074a5760085460ff161561074a5760405162461bcd60e51b81526004016103c790610d33565b61041033848461094d565b61075d6107ce565b6001600160a01b0381166107c25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c7565b6107cb81610b2b565b50565b6000546001600160a01b031633146106395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c7565b6001600160a01b03831661088a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c7565b6001600160a01b0382166108eb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c7565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c7565b6001600160a01b038216610a135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c7565b6001600160a01b038316600090815260056020526040902054811115610a8a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103c7565b6001600160a01b03831660009081526005602052604081208054839290610ab2908490610d74565b90915550506001600160a01b03821660009081526005602052604081208054839290610adf908490610d87565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161094091815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b8d57600080fd5b81358015158114610b9d57600080fd5b9392505050565b600060208083528351808285015260005b81811015610bd157858101830151858201604001528201610bb5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c0957600080fd5b919050565b60008060408385031215610c2157600080fd5b610c2a83610bf2565b946020939093013593505050565b600080600060608486031215610c4d57600080fd5b610c5684610bf2565b9250610c6460208501610bf2565b9150604084013590509250925092565b600060208284031215610c8657600080fd5b610b9d82610bf2565b60008060408385031215610ca257600080fd5b610cab83610bf2565b9150610cb960208401610bf2565b90509250929050565b600181811c90821680610cd657607f821691505b602082108103610cf657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601b908201527f596f7572206164647265737320697320626c61636b6c69737465640000000000604082015260600190565b602080825260119082015270151c98591a5b99c81a5cc81c185d5cd959607a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561041457610414610d5e565b8082018082111561041457610414610d5e56fea2646970667358221220329b1263dbaf214aaeb1c03d2f6efff8dfc50948162507892e566244bf889b6264736f6c634300081200330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000064d616e646f78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064d414e444f580000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101155760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d714610237578063a9059cbb1461024a578063dd62ed3e1461025d578063e2684f0814610296578063f2fde38b146102a357600080fd5b806370a08231146101e3578063715018a61461020c5780638da5cb5b1461021457806395d89b411461022f57600080fd5b806323b872dd116100e957806323b872dd14610182578063313ce5671461019557806339509351146101aa57806344337ea1146101bd578063537df3b6146101d057600080fd5b8062370c081461011a57806306fdde031461012f578063095ea7b31461014d57806318160ddd14610170575b600080fd5b61012d610128366004610b7b565b6102b6565b005b610137610305565b6040516101449190610ba4565b60405180910390f35b61016061015b366004610c0e565b610397565b6040519015158152602001610144565b6004545b604051908152602001610144565b610160610190366004610c38565b61041a565b60035460405160ff9091168152602001610144565b6101606101b8366004610c0e565b6104cf565b61012d6101cb366004610c74565b61056a565b61012d6101de366004610c74565b6105d0565b6101746101f1366004610c74565b6001600160a01b031660009081526005602052604090205490565b61012d610627565b6000546040516001600160a01b039091168152602001610144565b61013761063b565b610160610245366004610c0e565b61064a565b610160610258366004610c0e565b6106e5565b61017461026b366004610c8f565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6008546101609060ff1681565b61012d6102b1366004610c74565b610755565b6102be6107ce565b6008805460ff19168215159081179091556040519081527f056aafd06a16976e0b2d699e0a606d40fc9025f526ec1ba92c041911afb088cd9060200160405180910390a150565b60606001805461031490610cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461034090610cc2565b801561038d5780601f106103625761010080835404028352916020019161038d565b820191906000526020600020905b81548152906001019060200180831161037057829003601f168201915b5050505050905090565b3360009081526007602052604081205460ff16156103d05760405162461bcd60e51b81526004016103c790610cfc565b60405180910390fd5b6000546001600160a01b031633146104055760085460ff16156104055760405162461bcd60e51b81526004016103c790610d33565b610410338484610828565b5060015b92915050565b3360009081526007602052604081205460ff161561044a5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b0316331461047f5760085460ff161561047f5760405162461bcd60e51b81526004016103c790610d33565b61048a84848461094d565b6001600160a01b0384166000908152600660209081526040808320338085529252909120546104c59186916104c0908690610d74565b610828565b5060019392505050565b3360009081526007602052604081205460ff16156104ff5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b031633146105345760085460ff16156105345760405162461bcd60e51b81526004016103c790610d33565b3360008181526006602090815260408083206001600160a01b0388168452909152902054610410919085906104c0908690610d87565b6105726107ce565b6001600160a01b038116600081815260076020908152604091829020805460ff1916600190811790915591519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91015b60405180910390a250565b6105d86107ce565b6001600160a01b0381166000818152600760209081526040808320805460ff19169055519182527f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac91016105c5565b61062f6107ce565b6106396000610b2b565b565b60606002805461031490610cc2565b3360009081526007602052604081205460ff161561067a5760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b031633146106af5760085460ff16156106af5760405162461bcd60e51b81526004016103c790610d33565b3360008181526006602090815260408083206001600160a01b0388168452909152902054610410919085906104c0908690610d74565b3360009081526007602052604081205460ff16156107155760405162461bcd60e51b81526004016103c790610cfc565b6000546001600160a01b0316331461074a5760085460ff161561074a5760405162461bcd60e51b81526004016103c790610d33565b61041033848461094d565b61075d6107ce565b6001600160a01b0381166107c25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103c7565b6107cb81610b2b565b50565b6000546001600160a01b031633146106395760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103c7565b6001600160a01b03831661088a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103c7565b6001600160a01b0382166108eb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103c7565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109b15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103c7565b6001600160a01b038216610a135760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103c7565b6001600160a01b038316600090815260056020526040902054811115610a8a5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103c7565b6001600160a01b03831660009081526005602052604081208054839290610ab2908490610d74565b90915550506001600160a01b03821660009081526005602052604081208054839290610adf908490610d87565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161094091815260200190565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610b8d57600080fd5b81358015158114610b9d57600080fd5b9392505050565b600060208083528351808285015260005b81811015610bd157858101830151858201604001528201610bb5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c0957600080fd5b919050565b60008060408385031215610c2157600080fd5b610c2a83610bf2565b946020939093013593505050565b600080600060608486031215610c4d57600080fd5b610c5684610bf2565b9250610c6460208501610bf2565b9150604084013590509250925092565b600060208284031215610c8657600080fd5b610b9d82610bf2565b60008060408385031215610ca257600080fd5b610cab83610bf2565b9150610cb960208401610bf2565b90509250929050565b600181811c90821680610cd657607f821691505b602082108103610cf657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601b908201527f596f7572206164647265737320697320626c61636b6c69737465640000000000604082015260600190565b602080825260119082015270151c98591a5b99c81a5cc81c185d5cd959607a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561041457610414610d5e565b8082018082111561041457610414610d5e56fea2646970667358221220329b1263dbaf214aaeb1c03d2f6efff8dfc50948162507892e566244bf889b6264736f6c63430008120033

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

0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000064d616e646f78000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064d414e444f580000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Mandox
Arg [1] : symbol_ (string): MANDOX

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [3] : 4d616e646f780000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [5] : 4d414e444f580000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

17247:4817:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21918:143;;;;;;:::i;:::-;;:::i;:::-;;18538:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19886:186;;;;;;:::i;:::-;;:::i;:::-;;;1447:14:1;;1440:22;1422:41;;1410:2;1395:18;19886:186:0;1282:187:1;18842:100:0;18922:12;;18842:100;;;1620:25:1;;;1608:2;1593:18;18842:100:0;1474:177:1;20690:291:0;;;;;;:::i;:::-;;:::i;18742:92::-;18817:9;;18742:92;;18817:9;;;;2131:36:1;;2119:2;2104:18;18742:92:0;1989:184:1;21026:232:0;;;;;;:::i;:::-;;:::i;21555:153::-;;;;;;:::i;:::-;;:::i;21716:160::-;;;;;;:::i;:::-;;:::i;18988:119::-;;;;;;:::i;:::-;-1:-1:-1;;;;;19081:18:0;19054:7;19081:18;;;:9;:18;;;;;;;18988:119;12567:103;;;:::i;11926:87::-;11972:7;11999:6;11926:87;;-1:-1:-1;;;;;11999:6:0;;;2515:51:1;;2503:2;2488:18;11926:87:0;2369:203:1;18638:96:0;;;:::i;21266:242::-;;;;;;:::i;:::-;;:::i;19168:192::-;;;;;;:::i;:::-;;:::i;20489:143::-;;;;;;:::i;:::-;-1:-1:-1;;;;;20597:18:0;;;20570:7;20597:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;20489:143;17653:21;;;;;;;;;12825:201;;;;;;:::i;:::-;;:::i;21918:143::-;11812:13;:11;:13::i;:::-;21988:9:::1;:20:::0;;-1:-1:-1;;21988:20:0::1;::::0;::::1;;::::0;;::::1;::::0;;;22024:29:::1;::::0;1422:41:1;;;22024:29:0::1;::::0;1410:2:1;1395:18;22024:29:0::1;;;;;;;21918:143:::0;:::o;18538:92::-;18584:13;18617:5;18610:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18538:92;:::o;19886:186::-;10557:10;19986:4;17851:28;;;:14;:28;;;;;;;;17850:29;17842:69;;;;-1:-1:-1;;;17842:69:0;;;;;;;:::i;:::-;;;;;;;;;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;17975:23:::1;17971:96;;18024:9;::::0;::::1;;18023:10;18015:40;;;;-1:-1:-1::0;;;18015:40:0::1;;;;;;;:::i;:::-;20003:39:::2;10557:10:::0;20026:7:::2;20035:6;20003:8;:39::i;:::-;-1:-1:-1::0;20060:4:0::2;18077:1;19886:186:::0;;;;:::o;20690:291::-;10557:10;20813:4;17851:28;;;:14;:28;;;;;;;;17850:29;17842:69;;;;-1:-1:-1;;;17842:69:0;;;;;;;:::i;:::-;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;17975:23:::1;17971:96;;18024:9;::::0;::::1;;18023:10;18015:40;;;;-1:-1:-1::0;;;18015:40:0::1;;;;;;;:::i;:::-;20830:36:::2;20840:6;20848:9;20859:6;20830:9;:36::i;:::-;-1:-1:-1::0;;;;;20908:19:0;::::2;;::::0;;;:11:::2;:19;::::0;;;;;;;10557:10;20908:33;;;;;;;;;20877:74:::2;::::0;20886:6;;20908:42:::2;::::0;20944:6;;20908:42:::2;:::i;:::-;20877:8;:74::i;:::-;-1:-1:-1::0;20969:4:0::2;20690:291:::0;;;;;:::o;21026:232::-;10557:10;21131:4;17851:28;;;:14;:28;;;;;;;;17850:29;17842:69;;;;-1:-1:-1;;;17842:69:0;;;;;;;:::i;:::-;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;17975:23:::1;17971:96;;18024:9;::::0;::::1;;18023:10;18015:40;;;;-1:-1:-1::0;;;18015:40:0::1;;;;;;;:::i;:::-;10557:10:::0;21180:25:::2;::::0;;;:11:::2;:25;::::0;;;;;;;-1:-1:-1;;;;;21180:34:0;::::2;::::0;;;;;;;;21148:80:::2;::::0;10557:10;21171:7;;21180:47:::2;::::0;21217:10;;21180:47:::2;:::i;21555:153::-:0;11812:13;:11;:13::i;:::-;-1:-1:-1;;;;;21625:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;;;;:29;;-1:-1:-1;;21625:29:0::1;21650:4;21625:29:::0;;::::1;::::0;;;21670:30;;1422:41:1;;;21670:30:0::1;::::0;1395:18:1;21670:30:0::1;;;;;;;;21555:153:::0;:::o;21716:160::-;11812:13;:11;:13::i;:::-;-1:-1:-1;;;;;21791:22:0;::::1;21816:5;21791:22:::0;;;:14:::1;:22;::::0;;;;;;;:30;;-1:-1:-1;;21791:30:0::1;::::0;;21837:31;1422:41:1;;;21837:31:0::1;::::0;1395:18:1;21837:31:0::1;1282:187:1::0;12567:103:0;11812:13;:11;:13::i;:::-;12632:30:::1;12659:1;12632:18;:30::i;:::-;12567:103::o:0;18638:96::-;18686:13;18719:7;18712:14;;;;;:::i;21266:242::-;10557:10;21376:4;17851:28;;;:14;:28;;;;;;;;17850:29;17842:69;;;;-1:-1:-1;;;17842:69:0;;;;;;;:::i;:::-;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;17975:23:::1;17971:96;;18024:9;::::0;::::1;;18023:10;18015:40;;;;-1:-1:-1::0;;;18015:40:0::1;;;;;;;:::i;:::-;10557:10:::0;21425:25:::2;::::0;;;:11:::2;:25;::::0;;;;;;;-1:-1:-1;;;;;21425:34:0;::::2;::::0;;;;;;;;21393:85:::2;::::0;10557:10;21416:7;;21425:52:::2;::::0;21462:15;;21425:52:::2;:::i;19168:192::-:0;10557:10;19271:4;17851:28;;;:14;:28;;;;;;;;17850:29;17842:69;;;;-1:-1:-1;;;17842:69:0;;;;;;;:::i;:::-;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;17975:23:::1;17971:96;;18024:9;::::0;::::1;;18023:10;18015:40;;;;-1:-1:-1::0;;;18015:40:0::1;;;;;;;:::i;:::-;19288:42:::2;10557:10:::0;19312:9:::2;19323:6;19288:9;:42::i;12825:201::-:0;11812:13;:11;:13::i;:::-;-1:-1:-1;;;;;12914:22:0;::::1;12906:73;;;::::0;-1:-1:-1;;;12906:73:0;;4526:2:1;12906:73:0::1;::::0;::::1;4508:21:1::0;4565:2;4545:18;;;4538:30;4604:34;4584:18;;;4577:62;-1:-1:-1;;;4655:18:1;;;4648:36;4701:19;;12906:73:0::1;4324:402:1::0;12906:73:0::1;12990:28;13009:8;12990:18;:28::i;:::-;12825:201:::0;:::o;12091:132::-;11972:7;11999:6;-1:-1:-1;;;;;11999:6:0;10557:10;12155:23;12147:68;;;;-1:-1:-1;;;12147:68:0;;4933:2:1;12147:68:0;;;4915:21:1;;;4952:18;;;4945:30;5011:34;4991:18;;;4984:62;5063:18;;12147:68:0;4731:356:1;20080:338:0;-1:-1:-1;;;;;20174:19:0;;20166:68;;;;-1:-1:-1;;;20166:68:0;;5294:2:1;20166:68:0;;;5276:21:1;5333:2;5313:18;;;5306:30;5372:34;5352:18;;;5345:62;-1:-1:-1;;;5423:18:1;;;5416:34;5467:19;;20166:68:0;5092:400:1;20166:68:0;-1:-1:-1;;;;;20253:21:0;;20245:68;;;;-1:-1:-1;;;20245:68:0;;5699:2:1;20245:68:0;;;5681:21:1;5738:2;5718:18;;;5711:30;5777:34;5757:18;;;5750:62;-1:-1:-1;;;5828:18:1;;;5821:32;5870:19;;20245:68:0;5497:398:1;20245:68:0;-1:-1:-1;;;;;20326:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20378:32;;1620:25:1;;;20378:32:0;;1593:18:1;20378:32:0;;;;;;;;20080:338;;;:::o;19368:471::-;-1:-1:-1;;;;;19466:20:0;;19458:70;;;;-1:-1:-1;;;19458:70:0;;6102:2:1;19458:70:0;;;6084:21:1;6141:2;6121:18;;;6114:30;6180:34;6160:18;;;6153:62;-1:-1:-1;;;6231:18:1;;;6224:35;6276:19;;19458:70:0;5900:401:1;19458:70:0;-1:-1:-1;;;;;19547:23:0;;19539:71;;;;-1:-1:-1;;;19539:71:0;;6508:2:1;19539:71:0;;;6490:21:1;6547:2;6527:18;;;6520:30;6586:34;6566:18;;;6559:62;-1:-1:-1;;;6637:18:1;;;6630:33;6680:19;;19539:71:0;6306:399:1;19539:71:0;-1:-1:-1;;;;;19629:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;19629:27:0;19621:78;;;;-1:-1:-1;;;19621:78:0;;6912:2:1;19621:78:0;;;6894:21:1;6951:2;6931:18;;;6924:30;6990:34;6970:18;;;6963:62;-1:-1:-1;;;7041:18:1;;;7034:36;7087:19;;19621:78:0;6710:402:1;19621:78:0;-1:-1:-1;;;;;19712:17:0;;;;;;:9;:17;;;;;:27;;19733:6;;19712:17;:27;;19733:6;;19712:27;:::i;:::-;;;;-1:-1:-1;;;;;;;19750:20:0;;;;;;:9;:20;;;;;:30;;19774:6;;19750:20;:30;;19774:6;;19750:30;:::i;:::-;;;;;;;;19813:9;-1:-1:-1;;;;;19796:35:0;19805:6;-1:-1:-1;;;;;19796:35:0;;19824:6;19796:35;;;;1620:25:1;;1608:2;1593:18;;1474:177;13186:191:0;13260:16;13279:6;;-1:-1:-1;;;;;13296:17:0;;;-1:-1:-1;;;;;;13296:17:0;;;;;;13329:40;;13279:6;;;;;;;13329:40;;13260:16;13329:40;13249:128;13186:191;:::o;14:273:1:-;70:6;123:2;111:9;102:7;98:23;94:32;91:52;;;139:1;136;129:12;91:52;178:9;165:23;231:5;224:13;217:21;210:5;207:32;197:60;;253:1;250;243:12;197:60;276:5;14:273;-1:-1:-1;;;14:273:1:o;292:548::-;404:4;433:2;462;451:9;444:21;494:6;488:13;537:6;532:2;521:9;517:18;510:34;562:1;572:140;586:6;583:1;580:13;572:140;;;681:14;;;677:23;;671:30;647:17;;;666:2;643:26;636:66;601:10;;572:140;;;576:3;761:1;756:2;747:6;736:9;732:22;728:31;721:42;831:2;824;820:7;815:2;807:6;803:15;799:29;788:9;784:45;780:54;772:62;;;;292:548;;;;:::o;845:173::-;913:20;;-1:-1:-1;;;;;962:31:1;;952:42;;942:70;;1008:1;1005;998:12;942:70;845:173;;;:::o;1023:254::-;1091:6;1099;1152:2;1140:9;1131:7;1127:23;1123:32;1120:52;;;1168:1;1165;1158:12;1120:52;1191:29;1210:9;1191:29;:::i;:::-;1181:39;1267:2;1252:18;;;;1239:32;;-1:-1:-1;;;1023:254:1:o;1656:328::-;1733:6;1741;1749;1802:2;1790:9;1781:7;1777:23;1773:32;1770:52;;;1818:1;1815;1808:12;1770:52;1841:29;1860:9;1841:29;:::i;:::-;1831:39;;1889:38;1923:2;1912:9;1908:18;1889:38;:::i;:::-;1879:48;;1974:2;1963:9;1959:18;1946:32;1936:42;;1656:328;;;;;:::o;2178:186::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:52;;;2306:1;2303;2296:12;2258:52;2329:29;2348:9;2329:29;:::i;2577:260::-;2645:6;2653;2706:2;2694:9;2685:7;2681:23;2677:32;2674:52;;;2722:1;2719;2712:12;2674:52;2745:29;2764:9;2745:29;:::i;:::-;2735:39;;2793:38;2827:2;2816:9;2812:18;2793:38;:::i;:::-;2783:48;;2577:260;;;;;:::o;2842:380::-;2921:1;2917:12;;;;2964;;;2985:61;;3039:4;3031:6;3027:17;3017:27;;2985:61;3092:2;3084:6;3081:14;3061:18;3058:38;3055:161;;3138:10;3133:3;3129:20;3126:1;3119:31;3173:4;3170:1;3163:15;3201:4;3198:1;3191:15;3055:161;;2842:380;;;:::o;3227:351::-;3429:2;3411:21;;;3468:2;3448:18;;;3441:30;3507:29;3502:2;3487:18;;3480:57;3569:2;3554:18;;3227:351::o;3583:341::-;3785:2;3767:21;;;3824:2;3804:18;;;3797:30;-1:-1:-1;;;3858:2:1;3843:18;;3836:47;3915:2;3900:18;;3583:341::o;3929:127::-;3990:10;3985:3;3981:20;3978:1;3971:31;4021:4;4018:1;4011:15;4045:4;4042:1;4035:15;4061:128;4128:9;;;4149:11;;;4146:37;;;4163:18;;:::i;4194:125::-;4259:9;;;4280:10;;;4277:36;;;4293:18;;:::i

Swarm Source

ipfs://329b1263dbaf214aaeb1c03d2f6efff8dfc50948162507892e566244bf889b62
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.