Contract 0x00e197ac4735f1d6a0a2f0df3947e6ed86d09260

 

Contract Overview

Ferrum Network: FRMX Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x4f8fa4e42464a233ec1e1b7cc5b625fb7c0a28f1ce68c9557f5ece8183f0244cApprove401377432023-03-09 7:43:5214 days 8 mins ago0x2da78e99469c3123f26092cf6ef20790a8585bae IN  Ferrum Network: FRMX Token0 MATIC0.005942303764127.380573723
0x7496b322b9554d575d4377205e446cc042d34e5bcc20454adb05c6f4130514a9Approve401100162023-03-08 14:08:4014 days 17 hrs ago0xe66a5a7ddda004ac66926ea8ab91c1b1014dd840 IN  Ferrum Network: FRMX Token0 MATIC0.012051289893258.334188492
0xff805be8f4c50e727edd4e7774fe50dc2ff794140f304187e97c2fb75bf983dcApprove399504332023-03-04 10:10:4618 days 21 hrs ago0x051865a7237cc4a480599a187886e394d6da110b IN  Ferrum Network: FRMX Token0 MATIC0.015402425501330.169892844
0x7b6442976ea7e8e950deb15a3abc0683c8b362589ce01413cedffcd9348e4bb8Approve398132972023-02-28 18:03:5622 days 13 hrs ago0x051865a7237cc4a480599a187886e394d6da110b IN  Ferrum Network: FRMX Token0 MATIC0.0814017795141,744.947042111
0xe28d43a0d32931673047f29b41fb07a49ae3b71db51e430c632a70ba90355e26Approve396213242023-02-23 13:07:5227 days 18 hrs ago0x2f810deef128ff91f2ec3b02d493b120f97a97e6 IN  Ferrum Network: FRMX Token0 MATIC0.028628907296613.695761973
0x2b08320db3f05483b0615e24b8bda273ff68a25dc13b8ce1035f8cc36a44fcabApprove396184252023-02-23 10:49:3227 days 21 hrs ago0x2f810deef128ff91f2ec3b02d493b120f97a97e6 IN  Ferrum Network: FRMX Token0 MATIC0.024424223841523.563212031
0x5351ee5292afee70e0bfec49b3644c3bb57f00ccf56815e61bc178ab56a969d4Approve392936362023-02-14 19:38:0236 days 12 hrs ago0x8cb4e81949afb93c93292cb2f689ec789c716a33 IN  Ferrum Network: FRMX Token0 MATIC0.020102139947 430.914039594
0x6a0b8df101fcee7930bffa3638186e0e36ecbf244a7723c8a331c997483be222Approve392934812023-02-14 19:32:3236 days 12 hrs ago0x8cb4e81949afb93c93292cb2f689ec789c716a33 IN  Ferrum Network: FRMX Token0 MATIC0.022277957811 477.555365731
0xc96ee20efbc7acf6b47213b21c0ac5e486194c9962a0c8420dd111b5a3579d0cTransfer391095072023-02-09 20:42:1841 days 11 hrs ago0x3b824bca4304b8c66aa71806e9a61d5c41ccac8f IN  Ferrum Network: FRMX Token0 MATIC0.011229445726239.209392612
0xd3ac39e6d2870e7507bac6e87471d17ded8851fbab6289d52e761c4fac49b0f5Approve390240402023-02-07 16:30:3843 days 15 hrs ago0x1118869ea46bd1673e0ac7261e85a2bcfb6764cd IN  Ferrum Network: FRMX Token0 MATIC0.008750203174 187.571343507
0x74f727d874955144a012efd4ac1eb7c8ce6846940eae3dfef2bf5fd0c04981b5Approve383293592023-01-21 0:35:2361 days 7 hrs ago0xda9434e626dff1e4d07a8ca20ee856132894e775 IN  Ferrum Network: FRMX Token0 MATIC0.003026488952 64.87650488
0xcc61e2d98c0f41d123a016b94fa394d137977ff632d53bd991f3255e09621e2bApprove382378332023-01-18 16:57:5863 days 14 hrs ago0xda9434e626dff1e4d07a8ca20ee856132894e775 IN  Ferrum Network: FRMX Token0 MATIC0.039563930294 848.101399661
0xadc42915445ae18bc51fa73e79122705393acda9050d606eacbd6a5360e55ce6Approve382377682023-01-18 16:55:4063 days 14 hrs ago0xda9434e626dff1e4d07a8ca20ee856132894e775 IN  Ferrum Network: FRMX Token0 MATIC0.04445644774 952.978515337
0xad02f60d7f7ffe96c6e9d37b12bbc8d2b29891c6746d5bb5921df7bb18e22484Approve367925222022-12-13 19:46:5899 days 12 hrs ago0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477 IN  Ferrum Network: FRMX Token0 MATIC0.005145472519 110.299518099
0x59ad8131bac9b4ba87c6c9cf9024943802cdbae16183483c92c3c5c88a645936Approve367865232022-12-13 16:10:0299 days 15 hrs ago0xd57eeca0ca4fddb82ee27323d4ec9f392e135807 IN  Ferrum Network: FRMX Token0 MATIC0.008463702511 181.429850193
0x85761f173066a31a432648c79a7697cd60789036b0156ebb5d9aed14273288afApprove365791192022-12-08 13:23:50104 days 18 hrs ago0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675 IN  Ferrum Network: FRMX Token0 MATIC0.034740792881 744.711530141
0x5c26fb76a62b7be8795ffa652ee24a7437cbe9b69b41959232b3de5ea0f23e4dApprove363371802022-12-02 14:06:06110 days 17 hrs ago0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477 IN  Ferrum Network: FRMX Token0 MATIC0.020521568997 439.905016034
0x96de861fdc78e6323005ccff2f5e31682e7e655a187620bca4657ab8da11b648Approve361932012022-11-29 0:41:59114 days 7 hrs ago0xd57eeca0ca4fddb82ee27323d4ec9f392e135807 IN  Ferrum Network: FRMX Token0 MATIC0.004665022509 100.000482516
0x2b2cbb5aabd6f949d3072934746a982409148114a6bd06aec72777a2df2f54e9Approve361546112022-11-28 2:08:57115 days 5 hrs ago0x88f859db067c45b114897db6920f3e4a61a5ca66 IN  Ferrum Network: FRMX Token0 MATIC0.033454835962 717.145465426
0x49390b895f167b526f5b19b4c8a1bb00c2aa8e94ef1905c6e2349bdc4fcc1401Approve359927322022-11-24 3:39:26119 days 4 hrs ago0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477 IN  Ferrum Network: FRMX Token0 MATIC0.004665031897 100.000683771
0xd87b49071fdbd3c15ceaf402d7c70ae8f321344495f39b057a40cf4c7af3a80bApprove354510352022-11-10 20:31:19132 days 11 hrs ago0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675 IN  Ferrum Network: FRMX Token0 MATIC0.033804874346 724.648967762
0x04cf6fdddf1fd410e00c6f8f4afe5dde60ba1d93b632710018988ddffae93303Approve354433212022-11-10 16:05:38132 days 15 hrs ago0x237b008e6472f65fd7a34d93ff265f47a2a0d8fb IN  Ferrum Network: FRMX Token0 MATIC0.0097032208
0xdd1817481f87b16cb5b75f6de54e56576edcef6e7f146e45067b50ee5d411a0aApprove353624652022-11-08 17:07:34134 days 14 hrs ago0x65a8f07bd9a8598e1b5b6c0a88f4779dbc077675 IN  Ferrum Network: FRMX Token0 MATIC0.060680124347 1,300.752933497
0x7aece8f9560b03b7bf7df0b261fd98ae6959971fe84baf9d8c399d3bb5656581Approve349069922022-10-28 14:15:38145 days 17 hrs ago0xd54e4f8a55247487dd7c8c59f14ee5c0c2889477 IN  Ferrum Network: FRMX Token0 MATIC0.016973675631 363.851567669
0x530425ef470a3ec3a6406dc2605be31cba8553ba5378c82a7b7a9ea9a7b2c8c6Approve346252362022-10-21 16:53:05152 days 14 hrs ago0x237b008e6472f65fd7a34d93ff265f47a2a0d8fb IN  Ferrum Network: FRMX Token0 MATIC0.0166074356
[ Download CSV Export 

OVERVIEW

Ferrum Network is a deflationary cross-chain Blockchain as a Service DeFi company that specializes in adding token utility and advisory services to projects across the crypto space.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FerrumXToken

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2021-09-14
*/

// File: @openzeppelin/contracts/token/ERC20/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: @openzeppelin/contracts/utils/Context.sol

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

pragma solidity ^0.8.0;



/**
 * @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 {
    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 three of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual 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 { }
}

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

pragma solidity ^0.8.0;



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

pragma solidity >=0.6.0 <=0.8.0;

contract FerrumXToken is ERC20Burnable {
    uint256 constant CAP = 5500 * 10 ** 18;
    constructor () ERC20("FRMx Token", "FRMX") {
        _mint(msg.sender, CAP);
    }
}

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":"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"}]

60806040523480156200001157600080fd5b50604080518082018252600a815269232926bc102a37b5b2b760b11b60208083019182528351808501909452600484526308ca49ab60e31b908401528151919291620000609160039162000174565b5080516200007690600490602084019062000174565b505050620000953369012a27d53bc0487000006200009b60201b60201c565b620002bc565b6001600160a01b038216620000cd5760405162461bcd60e51b8152600401620000c4906200021a565b60405180910390fd5b620000db600083836200016f565b8060026000828254620000ef91906200025a565b90915550506001600160a01b038216600090815260208190526040812080548392906200011e9084906200025a565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200016390859062000251565b60405180910390a35050565b505050565b82805462000182906200027f565b90600052602060002090601f016020900481019282620001a65760008555620001f1565b82601f10620001c157805160ff1916838001178555620001f1565b82800160010185558215620001f1579182015b82811115620001f1578251825591602001919060010190620001d4565b50620001ff92915062000203565b5090565b5b80821115620001ff576000815560010162000204565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200027a57634e487b7160e01b81526011600452602481fd5b500190565b6002810460018216806200029457607f821691505b60208210811415620002b657634e487b7160e01b600052602260045260246000fd5b50919050565b610c5780620002cc6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b411461019d578063a457c2d7146101a5578063a9059cbb146101b8578063dd62ed3e146101cb576100cf565b806342966c681461016257806370a082311461017757806379cc67901461018a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011257806323b872dd14610127578063313ce5671461013a578063395093511461014f575b600080fd5b6100dc6101de565b6040516100e9919061088f565b60405180910390f35b610105610100366004610843565b610270565b6040516100e99190610884565b61011a61028d565b6040516100e99190610b8a565b610105610135366004610808565b610293565b610142610333565b6040516100e99190610b93565b61010561015d366004610843565b610338565b61017561017036600461086c565b610387565b005b61011a6101853660046107b5565b61039b565b610175610198366004610843565b6103ba565b6100dc61040f565b6101056101b3366004610843565b61041e565b6101056101c6366004610843565b610499565b61011a6101d93660046107d6565b6104ad565b6060600380546101ed90610bd0565b80601f016020809104026020016040519081016040528092919081815260200182805461021990610bd0565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b5050505050905090565b600061028461027d6104d8565b84846104dc565b50600192915050565b60025490565b60006102a0848484610590565b6001600160a01b0384166000908152600160205260408120816102c16104d8565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561030d5760405162461bcd60e51b8152600401610304906109ef565b60405180910390fd5b610328856103196104d8565b6103238685610bb9565b6104dc565b506001949350505050565b601290565b60006102846103456104d8565b8484600160006103536104d8565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546103239190610ba1565b6103986103926104d8565b826106b8565b50565b6001600160a01b0381166000908152602081905260409020545b919050565b60006103c8836101d96104d8565b9050818110156103ea5760405162461bcd60e51b815260040161030490610a37565b610400836103f66104d8565b6103238585610bb9565b61040a83836106b8565b505050565b6060600480546101ed90610bd0565b6000806001600061042d6104d8565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156104795760405162461bcd60e51b815260040161030490610b45565b61048f6104846104d8565b856103238685610bb9565b5060019392505050565b60006102846104a66104d8565b8484610590565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105025760405162461bcd60e51b815260040161030490610b01565b6001600160a01b0382166105285760405162461bcd60e51b815260040161030490610967565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610583908590610b8a565b60405180910390a3505050565b6001600160a01b0383166105b65760405162461bcd60e51b815260040161030490610abc565b6001600160a01b0382166105dc5760405162461bcd60e51b8152600401610304906108e2565b6105e783838361040a565b6001600160a01b038316600090815260208190526040902054818110156106205760405162461bcd60e51b8152600401610304906109a9565b61062a8282610bb9565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610660908490610ba1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106aa9190610b8a565b60405180910390a350505050565b6001600160a01b0382166106de5760405162461bcd60e51b815260040161030490610a7b565b6106ea8260008361040a565b6001600160a01b038216600090815260208190526040902054818110156107235760405162461bcd60e51b815260040161030490610925565b61072d8282610bb9565b6001600160a01b0384166000908152602081905260408120919091556002805484929061075b908490610bb9565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610583908690610b8a565b80356001600160a01b03811681146103b557600080fd5b6000602082840312156107c6578081fd5b6107cf8261079e565b9392505050565b600080604083850312156107e8578081fd5b6107f18361079e565b91506107ff6020840161079e565b90509250929050565b60008060006060848603121561081c578081fd5b6108258461079e565b92506108336020850161079e565b9150604084013590509250925092565b60008060408385031215610855578182fd5b61085e8361079e565b946020939093013593505050565b60006020828403121561087d578081fd5b5035919050565b901515815260200190565b6000602080835283518082850152825b818110156108bb5785810183015185820160400152820161089f565b818111156108cc5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610bb457610bb4610c0b565b500190565b600082821015610bcb57610bcb610c0b565b500390565b600281046001821680610be457607f821691505b60208210811415610c0557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220074a1663acf150483ef8e2fd94ec467a621ef4754be9498daf6744d9fca07c5864736f6c63430008000033

Deployed ByteCode Sourcemap

15863:178:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7987:169;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6940:108::-;;;:::i;:::-;;;;;;;:::i;8638:422::-;;;;;;:::i;:::-;;:::i;6791:84::-;;;:::i;:::-;;;;;;;:::i;9469:215::-;;;;;;:::i;:::-;;:::i;15078:91::-;;;;;;:::i;:::-;;:::i;:::-;;7111:127;;;;;;:::i;:::-;;:::i;15488:332::-;;;;;;:::i;:::-;;:::i;6057:95::-;;;:::i;10187:377::-;;;;;;:::i;:::-;;:::i;7451:175::-;;;;;;:::i;:::-;;:::i;7689:151::-;;;;;;:::i;:::-;;:::i;5847:91::-;5892:13;5925:5;5918:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:91;:::o;7987:169::-;8070:4;8087:39;8096:12;:10;:12::i;:::-;8110:7;8119:6;8087:8;:39::i;:::-;-1:-1:-1;8144:4:0;7987:169;;;;:::o;6940:108::-;7028:12;;6940:108;:::o;8638:422::-;8744:4;8761:36;8771:6;8779:9;8790:6;8761:9;:36::i;:::-;-1:-1:-1;;;;;8837:19:0;;8810:24;8837:19;;;:11;:19;;;;;8810:24;8857:12;:10;:12::i;:::-;-1:-1:-1;;;;;8837:33:0;-1:-1:-1;;;;;8837:33:0;;;;;;;;;;;;;8810:60;;8909:6;8889:16;:26;;8881:79;;;;-1:-1:-1;;;8881:79:0;;;;;;;:::i;:::-;;;;;;;;;8971:57;8980:6;8988:12;:10;:12::i;:::-;9002:25;9021:6;9002:16;:25;:::i;:::-;8971:8;:57::i;:::-;-1:-1:-1;9048:4:0;;8638:422;-1:-1:-1;;;;8638:422:0:o;6791:84::-;6865:2;6791:84;:::o;9469:215::-;9557:4;9574:80;9583:12;:10;:12::i;:::-;9597:7;9643:10;9606:11;:25;9618:12;:10;:12::i;:::-;-1:-1:-1;;;;;9606:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;9606:25:0;;;:34;;;;;;;;;;:47;;;;:::i;15078:91::-;15134:27;15140:12;:10;:12::i;:::-;15154:6;15134:5;:27::i;:::-;15078:91;:::o;7111:127::-;-1:-1:-1;;;;;7212:18:0;;7185:7;7212:18;;;;;;;;;;;7111:127;;;;:::o;15488:332::-;15565:24;15592:32;15602:7;15611:12;:10;:12::i;15592:32::-;15565:59;;15663:6;15643:16;:26;;15635:75;;;;-1:-1:-1;;;15635:75:0;;;;;;;:::i;:::-;15721:58;15730:7;15739:12;:10;:12::i;:::-;15753:25;15772:6;15753:16;:25;:::i;15721:58::-;15790:22;15796:7;15805:6;15790:5;:22::i;:::-;15488:332;;;:::o;6057:95::-;6104:13;6137:7;6130:14;;;;;:::i;10187:377::-;10280:4;10297:24;10324:11;:25;10336:12;:10;:12::i;:::-;-1:-1:-1;;;;;10324:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;10324:25:0;;;:34;;;;;;;;;;;-1:-1:-1;10377:35:0;;;;10369:85;;;;-1:-1:-1;;;10369:85:0;;;;;;;:::i;:::-;10465:67;10474:12;:10;:12::i;:::-;10488:7;10497:34;10516:15;10497:16;:34;:::i;10465:67::-;-1:-1:-1;10552:4:0;;10187:377;-1:-1:-1;;;10187:377:0:o;7451:175::-;7537:4;7554:42;7564:12;:10;:12::i;:::-;7578:9;7589:6;7554:9;:42::i;7689:151::-;-1:-1:-1;;;;;7805:18:0;;;7778:7;7805:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7689:151::o;3454:98::-;3534:10;3454:98;:::o;13543:346::-;-1:-1:-1;;;;;13645:19:0;;13637:68;;;;-1:-1:-1;;;13637:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13724:21:0;;13716:68;;;;-1:-1:-1;;;13716:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13797:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;13849:32;;;;;13827:6;;13849:32;:::i;:::-;;;;;;;;13543:346;;;:::o;11054:604::-;-1:-1:-1;;;;;11160:20:0;;11152:70;;;;-1:-1:-1;;;11152:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11241:23:0;;11233:71;;;;-1:-1:-1;;;11233:71:0;;;;;;;:::i;:::-;11317:47;11338:6;11346:9;11357:6;11317:20;:47::i;:::-;-1:-1:-1;;;;;11401:17:0;;11377:21;11401:17;;;;;;;;;;;11437:23;;;;11429:74;;;;-1:-1:-1;;;11429:74:0;;;;;;;:::i;:::-;11534:22;11550:6;11534:13;:22;:::i;:::-;-1:-1:-1;;;;;11514:17:0;;;:9;:17;;;;;;;;;;;:42;;;;11567:20;;;;;;;;:30;;11591:6;;11514:9;11567:30;;11591:6;;11567:30;:::i;:::-;;;;;;;;11632:9;-1:-1:-1;;;;;11615:35:0;11624:6;-1:-1:-1;;;;;11615:35:0;;11643:6;11615:35;;;;;;:::i;:::-;;;;;;;;11054:604;;;;:::o;12611:494::-;-1:-1:-1;;;;;12695:21:0;;12687:67;;;;-1:-1:-1;;;12687:67:0;;;;;;;:::i;:::-;12767:49;12788:7;12805:1;12809:6;12767:20;:49::i;:::-;-1:-1:-1;;;;;12854:18:0;;12829:22;12854:18;;;;;;;;;;;12891:24;;;;12883:71;;;;-1:-1:-1;;;12883:71:0;;;;;;;:::i;:::-;12986:23;13003:6;12986:14;:23;:::i;:::-;-1:-1:-1;;;;;12965:18:0;;:9;:18;;;;;;;;;;:44;;;;13020:12;:22;;13036:6;;12965:9;13020:22;;13036:6;;13020:22;:::i;:::-;;;;-1:-1:-1;;13060:37:0;;13086:1;;-1:-1:-1;;;;;13060:37:0;;;;;;;13090:6;;13060:37;:::i;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:187::-;1654:14;;1647:22;1629:41;;1617:2;1602:18;;1584:92::o;1681:603::-;;1822:2;1851;1840:9;1833:21;1883:6;1877:13;1926:6;1921:2;1910:9;1906:18;1899:34;1951:4;1964:140;1978:6;1975:1;1972:13;1964:140;;;2073:14;;;2069:23;;2063:30;2039:17;;;2058:2;2035:26;2028:66;1993:10;;1964:140;;;2122:6;2119:1;2116:13;2113:2;;;2192:4;2187:2;2178:6;2167:9;2163:22;2159:31;2152:45;2113:2;-1:-1:-1;2268:2:1;2247:15;-1:-1:-1;;2243:29:1;2228:45;;;;2275:2;2224:54;;1802:482;-1:-1:-1;;;1802:482:1:o;2289:399::-;2491:2;2473:21;;;2530:2;2510:18;;;2503:30;2569:34;2564:2;2549:18;;2542:62;-1:-1:-1;;;2635:2:1;2620:18;;2613:33;2678:3;2663:19;;2463:225::o;2693:398::-;2895:2;2877:21;;;2934:2;2914:18;;;2907:30;2973:34;2968:2;2953:18;;2946:62;-1:-1:-1;;;3039:2:1;3024:18;;3017:32;3081:3;3066:19;;2867:224::o;3096:398::-;3298:2;3280:21;;;3337:2;3317:18;;;3310:30;3376:34;3371:2;3356:18;;3349:62;-1:-1:-1;;;3442:2:1;3427:18;;3420:32;3484:3;3469:19;;3270:224::o;3499:402::-;3701:2;3683:21;;;3740:2;3720:18;;;3713:30;3779:34;3774:2;3759:18;;3752:62;-1:-1:-1;;;3845:2:1;3830:18;;3823:36;3891:3;3876:19;;3673:228::o;3906:404::-;4108:2;4090:21;;;4147:2;4127:18;;;4120:30;4186:34;4181:2;4166:18;;4159:62;-1:-1:-1;;;4252:2:1;4237:18;;4230:38;4300:3;4285:19;;4080:230::o;4315:400::-;4517:2;4499:21;;;4556:2;4536:18;;;4529:30;4595:34;4590:2;4575:18;;4568:62;-1:-1:-1;;;4661:2:1;4646:18;;4639:34;4705:3;4690:19;;4489:226::o;4720:397::-;4922:2;4904:21;;;4961:2;4941:18;;;4934:30;5000:34;4995:2;4980:18;;4973:62;-1:-1:-1;;;5066:2:1;5051:18;;5044:31;5107:3;5092:19;;4894:223::o;5122:401::-;5324:2;5306:21;;;5363:2;5343:18;;;5336:30;5402:34;5397:2;5382:18;;5375:62;-1:-1:-1;;;5468:2:1;5453:18;;5446:35;5513:3;5498:19;;5296:227::o;5528:400::-;5730:2;5712:21;;;5769:2;5749:18;;;5742:30;5808:34;5803:2;5788:18;;5781:62;-1:-1:-1;;;5874:2:1;5859:18;;5852:34;5918:3;5903:19;;5702:226::o;5933:401::-;6135:2;6117:21;;;6174:2;6154:18;;;6147:30;6213:34;6208:2;6193:18;;6186:62;-1:-1:-1;;;6279:2:1;6264:18;;6257:35;6324:3;6309:19;;6107:227::o;6339:177::-;6485:25;;;6473:2;6458:18;;6440:76::o;6521:184::-;6693:4;6681:17;;;;6663:36;;6651:2;6636:18;;6618:87::o;6710:128::-;;6781:1;6777:6;6774:1;6771:13;6768:2;;;6787:18;;:::i;:::-;-1:-1:-1;6823:9:1;;6758:80::o;6843:125::-;;6911:1;6908;6905:8;6902:2;;;6916:18;;:::i;:::-;-1:-1:-1;6953:9:1;;6892:76::o;6973:380::-;7058:1;7048:12;;7105:1;7095:12;;;7116:2;;7170:4;7162:6;7158:17;7148:27;;7116:2;7223;7215:6;7212:14;7192:18;7189:38;7186:2;;;7269:10;7264:3;7260:20;7257:1;7250:31;7304:4;7301:1;7294:15;7332:4;7329:1;7322:15;7186:2;;7028:325;;;:::o;7358:127::-;7419:10;7414:3;7410:20;7407:1;7400:31;7450:4;7447:1;7440:15;7474:4;7471:1;7464:15

Swarm Source

ipfs://074a1663acf150483ef8e2fd94ec467a621ef4754be9498daf6744d9fca07c58
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.