ETH Price: $3,202.83 (+1.50%)
 

Overview

Max Total Supply

1,000,000,000 FREET

Holders

14 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,000 FREET

Value
$0.00
0x34c9737cfb8b2f927bee60de177015e2f154a75c
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Free Token (FREET) is a cryptocurrency which is entirely free (and it has a fixed supply).

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FreeTokenFREET

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-06-12
*/

// SPDX-License-Identifier: MIT

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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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 `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount) external returns (bool);

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

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

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

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

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

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

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

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

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

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

/**
 * @dev 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 `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` 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
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, _msgSender(), currentAllowance - amount);
        _burn(account, amount);
    }
}


/**
 * @dev {ERC20} token, including:
 *
 *  - Preminted initial supply
 *  - Ability for holders to burn (destroy) their tokens
 *  - No access control mechanism (for minting/pausing) and hence no governance
 *
 * This contract uses {ERC20Burnable} to include burn capabilities - head to
 * its documentation for details.
 *
 * _Available since v3.4._
 */
contract FreeTokenFREET is ERC20Burnable {
    /**
     * @dev Mints `initialSupply` amount of token and transfers them to `owner`.
     *
     * See {ERC20-constructor}.
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 initialSupply,
        address owner
    ) ERC20(name, symbol) {
        _mint(owner, initialSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"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":"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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"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"}]

60806040523480156200001157600080fd5b5060405162001fd838038062001fd883398181016040528101906200003791906200034f565b8383816003908051906020019062000051929190620001f3565b5080600490805190602001906200006a929190620001f3565b5050506200007f81836200008960201b60201c565b5050505062000732565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620000fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f39062000437565b60405180910390fd5b6200011060008383620001ee60201b60201c565b8060026000828254620001249190620004e6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200017b9190620004e6565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620001e2919062000459565b60405180910390a35050565b505050565b8280546200020190620005b7565b90600052602060002090601f01602090048101928262000225576000855562000271565b82601f106200024057805160ff191683800117855562000271565b8280016001018555821562000271579182015b828111156200027057825182559160200191906001019062000253565b5b50905062000280919062000284565b5090565b5b808211156200029f57600081600090555060010162000285565b5090565b6000620002ba620002b4846200049f565b62000476565b905082815260208101848484011115620002d957620002d8620006b5565b5b620002e684828562000581565b509392505050565b600081519050620002ff81620006fe565b92915050565b600082601f8301126200031d576200031c620006b0565b5b81516200032f848260208601620002a3565b91505092915050565b600081519050620003498162000718565b92915050565b600080600080608085870312156200036c576200036b620006bf565b5b600085015167ffffffffffffffff8111156200038d576200038c620006ba565b5b6200039b8782880162000305565b945050602085015167ffffffffffffffff811115620003bf57620003be620006ba565b5b620003cd8782880162000305565b9350506040620003e08782880162000338565b9250506060620003f387828801620002ee565b91505092959194509250565b60006200040e601f83620004d5565b91506200041b82620006d5565b602082019050919050565b620004318162000577565b82525050565b600060208201905081810360008301526200045281620003ff565b9050919050565b600060208201905062000470600083018462000426565b92915050565b60006200048262000495565b9050620004908282620005ed565b919050565b6000604051905090565b600067ffffffffffffffff821115620004bd57620004bc62000681565b5b620004c882620006c4565b9050602081019050919050565b600082825260208201905092915050565b6000620004f38262000577565b9150620005008362000577565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000538576200053762000623565b5b828201905092915050565b6000620005508262000557565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015620005a157808201518184015260208101905062000584565b83811115620005b1576000848401525b50505050565b60006002820490506001821680620005d057607f821691505b60208210811415620005e757620005e662000652565b5b50919050565b620005f882620006c4565b810181811067ffffffffffffffff821117156200061a576200061962000681565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620007098162000543565b81146200071557600080fd5b50565b620007238162000577565b81146200072f57600080fd5b50565b61189680620007426000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e991906111b0565b60405180910390f35b61010c60048036038101906101079190610f64565b610366565b6040516101199190611195565b60405180910390f35b61012a610384565b6040516101379190611312565b60405180910390f35b61015a60048036038101906101559190610f11565b61038e565b6040516101679190611195565b60405180910390f35b61017861048f565b604051610185919061132d565b60405180910390f35b6101a860048036038101906101a39190610f64565b610498565b6040516101b59190611195565b60405180910390f35b6101d860048036038101906101d39190610fa4565b610544565b005b6101f460048036038101906101ef9190610ea4565b610558565b6040516102019190611312565b60405180910390f35b610224600480360381019061021f9190610f64565b6105a0565b005b61022e610624565b60405161023b91906111b0565b60405180910390f35b61025e60048036038101906102599190610f64565b6106b6565b60405161026b9190611195565b60405180910390f35b61028e60048036038101906102899190610f64565b6107aa565b60405161029b9190611195565b60405180910390f35b6102be60048036038101906102b99190610ed1565b6107c8565b6040516102cb9190611312565b60405180910390f35b6060600380546102e390611476565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611476565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a61037361084f565b8484610857565b6001905092915050565b6000600254905090565b600061039b848484610a22565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e661084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611252565b60405180910390fd5b6104838561047261084f565b858461047e91906113ba565b610857565b60019150509392505050565b60006012905090565b600061053a6104a561084f565b8484600160006104b361084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105359190611364565b610857565b6001905092915050565b61055561054f61084f565b82610ca1565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105b3836105ae61084f565b6107c8565b9050818110156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90611272565b60405180910390fd5b6106158361060461084f565b848461061091906113ba565b610857565b61061f8383610ca1565b505050565b60606004805461063390611476565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90611476565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b600080600160006106c561084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610779906112f2565b60405180910390fd5b61079f61078d61084f565b85858461079a91906113ba565b610857565b600191505092915050565b60006107be6107b761084f565b8484610a22565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be906112d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e90611212565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a159190611312565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a89906112b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906111d2565b60405180910390fd5b610b0d838383610e75565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90611232565b60405180910390fd5b8181610b9f91906113ba565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c2f9190611364565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c939190611312565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611292565b60405180910390fd5b610d1d82600083610e75565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a906111f2565b60405180910390fd5b8181610daf91906113ba565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e0391906113ba565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e689190611312565b60405180910390a3505050565b505050565b600081359050610e8981611832565b92915050565b600081359050610e9e81611849565b92915050565b600060208284031215610eba57610eb9611506565b5b6000610ec884828501610e7a565b91505092915050565b60008060408385031215610ee857610ee7611506565b5b6000610ef685828601610e7a565b9250506020610f0785828601610e7a565b9150509250929050565b600080600060608486031215610f2a57610f29611506565b5b6000610f3886828701610e7a565b9350506020610f4986828701610e7a565b9250506040610f5a86828701610e8f565b9150509250925092565b60008060408385031215610f7b57610f7a611506565b5b6000610f8985828601610e7a565b9250506020610f9a85828601610e8f565b9150509250929050565b600060208284031215610fba57610fb9611506565b5b6000610fc884828501610e8f565b91505092915050565b610fda81611400565b82525050565b6000610feb82611348565b610ff58185611353565b9350611005818560208601611443565b61100e8161150b565b840191505092915050565b6000611026602383611353565b91506110318261151c565b604082019050919050565b6000611049602283611353565b91506110548261156b565b604082019050919050565b600061106c602283611353565b9150611077826115ba565b604082019050919050565b600061108f602683611353565b915061109a82611609565b604082019050919050565b60006110b2602883611353565b91506110bd82611658565b604082019050919050565b60006110d5602483611353565b91506110e0826116a7565b604082019050919050565b60006110f8602183611353565b9150611103826116f6565b604082019050919050565b600061111b602583611353565b915061112682611745565b604082019050919050565b600061113e602483611353565b915061114982611794565b604082019050919050565b6000611161602583611353565b915061116c826117e3565b604082019050919050565b6111808161142c565b82525050565b61118f81611436565b82525050565b60006020820190506111aa6000830184610fd1565b92915050565b600060208201905081810360008301526111ca8184610fe0565b905092915050565b600060208201905081810360008301526111eb81611019565b9050919050565b6000602082019050818103600083015261120b8161103c565b9050919050565b6000602082019050818103600083015261122b8161105f565b9050919050565b6000602082019050818103600083015261124b81611082565b9050919050565b6000602082019050818103600083015261126b816110a5565b9050919050565b6000602082019050818103600083015261128b816110c8565b9050919050565b600060208201905081810360008301526112ab816110eb565b9050919050565b600060208201905081810360008301526112cb8161110e565b9050919050565b600060208201905081810360008301526112eb81611131565b9050919050565b6000602082019050818103600083015261130b81611154565b9050919050565b60006020820190506113276000830184611177565b92915050565b60006020820190506113426000830184611186565b92915050565b600081519050919050565b600082825260208201905092915050565b600061136f8261142c565b915061137a8361142c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113af576113ae6114a8565b5b828201905092915050565b60006113c58261142c565b91506113d08361142c565b9250828210156113e3576113e26114a8565b5b828203905092915050565b60006113f98261140c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611461578082015181840152602081019050611446565b83811115611470576000848401525b50505050565b6000600282049050600182168061148e57607f821691505b602082108114156114a2576114a16114d7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61183b816113ee565b811461184657600080fd5b50565b6118528161142c565b811461185d57600080fd5b5056fea26469706673582212208a5d9b186b813278a3563e6b75f7eccf9de2d1136d28287bd1c1efff0f694e1464736f6c63430008050033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000033b2e3c9fd0803ce800000000000000000000000000000043621b2dc33faf55c50f9713cd20f0119d8a7646000000000000000000000000000000000000000000000000000000000000000a4672656520546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054652454554000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b4114610226578063a457c2d714610244578063a9059cbb14610274578063dd62ed3e146102a4576100cf565b806342966c68146101be57806370a08231146101da57806379cc67901461020a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd14610140578063313ce56714610170578063395093511461018e575b600080fd5b6100dc6102d4565b6040516100e991906111b0565b60405180910390f35b61010c60048036038101906101079190610f64565b610366565b6040516101199190611195565b60405180910390f35b61012a610384565b6040516101379190611312565b60405180910390f35b61015a60048036038101906101559190610f11565b61038e565b6040516101679190611195565b60405180910390f35b61017861048f565b604051610185919061132d565b60405180910390f35b6101a860048036038101906101a39190610f64565b610498565b6040516101b59190611195565b60405180910390f35b6101d860048036038101906101d39190610fa4565b610544565b005b6101f460048036038101906101ef9190610ea4565b610558565b6040516102019190611312565b60405180910390f35b610224600480360381019061021f9190610f64565b6105a0565b005b61022e610624565b60405161023b91906111b0565b60405180910390f35b61025e60048036038101906102599190610f64565b6106b6565b60405161026b9190611195565b60405180910390f35b61028e60048036038101906102899190610f64565b6107aa565b60405161029b9190611195565b60405180910390f35b6102be60048036038101906102b99190610ed1565b6107c8565b6040516102cb9190611312565b60405180910390f35b6060600380546102e390611476565b80601f016020809104026020016040519081016040528092919081815260200182805461030f90611476565b801561035c5780601f106103315761010080835404028352916020019161035c565b820191906000526020600020905b81548152906001019060200180831161033f57829003601f168201915b5050505050905090565b600061037a61037361084f565b8484610857565b6001905092915050565b6000600254905090565b600061039b848484610a22565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103e661084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045d90611252565b60405180910390fd5b6104838561047261084f565b858461047e91906113ba565b610857565b60019150509392505050565b60006012905090565b600061053a6104a561084f565b8484600160006104b361084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105359190611364565b610857565b6001905092915050565b61055561054f61084f565b82610ca1565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006105b3836105ae61084f565b6107c8565b9050818110156105f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ef90611272565b60405180910390fd5b6106158361060461084f565b848461061091906113ba565b610857565b61061f8383610ca1565b505050565b60606004805461063390611476565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90611476565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b600080600160006106c561084f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610779906112f2565b60405180910390fd5b61079f61078d61084f565b85858461079a91906113ba565b610857565b600191505092915050565b60006107be6107b761084f565b8484610a22565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be906112d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e90611212565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a159190611312565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a89906112b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af9906111d2565b60405180910390fd5b610b0d838383610e75565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a90611232565b60405180910390fd5b8181610b9f91906113ba565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c2f9190611364565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c939190611312565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890611292565b60405180910390fd5b610d1d82600083610e75565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9a906111f2565b60405180910390fd5b8181610daf91906113ba565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254610e0391906113ba565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e689190611312565b60405180910390a3505050565b505050565b600081359050610e8981611832565b92915050565b600081359050610e9e81611849565b92915050565b600060208284031215610eba57610eb9611506565b5b6000610ec884828501610e7a565b91505092915050565b60008060408385031215610ee857610ee7611506565b5b6000610ef685828601610e7a565b9250506020610f0785828601610e7a565b9150509250929050565b600080600060608486031215610f2a57610f29611506565b5b6000610f3886828701610e7a565b9350506020610f4986828701610e7a565b9250506040610f5a86828701610e8f565b9150509250925092565b60008060408385031215610f7b57610f7a611506565b5b6000610f8985828601610e7a565b9250506020610f9a85828601610e8f565b9150509250929050565b600060208284031215610fba57610fb9611506565b5b6000610fc884828501610e8f565b91505092915050565b610fda81611400565b82525050565b6000610feb82611348565b610ff58185611353565b9350611005818560208601611443565b61100e8161150b565b840191505092915050565b6000611026602383611353565b91506110318261151c565b604082019050919050565b6000611049602283611353565b91506110548261156b565b604082019050919050565b600061106c602283611353565b9150611077826115ba565b604082019050919050565b600061108f602683611353565b915061109a82611609565b604082019050919050565b60006110b2602883611353565b91506110bd82611658565b604082019050919050565b60006110d5602483611353565b91506110e0826116a7565b604082019050919050565b60006110f8602183611353565b9150611103826116f6565b604082019050919050565b600061111b602583611353565b915061112682611745565b604082019050919050565b600061113e602483611353565b915061114982611794565b604082019050919050565b6000611161602583611353565b915061116c826117e3565b604082019050919050565b6111808161142c565b82525050565b61118f81611436565b82525050565b60006020820190506111aa6000830184610fd1565b92915050565b600060208201905081810360008301526111ca8184610fe0565b905092915050565b600060208201905081810360008301526111eb81611019565b9050919050565b6000602082019050818103600083015261120b8161103c565b9050919050565b6000602082019050818103600083015261122b8161105f565b9050919050565b6000602082019050818103600083015261124b81611082565b9050919050565b6000602082019050818103600083015261126b816110a5565b9050919050565b6000602082019050818103600083015261128b816110c8565b9050919050565b600060208201905081810360008301526112ab816110eb565b9050919050565b600060208201905081810360008301526112cb8161110e565b9050919050565b600060208201905081810360008301526112eb81611131565b9050919050565b6000602082019050818103600083015261130b81611154565b9050919050565b60006020820190506113276000830184611177565b92915050565b60006020820190506113426000830184611186565b92915050565b600081519050919050565b600082825260208201905092915050565b600061136f8261142c565b915061137a8361142c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156113af576113ae6114a8565b5b828201905092915050565b60006113c58261142c565b91506113d08361142c565b9250828210156113e3576113e26114a8565b5b828203905092915050565b60006113f98261140c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611461578082015181840152602081019050611446565b83811115611470576000848401525b50505050565b6000600282049050600182168061148e57607f821691505b602082108114156114a2576114a16114d7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61183b816113ee565b811461184657600080fd5b50565b6118528161142c565b811461185d57600080fd5b5056fea26469706673582212208a5d9b186b813278a3563e6b75f7eccf9de2d1136d28287bd1c1efff0f694e1464736f6c63430008050033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000033b2e3c9fd0803ce800000000000000000000000000000043621b2dc33faf55c50f9713cd20f0119d8a7646000000000000000000000000000000000000000000000000000000000000000a4672656520546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054652454554000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Free Token
Arg [1] : symbol (string): FREET
Arg [2] : initialSupply (uint256): 1000000000000000000000000000
Arg [3] : owner (address): 0x43621b2dc33FAf55c50f9713CD20f0119d8a7646

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Arg [3] : 00000000000000000000000043621b2dc33faf55c50f9713cd20f0119d8a7646
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 4672656520546f6b656e00000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 4652454554000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16448:393:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6178:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8345:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7298:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8996:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7140:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9827:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15328:91;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7469:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15738:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6397:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10545:377;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7809:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8047:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6178:100;6232:13;6265:5;6258:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6178:100;:::o;8345:169::-;8428:4;8445:39;8454:12;:10;:12::i;:::-;8468:7;8477:6;8445:8;:39::i;:::-;8502:4;8495:11;;8345:169;;;;:::o;7298:108::-;7359:7;7386:12;;7379:19;;7298:108;:::o;8996:422::-;9102:4;9119:36;9129:6;9137:9;9148:6;9119:9;:36::i;:::-;9168:24;9195:11;:19;9207:6;9195:19;;;;;;;;;;;;;;;:33;9215:12;:10;:12::i;:::-;9195:33;;;;;;;;;;;;;;;;9168:60;;9267:6;9247:16;:26;;9239:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9329:57;9338:6;9346:12;:10;:12::i;:::-;9379:6;9360:16;:25;;;;:::i;:::-;9329:8;:57::i;:::-;9406:4;9399:11;;;8996:422;;;;;:::o;7140:93::-;7198:5;7223:2;7216:9;;7140:93;:::o;9827:215::-;9915:4;9932:80;9941:12;:10;:12::i;:::-;9955:7;10001:10;9964:11;:25;9976:12;:10;:12::i;:::-;9964:25;;;;;;;;;;;;;;;:34;9990:7;9964:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;9932:8;:80::i;:::-;10030:4;10023:11;;9827:215;;;;:::o;15328:91::-;15384:27;15390:12;:10;:12::i;:::-;15404:6;15384:5;:27::i;:::-;15328:91;:::o;7469:127::-;7543:7;7570:9;:18;7580:7;7570:18;;;;;;;;;;;;;;;;7563:25;;7469:127;;;:::o;15738:332::-;15815:24;15842:32;15852:7;15861:12;:10;:12::i;:::-;15842:9;:32::i;:::-;15815:59;;15913:6;15893:16;:26;;15885:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;15971:58;15980:7;15989:12;:10;:12::i;:::-;16022:6;16003:16;:25;;;;:::i;:::-;15971:8;:58::i;:::-;16040:22;16046:7;16055:6;16040:5;:22::i;:::-;15804:266;15738:332;;:::o;6397:104::-;6453:13;6486:7;6479:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6397:104;:::o;10545:377::-;10638:4;10655:24;10682:11;:25;10694:12;:10;:12::i;:::-;10682:25;;;;;;;;;;;;;;;:34;10708:7;10682:34;;;;;;;;;;;;;;;;10655:61;;10755:15;10735:16;:35;;10727:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10823:67;10832:12;:10;:12::i;:::-;10846:7;10874:15;10855:16;:34;;;;:::i;:::-;10823:8;:67::i;:::-;10910:4;10903:11;;;10545:377;;;;:::o;7809:175::-;7895:4;7912:42;7922:12;:10;:12::i;:::-;7936:9;7947:6;7912:9;:42::i;:::-;7972:4;7965:11;;7809:175;;;;:::o;8047:151::-;8136:7;8163:11;:18;8175:5;8163:18;;;;;;;;;;;;;;;:27;8182:7;8163:27;;;;;;;;;;;;;;;;8156:34;;8047:151;;;;:::o;601:98::-;654:7;681:10;674:17;;601:98;:::o;13901:346::-;14020:1;14003:19;;:5;:19;;;;13995:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14101:1;14082:21;;:7;:21;;;;14074:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14185:6;14155:11;:18;14167:5;14155:18;;;;;;;;;;;;;;;:27;14174:7;14155:27;;;;;;;;;;;;;;;:36;;;;14223:7;14207:32;;14216:5;14207:32;;;14232:6;14207:32;;;;;;:::i;:::-;;;;;;;;13901:346;;;:::o;11412:604::-;11536:1;11518:20;;:6;:20;;;;11510:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11620:1;11599:23;;:9;:23;;;;11591:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11675:47;11696:6;11704:9;11715:6;11675:20;:47::i;:::-;11735:21;11759:9;:17;11769:6;11759:17;;;;;;;;;;;;;;;;11735:41;;11812:6;11795:13;:23;;11787:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11908:6;11892:13;:22;;;;:::i;:::-;11872:9;:17;11882:6;11872:17;;;;;;;;;;;;;;;:42;;;;11949:6;11925:9;:20;11935:9;11925:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11990:9;11973:35;;11982:6;11973:35;;;12001:6;11973:35;;;;;;:::i;:::-;;;;;;;;11499:517;11412:604;;;:::o;12969:494::-;13072:1;13053:21;;:7;:21;;;;13045:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13125:49;13146:7;13163:1;13167:6;13125:20;:49::i;:::-;13187:22;13212:9;:18;13222:7;13212:18;;;;;;;;;;;;;;;;13187:43;;13267:6;13249:14;:24;;13241:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13361:6;13344:14;:23;;;;:::i;:::-;13323:9;:18;13333:7;13323:18;;;;;;;;;;;;;;;:44;;;;13394:6;13378:12;;:22;;;;;;;:::i;:::-;;;;;;;;13444:1;13418:37;;13427:7;13418:37;;;13448:6;13418:37;;;;;;:::i;:::-;;;;;;;;13034:429;12969:494;;:::o;14850:92::-;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:329::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;411:79;;:::i;:::-;373:2;531:1;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;502:117;363:263;;;;:::o;632:474::-;700:6;708;757:2;745:9;736:7;732:23;728:32;725:2;;;763:79;;:::i;:::-;725:2;883:1;908:53;953:7;944:6;933:9;929:22;908:53;:::i;:::-;898:63;;854:117;1010:2;1036:53;1081:7;1072:6;1061:9;1057:22;1036:53;:::i;:::-;1026:63;;981:118;715:391;;;;;:::o;1112:619::-;1189:6;1197;1205;1254:2;1242:9;1233:7;1229:23;1225:32;1222:2;;;1260:79;;:::i;:::-;1222:2;1380:1;1405:53;1450:7;1441:6;1430:9;1426:22;1405:53;:::i;:::-;1395:63;;1351:117;1507:2;1533:53;1578:7;1569:6;1558:9;1554:22;1533:53;:::i;:::-;1523:63;;1478:118;1635:2;1661:53;1706:7;1697:6;1686:9;1682:22;1661:53;:::i;:::-;1651:63;;1606:118;1212:519;;;;;:::o;1737:474::-;1805:6;1813;1862:2;1850:9;1841:7;1837:23;1833:32;1830:2;;;1868:79;;:::i;:::-;1830:2;1988:1;2013:53;2058:7;2049:6;2038:9;2034:22;2013:53;:::i;:::-;2003:63;;1959:117;2115:2;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2086:118;1820:391;;;;;:::o;2217:329::-;2276:6;2325:2;2313:9;2304:7;2300:23;2296:32;2293:2;;;2331:79;;:::i;:::-;2293:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2283:263;;;;:::o;2552:109::-;2633:21;2648:5;2633:21;:::i;:::-;2628:3;2621:34;2611:50;;:::o;2667:364::-;2755:3;2783:39;2816:5;2783:39;:::i;:::-;2838:71;2902:6;2897:3;2838:71;:::i;:::-;2831:78;;2918:52;2963:6;2958:3;2951:4;2944:5;2940:16;2918:52;:::i;:::-;2995:29;3017:6;2995:29;:::i;:::-;2990:3;2986:39;2979:46;;2759:272;;;;;:::o;3037:366::-;3179:3;3200:67;3264:2;3259:3;3200:67;:::i;:::-;3193:74;;3276:93;3365:3;3276:93;:::i;:::-;3394:2;3389:3;3385:12;3378:19;;3183:220;;;:::o;3409:366::-;3551:3;3572:67;3636:2;3631:3;3572:67;:::i;:::-;3565:74;;3648:93;3737:3;3648:93;:::i;:::-;3766:2;3761:3;3757:12;3750:19;;3555:220;;;:::o;3781:366::-;3923:3;3944:67;4008:2;4003:3;3944:67;:::i;:::-;3937:74;;4020:93;4109:3;4020:93;:::i;:::-;4138:2;4133:3;4129:12;4122:19;;3927:220;;;:::o;4153:366::-;4295:3;4316:67;4380:2;4375:3;4316:67;:::i;:::-;4309:74;;4392:93;4481:3;4392:93;:::i;:::-;4510:2;4505:3;4501:12;4494:19;;4299:220;;;:::o;4525:366::-;4667:3;4688:67;4752:2;4747:3;4688:67;:::i;:::-;4681:74;;4764:93;4853:3;4764:93;:::i;:::-;4882:2;4877:3;4873:12;4866:19;;4671:220;;;:::o;4897:366::-;5039:3;5060:67;5124:2;5119:3;5060:67;:::i;:::-;5053:74;;5136:93;5225:3;5136:93;:::i;:::-;5254:2;5249:3;5245:12;5238:19;;5043:220;;;:::o;5269:366::-;5411:3;5432:67;5496:2;5491:3;5432:67;:::i;:::-;5425:74;;5508:93;5597:3;5508:93;:::i;:::-;5626:2;5621:3;5617:12;5610:19;;5415:220;;;:::o;5641:366::-;5783:3;5804:67;5868:2;5863:3;5804:67;:::i;:::-;5797:74;;5880:93;5969:3;5880:93;:::i;:::-;5998:2;5993:3;5989:12;5982:19;;5787:220;;;:::o;6013:366::-;6155:3;6176:67;6240:2;6235:3;6176:67;:::i;:::-;6169:74;;6252:93;6341:3;6252:93;:::i;:::-;6370:2;6365:3;6361:12;6354:19;;6159:220;;;:::o;6385:366::-;6527:3;6548:67;6612:2;6607:3;6548:67;:::i;:::-;6541:74;;6624:93;6713:3;6624:93;:::i;:::-;6742:2;6737:3;6733:12;6726:19;;6531:220;;;:::o;6757:118::-;6844:24;6862:5;6844:24;:::i;:::-;6839:3;6832:37;6822:53;;:::o;6881:112::-;6964:22;6980:5;6964:22;:::i;:::-;6959:3;6952:35;6942:51;;:::o;6999:210::-;7086:4;7124:2;7113:9;7109:18;7101:26;;7137:65;7199:1;7188:9;7184:17;7175:6;7137:65;:::i;:::-;7091:118;;;;:::o;7215:313::-;7328:4;7366:2;7355:9;7351:18;7343:26;;7415:9;7409:4;7405:20;7401:1;7390:9;7386:17;7379:47;7443:78;7516:4;7507:6;7443:78;:::i;:::-;7435:86;;7333:195;;;;:::o;7534:419::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7787:9;7781:4;7777:20;7773:1;7762:9;7758:17;7751:47;7815:131;7941:4;7815:131;:::i;:::-;7807:139;;7705:248;;;:::o;7959:419::-;8125:4;8163:2;8152:9;8148:18;8140:26;;8212:9;8206:4;8202:20;8198:1;8187:9;8183:17;8176:47;8240:131;8366:4;8240:131;:::i;:::-;8232:139;;8130:248;;;:::o;8384:419::-;8550:4;8588:2;8577:9;8573:18;8565:26;;8637:9;8631:4;8627:20;8623:1;8612:9;8608:17;8601:47;8665:131;8791:4;8665:131;:::i;:::-;8657:139;;8555:248;;;:::o;8809:419::-;8975:4;9013:2;9002:9;8998:18;8990:26;;9062:9;9056:4;9052:20;9048:1;9037:9;9033:17;9026:47;9090:131;9216:4;9090:131;:::i;:::-;9082:139;;8980:248;;;:::o;9234:419::-;9400:4;9438:2;9427:9;9423:18;9415:26;;9487:9;9481:4;9477:20;9473:1;9462:9;9458:17;9451:47;9515:131;9641:4;9515:131;:::i;:::-;9507:139;;9405:248;;;:::o;9659:419::-;9825:4;9863:2;9852:9;9848:18;9840:26;;9912:9;9906:4;9902:20;9898:1;9887:9;9883:17;9876:47;9940:131;10066:4;9940:131;:::i;:::-;9932:139;;9830:248;;;:::o;10084:419::-;10250:4;10288:2;10277:9;10273:18;10265:26;;10337:9;10331:4;10327:20;10323:1;10312:9;10308:17;10301:47;10365:131;10491:4;10365:131;:::i;:::-;10357:139;;10255:248;;;:::o;10509:419::-;10675:4;10713:2;10702:9;10698:18;10690:26;;10762:9;10756:4;10752:20;10748:1;10737:9;10733:17;10726:47;10790:131;10916:4;10790:131;:::i;:::-;10782:139;;10680:248;;;:::o;10934:419::-;11100:4;11138:2;11127:9;11123:18;11115:26;;11187:9;11181:4;11177:20;11173:1;11162:9;11158:17;11151:47;11215:131;11341:4;11215:131;:::i;:::-;11207:139;;11105:248;;;:::o;11359:419::-;11525:4;11563:2;11552:9;11548:18;11540:26;;11612:9;11606:4;11602:20;11598:1;11587:9;11583:17;11576:47;11640:131;11766:4;11640:131;:::i;:::-;11632:139;;11530:248;;;:::o;11784:222::-;11877:4;11915:2;11904:9;11900:18;11892:26;;11928:71;11996:1;11985:9;11981:17;11972:6;11928:71;:::i;:::-;11882:124;;;;:::o;12012:214::-;12101:4;12139:2;12128:9;12124:18;12116:26;;12152:67;12216:1;12205:9;12201:17;12192:6;12152:67;:::i;:::-;12106:120;;;;:::o;12313:99::-;12365:6;12399:5;12393:12;12383:22;;12372:40;;;:::o;12418:169::-;12502:11;12536:6;12531:3;12524:19;12576:4;12571:3;12567:14;12552:29;;12514:73;;;;:::o;12593:305::-;12633:3;12652:20;12670:1;12652:20;:::i;:::-;12647:25;;12686:20;12704:1;12686:20;:::i;:::-;12681:25;;12840:1;12772:66;12768:74;12765:1;12762:81;12759:2;;;12846:18;;:::i;:::-;12759:2;12890:1;12887;12883:9;12876:16;;12637:261;;;;:::o;12904:191::-;12944:4;12964:20;12982:1;12964:20;:::i;:::-;12959:25;;12998:20;13016:1;12998:20;:::i;:::-;12993:25;;13037:1;13034;13031:8;13028:2;;;13042:18;;:::i;:::-;13028:2;13087:1;13084;13080:9;13072:17;;12949:146;;;;:::o;13101:96::-;13138:7;13167:24;13185:5;13167:24;:::i;:::-;13156:35;;13146:51;;;:::o;13203:90::-;13237:7;13280:5;13273:13;13266:21;13255:32;;13245:48;;;:::o;13299:126::-;13336:7;13376:42;13369:5;13365:54;13354:65;;13344:81;;;:::o;13431:77::-;13468:7;13497:5;13486:16;;13476:32;;;:::o;13514:86::-;13549:7;13589:4;13582:5;13578:16;13567:27;;13557:43;;;:::o;13606:307::-;13674:1;13684:113;13698:6;13695:1;13692:13;13684:113;;;13783:1;13778:3;13774:11;13768:18;13764:1;13759:3;13755:11;13748:39;13720:2;13717:1;13713:10;13708:15;;13684:113;;;13815:6;13812:1;13809:13;13806:2;;;13895:1;13886:6;13881:3;13877:16;13870:27;13806:2;13655:258;;;;:::o;13919:320::-;13963:6;14000:1;13994:4;13990:12;13980:22;;14047:1;14041:4;14037:12;14068:18;14058:2;;14124:4;14116:6;14112:17;14102:27;;14058:2;14186;14178:6;14175:14;14155:18;14152:38;14149:2;;;14205:18;;:::i;:::-;14149:2;13970:269;;;;:::o;14245:180::-;14293:77;14290:1;14283:88;14390:4;14387:1;14380:15;14414:4;14411:1;14404:15;14431:180;14479:77;14476:1;14469:88;14576:4;14573:1;14566:15;14600:4;14597:1;14590:15;14740:117;14849:1;14846;14839:12;14863:102;14904:6;14955:2;14951:7;14946:2;14939:5;14935:14;14931:28;14921:38;;14911:54;;;:::o;14971:222::-;15111:34;15107:1;15099:6;15095:14;15088:58;15180:5;15175:2;15167:6;15163:15;15156:30;15077:116;:::o;15199:221::-;15339:34;15335:1;15327:6;15323:14;15316:58;15408:4;15403:2;15395:6;15391:15;15384:29;15305:115;:::o;15426:221::-;15566:34;15562:1;15554:6;15550:14;15543:58;15635:4;15630:2;15622:6;15618:15;15611:29;15532:115;:::o;15653:225::-;15793:34;15789:1;15781:6;15777:14;15770:58;15862:8;15857:2;15849:6;15845:15;15838:33;15759:119;:::o;15884:227::-;16024:34;16020:1;16012:6;16008:14;16001:58;16093:10;16088:2;16080:6;16076:15;16069:35;15990:121;:::o;16117:223::-;16257:34;16253:1;16245:6;16241:14;16234:58;16326:6;16321:2;16313:6;16309:15;16302:31;16223:117;:::o;16346:220::-;16486:34;16482:1;16474:6;16470:14;16463:58;16555:3;16550:2;16542:6;16538:15;16531:28;16452:114;:::o;16572:224::-;16712:34;16708:1;16700:6;16696:14;16689:58;16781:7;16776:2;16768:6;16764:15;16757:32;16678:118;:::o;16802:223::-;16942:34;16938:1;16930:6;16926:14;16919:58;17011:6;17006:2;16998:6;16994:15;16987:31;16908:117;:::o;17031:224::-;17171:34;17167:1;17159:6;17155:14;17148:58;17240:7;17235:2;17227:6;17223:15;17216:32;17137:118;:::o;17261:122::-;17334:24;17352:5;17334:24;:::i;:::-;17327:5;17324:35;17314:2;;17373:1;17370;17363:12;17314:2;17304:79;:::o;17389:122::-;17462:24;17480:5;17462:24;:::i;:::-;17455:5;17452:35;17442:2;;17501:1;17498;17491:12;17442:2;17432:79;:::o

Swarm Source

ipfs://8a5d9b186b813278a3563e6b75f7eccf9de2d1136d28287bd1c1efff0f694e14
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.