Contract 0x238779aFfE6FFD475cB7e84582FcA7789F310Dc8 1

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x8f046d73c692bc5b1ed55076e0aeee2b18fe4e6445e19b0241471a1bcfa184b4Approve202695422021-10-16 6:41:091 hr 10 mins ago0x0899a0b74ebab3f637b59dbf90883e6df481fe00 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000490578
0x2ce1b5ac23753488b17f5d837ae124d4c21398e01d920bd8952455ba28cef61fApprove202648182021-10-16 3:03:494 hrs 47 mins ago0x039d84cf094718eb90ebe8f0a44f79b09e42c64a IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00044598
0xa774e242c3e5a574877f96c97863cb2ee54ae061ca5c3b105a625a6333a18f74Approve202648122021-10-16 3:03:134 hrs 48 mins ago0x039d84cf094718eb90ebe8f0a44f79b09e42c64a IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00044598
0xf6329583a350479b05cb9e2f09b8051008680031e36432a493a7c9a580e00d22Approve202648112021-10-16 3:03:074 hrs 48 mins ago0x039d84cf094718eb90ebe8f0a44f79b09e42c64a IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00044598
0x0633bb8082ae62a355f8941dfc574915836a1aa2f7bb9eb9f22903438d04adaaApprove202448522021-10-15 13:47:2018 hrs 4 mins ago0xd6009923c31e123f71a1c16610be9704e7ae298b IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000490578
0x165c0199f15799a9a53c6c1d858adaac11b4a70b894089bb1fba706a43e34514Approve202399592021-10-15 10:22:3321 hrs 28 mins ago0x9032c2de1ddffc4540bf1bb2628fa750df26ec05 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.003402484113
0x05119982c5290ad3d24da1baf3aff124054b80fe88477315cb126adda60a2663Approve202311052021-10-15 3:04:481 day 4 hrs ago0xf6f73c08655cc38de0eda174a66cf27d873ed978 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x6abc843e275fc40ddd3457f30fbfe228085010e401e5f3cdea148447da82551aApprove202287022021-10-15 1:29:391 day 6 hrs ago0x82bd0b924bd2f70fe4512b3f40768ef21b82632e IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000237856014
0xd3d8e55fc333fac87eb0f1ab62c5aea1589921521383c3e8cec4dd4a02edf7a5Approve202287002021-10-15 1:29:351 day 6 hrs ago0x82bd0b924bd2f70fe4512b3f40768ef21b82632e IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000237856014
0x895f31d29665649e9c860f3009efae1d433f2695c2b2e5ed0f7171cca3ffcc9fApprove202286822021-10-15 1:28:591 day 6 hrs ago0x82bd0b924bd2f70fe4512b3f40768ef21b82632e IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00044598
0x3533e327390fa6bac52377a01841da3b37f455847bc583a30adb2b960b47f0aeApprove202265312021-10-15 0:06:261 day 7 hrs ago0xe0fe7916b99e2f1d0fba54431c76b9668dea0af3 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.001463696
0x67106196b9513e68404fabd01652c501b4dc1acd6e7369d49a20c261ec957700Approve202218912021-10-14 21:09:241 day 10 hrs ago0xd6009923c31e123f71a1c16610be9704e7ae298b IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000490578
0x9ba4f00f9b5999ea2bf3cde240fba418ed911b436f31f0e1ed9e8cd793ed5ea4Approve202081832021-10-14 11:40:011 day 20 hrs ago0x3329cecc71e7299762bd702d72cf470068bf20c9 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00059464
0x6948c00f23a87e526fd6d6e97e2977fd7e8077b78a8b38577779c176b85f7293Approve201965272021-10-14 3:54:572 days 3 hrs ago0x50f3daf02053867a1d75db2f32432d705e968d69 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00014866
0xf6e860cca6579b0b9133a6a74fb9b9b39f1860ec8e0c028528b61812a72845dcApprove201907802021-10-14 0:07:042 days 7 hrs ago0xa4e6f96f3f0948d9940e3c3d5c2f3e625605f00b IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x952ca163de183e0b24146bf5018efc16234e601966d856f576705ef1ef3f91eeTransfer201861572021-10-13 20:50:082 days 11 hrs ago0x600c21651ec21659cd1eb2bf0982b6c33c7df737 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.001233276
0x8e5fc09e98438f94f78c748362924cd8959fd5aab2c2ee3b1723aaa374b5a45fApprove201847572021-10-13 19:59:502 days 11 hrs ago0xa4257f1b93c8c29566e530a27d209240d7fdcd40 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00044598
0x7a4fa0d0113337558f11051da86f3eb0c74abfd1a57464d4340c80a493237918Approve201820492021-10-13 18:17:302 days 13 hrs ago0x912711de5b8c96860291c3c6024f11e23175a659 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x4c8933673deb8501acbb87bdcdf5daa05af7f349355b96544b0dc53d3c1008edApprove201763732021-10-13 14:35:292 days 17 hrs ago0x7943b5f7aac30c50d084868511d7d4965e5f27ee IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x607b45c5164759a88fe23ef0e1a1ec9e3b65fef86dcc50fbb1d85c9812b694a9Approve201761102021-10-13 14:24:192 days 17 hrs ago0x0057011b1f2af773d1d74e8beac6a4fda285798e IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x02f5e2acdfcc1f8d7c1ae844ad0f754e35772081b2b2eec10fd5956df2cca530Approve201760672021-10-13 14:22:532 days 17 hrs ago0x1ebfcc7f8258213b7f8fc893205a82107ad900ff IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.001463696
0xdd306edff64262522f8f26c5b5b72c5388283ea1be3ac2c4d01f430670bdaee7Approve201728272021-10-13 12:08:032 days 19 hrs ago0xfa749734b6a5828798a296f85ae6e605da009dc8 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.00141648
0x2c3d3d516daf79f99dec989776ce10792a89eee465319a4f70f0455e55a627cfApprove201720022021-10-13 11:33:092 days 20 hrs ago0x304ab825384e22024c343c807ec253ed99ead263 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.0010881912
0xff2ef6ba6981a9c07ea7892feedd4bf700d0aee8ee9f136398a265f79cf57164Approve201720002021-10-13 11:33:052 days 20 hrs ago0x304ab825384e22024c343c807ec253ed99ead263 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.0010881912
0xb7e7e2063a7b4fd642759a7fa25795dfc7c35cd192c17481bf53c65e79422822Approve201719992021-10-13 11:33:032 days 20 hrs ago0x304ab825384e22024c343c807ec253ed99ead263 IN  0x238779affe6ffd475cb7e84582fca7789f310dc80 MATIC0.000490578
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DeliriumToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 6 : DeliriumToken.sol
/*
   o__ __o        o__ __o__/_   o           __o__   o__ __o        __o__   o         o    o          o  
 <|     v\      <|    v       <|>            |    <|     v\         |    <|>       <|>  <|\        /|> 
 / \     <\     < >           / \           / \   / \     <\       / \   / \       / \  / \\o    o// \ 
 \o/       \o    |            \o/           \o/   \o/     o/       \o/   \o/       \o/  \o/ v\  /v \o/ 
  |         |>   o__/_         |             |     |__  _<|         |     |         |    |   <\/>   |  
 / \       //    |            / \           < >    |       \       < >   < >       < >  / \        / \ 
 \o/      /     <o>           \o/            |    <o>       \o      |     \         /   \o/        \o/ 
  |      o       |             |             o     |         v\     o      o       o     |          |  
 / \  __/>      / \  _\o__/_  / \ _\o__/_  __|>_  / \         <\  __|>_    <\__ __/>    / \        / \ 
                                                                                                       
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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

// DeliriumToken
contract DeliriumToken is ERC20, Ownable {

    constructor() 
        ERC20('DELIRIUM', 'DELIRIUM')
    {}

    /// @notice Creates `_amount` token to `_to`. Must only be called by the owner (MasterChef).
    function mint(address _to, uint256 _amount) public onlyOwner {
        _mint(_to, _amount);
    }
}

File 2 of 6 : ERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.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 default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `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");
        unchecked {
            _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");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `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");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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:
     *
     * - `account` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

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

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

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

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

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

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

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

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

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

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

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

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

File 3 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

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

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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(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");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 4 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

File 5 of 6 : IERC20Metadata.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import "../IERC20.sol";

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

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

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

File 6 of 6 : Context.sol
// 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) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"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":[],"name":"renounceOwnership","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600881526020017f44454c495249554d0000000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f44454c495249554d000000000000000000000000000000000000000000000000815250816003908051906020019062000096929190620001a6565b508060049080519060200190620000af929190620001a6565b505050620000d2620000c6620000d860201b60201c565b620000e060201b60201c565b620002bb565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b49062000256565b90600052602060002090601f016020900481019282620001d8576000855562000224565b82601f10620001f357805160ff191683800117855562000224565b8280016001018555821562000224579182015b828111156200022357825182559160200191906001019062000206565b5b50905062000233919062000237565b5090565b5b808211156200025257600081600090555060010162000238565b5090565b600060028204905060018216806200026f57607f821691505b602082108114156200028657620002856200028c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b611a2f80620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f91906113ce565b60405180910390f35b610132600480360381019061012d9190611189565b6103b4565b60405161013f91906113b3565b60405180910390f35b6101506103d2565b60405161015d9190611530565b60405180910390f35b610180600480360381019061017b919061113a565b6103dc565b60405161018d91906113b3565b60405180910390f35b61019e6104d4565b6040516101ab919061154b565b60405180910390f35b6101ce60048036038101906101c99190611189565b6104dd565b6040516101db91906113b3565b60405180910390f35b6101fe60048036038101906101f99190611189565b610589565b005b61021a600480360381019061021591906110d5565b610613565b6040516102279190611530565b60405180910390f35b61023861065b565b005b6102426106e3565b60405161024f9190611398565b60405180910390f35b61026061070d565b60405161026d91906113ce565b60405180910390f35b610290600480360381019061028b9190611189565b61079f565b60405161029d91906113b3565b60405180910390f35b6102c060048036038101906102bb9190611189565b61088a565b6040516102cd91906113b3565b60405180910390f35b6102f060048036038101906102eb91906110fe565b6108a8565b6040516102fd9190611530565b60405180910390f35b610320600480360381019061031b91906110d5565b61092f565b005b60606003805461033190611660565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611660565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c86103c1610a27565b8484610a2f565b6001905092915050565b6000600254905090565b60006103e9848484610bfa565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610434610a27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156104b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ab90611470565b60405180910390fd5b6104c8856104c0610a27565b858403610a2f565b60019150509392505050565b60006012905090565b600061057f6104ea610a27565b8484600160006104f8610a27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461057a9190611582565b610a2f565b6001905092915050565b610591610a27565b73ffffffffffffffffffffffffffffffffffffffff166105af6106e3565b73ffffffffffffffffffffffffffffffffffffffff1614610605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105fc90611490565b60405180910390fd5b61060f8282610e7b565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610663610a27565b73ffffffffffffffffffffffffffffffffffffffff166106816106e3565b73ffffffffffffffffffffffffffffffffffffffff16146106d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ce90611490565b60405180910390fd5b6106e16000610fdb565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461071c90611660565b80601f016020809104026020016040519081016040528092919081815260200182805461074890611660565b80156107955780601f1061076a57610100808354040283529160200191610795565b820191906000526020600020905b81548152906001019060200180831161077857829003601f168201915b5050505050905090565b600080600160006107ae610a27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906114f0565b60405180910390fd5b61087f610876610a27565b85858403610a2f565b600191505092915050565b600061089e610897610a27565b8484610bfa565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610937610a27565b73ffffffffffffffffffffffffffffffffffffffff166109556106e3565b73ffffffffffffffffffffffffffffffffffffffff16146109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a290611490565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1290611410565b60405180910390fd5b610a2481610fdb565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a96906114d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0690611430565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bed9190611530565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c61906114b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd1906113f0565b60405180910390fd5b610ce58383836110a1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290611450565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dfe9190611582565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e629190611530565b60405180910390a3610e758484846110a6565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eeb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee290611510565b60405180910390fd5b610ef7600083836110a1565b8060026000828254610f099190611582565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f5e9190611582565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fc39190611530565b60405180910390a3610fd7600083836110a6565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110ba816119cb565b92915050565b6000813590506110cf816119e2565b92915050565b6000602082840312156110e757600080fd5b60006110f5848285016110ab565b91505092915050565b6000806040838503121561111157600080fd5b600061111f858286016110ab565b9250506020611130858286016110ab565b9150509250929050565b60008060006060848603121561114f57600080fd5b600061115d868287016110ab565b935050602061116e868287016110ab565b925050604061117f868287016110c0565b9150509250925092565b6000806040838503121561119c57600080fd5b60006111aa858286016110ab565b92505060206111bb858286016110c0565b9150509250929050565b6111ce816115d8565b82525050565b6111dd816115ea565b82525050565b60006111ee82611566565b6111f88185611571565b935061120881856020860161162d565b611211816116f0565b840191505092915050565b6000611229602383611571565b915061123482611701565b604082019050919050565b600061124c602683611571565b915061125782611750565b604082019050919050565b600061126f602283611571565b915061127a8261179f565b604082019050919050565b6000611292602683611571565b915061129d826117ee565b604082019050919050565b60006112b5602883611571565b91506112c08261183d565b604082019050919050565b60006112d8602083611571565b91506112e38261188c565b602082019050919050565b60006112fb602583611571565b9150611306826118b5565b604082019050919050565b600061131e602483611571565b915061132982611904565b604082019050919050565b6000611341602583611571565b915061134c82611953565b604082019050919050565b6000611364601f83611571565b915061136f826119a2565b602082019050919050565b61138381611616565b82525050565b61139281611620565b82525050565b60006020820190506113ad60008301846111c5565b92915050565b60006020820190506113c860008301846111d4565b92915050565b600060208201905081810360008301526113e881846111e3565b905092915050565b600060208201905081810360008301526114098161121c565b9050919050565b600060208201905081810360008301526114298161123f565b9050919050565b6000602082019050818103600083015261144981611262565b9050919050565b6000602082019050818103600083015261146981611285565b9050919050565b60006020820190508181036000830152611489816112a8565b9050919050565b600060208201905081810360008301526114a9816112cb565b9050919050565b600060208201905081810360008301526114c9816112ee565b9050919050565b600060208201905081810360008301526114e981611311565b9050919050565b6000602082019050818103600083015261150981611334565b9050919050565b6000602082019050818103600083015261152981611357565b9050919050565b6000602082019050611545600083018461137a565b92915050565b60006020820190506115606000830184611389565b92915050565b600081519050919050565b600082825260208201905092915050565b600061158d82611616565b915061159883611616565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115cd576115cc611692565b5b828201905092915050565b60006115e3826115f6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561164b578082015181840152602081019050611630565b8381111561165a576000848401525b50505050565b6000600282049050600182168061167857607f821691505b6020821081141561168c5761168b6116c1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6119d4816115d8565b81146119df57600080fd5b50565b6119eb81611616565b81146119f657600080fd5b5056fea2646970667358221220d13f1ec6c0d1983a8e6313b2b2962d0eb17bb5fa152429241e87a50ae343bff764736f6c63430008040033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.