Contract 0xd99baFe5031cC8B345cb2e8c80135991F12D7130 2

 

Contract Overview

Ferrum Network: FRM Token
Balance:
0 MATIC

MATIC Value:
$0.00

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x6882a4b685056f77b99fd239e7fe6a1713664258f093ea1b0b1a2a535385db33Approve317627912022-08-11 9:02:2911 hrs 56 mins ago0xdf43664aec3b994e1dd159ec59d45ba87927255b IN  Ferrum Network: FRM Token0 MATIC0.000733291402 30.094861785
0x559dc6e66457a08b2360de378da57efcc2eec2e9a11eb0790d1b814b742e8ea0Approve317627832022-08-11 9:02:1311 hrs 56 mins ago0xdf43664aec3b994e1dd159ec59d45ba87927255b IN  Ferrum Network: FRM Token0 MATIC0.000733833709 30.117118515
0x31c1f1f9a48c3b06dd355e06fa198e259b58bfb048e068b4eb44f0023a004ef3Approve317446982022-08-10 21:46:2023 hrs 12 mins ago0x815d62218fd8cb213bb9486af45cb8a4caa5c187 IN  Ferrum Network: FRM Token0 MATIC0.00147925449731.709635521
0x190ae976921e3335c7d530141148a6f8866bb200b6c5bfa98cb82facc0682074Approve316763292022-08-09 0:03:452 days 20 hrs ago0x79ae14b63d58bd2a5710a815db96463dff9a3fe9 IN  Ferrum Network: FRM Token0 MATIC0.001442158017 30.914426966
0x991025b59a5bfcd1c81c49b4ee3a3188caf099cc332b6b5a4b6a5384c656f6caApprove316762742022-08-09 0:00:012 days 20 hrs ago0xb28c87831c2a311130b0a1cb8413a1759793200b IN  Ferrum Network: FRM Token0 MATIC0.001788200209 38.332266022
0xa94c3f14cd9b96b8b6df69c07fef22db40d6402c0c5ed38f3cd8f592230da74eApprove316762302022-08-08 23:57:052 days 21 hrs ago0x3d73372a3f3428199b14323701dc3621cb29fa41 IN  Ferrum Network: FRM Token0 MATIC0.001548544511 33.194952015
0xfbb6986a8fe3d9e46b7afca7306bffaa9c65a97db9157dba73b441ef569d2300Approve316711862022-08-08 20:50:343 days 8 mins ago0x5ba4ac253f96c2789664a2108d7fdebbdf4cadc7 IN  Ferrum Network: FRM Token0 MATIC0.001513802244 32.450208895
0xe7d698ac9e481d80512600d4c815c9782eb73873be1b85bcf570c6d7bcb85867Approve315130662022-08-04 14:05:527 days 6 hrs ago0x558b9aff28c9734bbe8e7de4bdc84d86888ce502 IN  Ferrum Network: FRM Token0 MATIC0.001645812001 35.280000041
0xb8e202317f0d8b3ddfc9a452f2df492d6eba8e0b51b20b31afb22e0e03802466Transfer315036102022-08-04 8:07:277 days 12 hrs ago0xd94621b5bbb221457c0f20a584908d89d04ef55d IN  Ferrum Network: FRM Token0 MATIC0.000896040001 30.000000044
0x96a84daa13063b215025dd331b78b888ee6f41ae2b0da4582af528da2788d174Approve314854382022-08-03 20:37:468 days 21 mins ago0xac067c27acf60b56c23f18fbe91a22bfa11f7ee4 IN  Ferrum Network: FRM Token0 MATIC0.0013995 30.00000002
0xcd9b14b6c7133f5931915bd4c1c903236ac4b3cafb4af72127e995907f909a5bApprove314772332022-08-03 15:25:438 days 5 hrs ago0xd7e912dcd5c0d0542271d1635bb8e8cc0cf0de40 IN  Ferrum Network: FRM Token0 MATIC0.001402547643 30.065329982
0x88711e7ee3de94275f9add815806effec65f70e14f4d2de3489b2ad3279602e7Approve314459812022-08-02 20:32:569 days 26 mins ago0x88f859db067c45b114897db6920f3e4a61a5ca66 IN  Ferrum Network: FRM Token0 MATIC0.010749052949 230.419141473
0x87a685236b77b32345af9c738b205c5b6420a9977fed64ecf8e179cf32975ee2Approve314304302022-08-02 10:57:379 days 10 hrs ago0x137b8aa268fdead653bbafe73326a787a4424bf0 IN  Ferrum Network: FRM Token0 MATIC0.001047060293 42.97218637
0x2fdf3af9a767df2fada91db5e853e39edb3e63b66a968460cc5d8f5c795a4b13Approve313609462022-07-31 17:05:2411 days 3 hrs ago0x74133f5884f9543d74442e4e62f9070cedc0f363 IN  Ferrum Network: FRM Token0 MATIC0.001497791549 32.106999999
0xe12cf7df3784abf28f9a2985c78e7342a381d8fddc9cf0ce1173ca397facfddaApprove313186062022-07-30 15:01:5312 days 5 hrs ago0x74133f5884f9543d74442e4e62f9070cedc0f363 IN  Ferrum Network: FRM Token0 MATIC0.001399501201 30.000025766
0x2be0885608ed1c3c4c1bdd43597c3fc5d6b320887b373cd03594f2e5a646a0d9Approve312867432022-07-29 19:11:3713 days 1 hr ago0x5386881b46c37cdd30a748f7771cf95d7b213637 IN  Ferrum Network: FRM Token0 MATIC0.001490325523 31.946956561
0x7efb9d98b1a6a4d6d213e7cb8da349d840db51139e60678a7776704289ff6c70Approve312669222022-07-29 7:08:5813 days 13 hrs ago0x691315ca57a42aab6d1d8a267c0879a08d14b5a4 IN  Ferrum Network: FRM Token0 MATIC0.001704896296 36.546544409
0x8c124dd47df9b9eaf91b41be13346419227d0e5710372286cd103c9379ae6467Approve312662132022-07-29 6:42:2813 days 14 hrs ago0x558b9aff28c9734bbe8e7de4bdc84d86888ce502 IN  Ferrum Network: FRM Token0 MATIC0.001673172179 35.866499028
0x8b64e0c9844bc81d523fc5b137c3f3ea9795d0052e0436db596dfeb790f05a9aApprove312524182022-07-28 22:29:4313 days 22 hrs ago0x1118869ea46bd1673e0ac7261e85a2bcfb6764cd IN  Ferrum Network: FRM Token0 MATIC0.001989351506 42.644190924
0xdafb0c41dff8d86294eee1c5f3d53fb9f1d6a54e53c558d3ef4e1cf17d974a81Approve312483202022-07-28 20:02:2414 days 56 mins ago0x19d3f047c806cfa566e4cb4de74bd8392622ec3c IN  Ferrum Network: FRM Token0 MATIC0.001583767501 33.95000003
0x27aa5e081e75eb416ed3209189b6748844dae22af4d29a597875bb3ef07134e8Approve312475512022-07-28 19:35:5414 days 1 hr ago0x7e7e3ce53865a8882320ba5ac9fb0d475d383b82 IN  Ferrum Network: FRM Token0 MATIC0.001399500005 30.00000011
0x5c1bad3685ea6f7d2c851e3c7ad87a67f1edde59328b5b4b81675b32cc429317Approve312474352022-07-28 19:31:5814 days 1 hr ago0x19d3f047c806cfa566e4cb4de74bd8392622ec3c IN  Ferrum Network: FRM Token0 MATIC0.001399500014 30.00000031
0x8f1a8867ae348b2eaa91c19a92c19781ab46bc8b9ebf3b0eae661011cca836dbApprove312468722022-07-28 19:10:2814 days 1 hr ago0x237b008e6472f65fd7a34d93ff265f47a2a0d8fb IN  Ferrum Network: FRM Token0 MATIC0.0020059543
0x7fdbd65439237af240f26946e6781be5872d83cde47d2720ad997fdce2f3e6e7Approve312357132022-07-28 12:18:4514 days 8 hrs ago0xed1406470a793da88d4af13d651998bf8fd36d48 IN  Ferrum Network: FRM Token0 MATIC0.00163275 35
0x5ce790f4379048d1ae0590016f649c7200262c6b6e9c947d96d7452080d41e05Approve311338882022-07-25 20:54:3217 days 4 mins ago0x2e760714ee99897950df45da3344ec9feca8357d IN  Ferrum Network: FRM Token0 MATIC0.003557068993 76.250139201
[ 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 by building white-label blockchain solutions that empower startups and established organizations.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FerrumNetworkToken

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-06-11
*/

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

// File: contracts/frm/FerrumNetworkToken.sol

pragma solidity >=0.6.0 <=0.8.0;


contract FerrumNetworkToken is ERC20Burnable {
    uint256 constant CAP = 42000000 * 10 ** 18;
    constructor () ERC20("Ferrum Network Token", "FRM") {
        _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"}]

60806040523480156200001157600080fd5b506040518060400160405280601481526020017f46657272756d204e6574776f726b20546f6b656e0000000000000000000000008152506040518060400160405280600381526020016246524d60e81b81525081600390805190602001906200007c92919062000191565b5080516200009290600490602084019062000191565b505050620000b2336a22bdd88fed9efc6a000000620000b860201b60201c565b620002d9565b6001600160a01b038216620000ea5760405162461bcd60e51b8152600401620000e19062000237565b60405180910390fd5b620000f8600083836200018c565b80600260008282546200010c919062000277565b90915550506001600160a01b038216600090815260208190526040812080548392906200013b90849062000277565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001809085906200026e565b60405180910390a35050565b505050565b8280546200019f906200029c565b90600052602060002090601f016020900481019282620001c357600085556200020e565b82601f10620001de57805160ff19168380011785556200020e565b828001600101855582156200020e579182015b828111156200020e578251825591602001919060010190620001f1565b506200021c92915062000220565b5090565b5b808211156200021c576000815560010162000221565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200029757634e487b7160e01b81526011600452602481fd5b500190565b600281046001821680620002b157607f821691505b60208210811415620002d357634e487b7160e01b600052602260045260246000fd5b50919050565b610c5780620002e96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b411461019d578063a457c2d7146101a5578063a9059cbb146101b8578063dd62ed3e146101cb576100cf565b806342966c681461016257806370a082311461017757806379cc67901461018a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011257806323b872dd14610127578063313ce5671461013a578063395093511461014f575b600080fd5b6100dc6101de565b6040516100e9919061088f565b60405180910390f35b610105610100366004610843565b610270565b6040516100e99190610884565b61011a61028d565b6040516100e99190610b8a565b610105610135366004610808565b610293565b610142610333565b6040516100e99190610b93565b61010561015d366004610843565b610338565b61017561017036600461086c565b610387565b005b61011a6101853660046107b5565b61039b565b610175610198366004610843565b6103ba565b6100dc61040f565b6101056101b3366004610843565b61041e565b6101056101c6366004610843565b610499565b61011a6101d93660046107d6565b6104ad565b6060600380546101ed90610bd0565b80601f016020809104026020016040519081016040528092919081815260200182805461021990610bd0565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b5050505050905090565b600061028461027d6104d8565b84846104dc565b50600192915050565b60025490565b60006102a0848484610590565b6001600160a01b0384166000908152600160205260408120816102c16104d8565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561030d5760405162461bcd60e51b8152600401610304906109ef565b60405180910390fd5b610328856103196104d8565b6103238685610bb9565b6104dc565b506001949350505050565b601290565b60006102846103456104d8565b8484600160006103536104d8565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546103239190610ba1565b6103986103926104d8565b826106b8565b50565b6001600160a01b0381166000908152602081905260409020545b919050565b60006103c8836101d96104d8565b9050818110156103ea5760405162461bcd60e51b815260040161030490610a37565b610400836103f66104d8565b6103238585610bb9565b61040a83836106b8565b505050565b6060600480546101ed90610bd0565b6000806001600061042d6104d8565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156104795760405162461bcd60e51b815260040161030490610b45565b61048f6104846104d8565b856103238685610bb9565b5060019392505050565b60006102846104a66104d8565b8484610590565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105025760405162461bcd60e51b815260040161030490610b01565b6001600160a01b0382166105285760405162461bcd60e51b815260040161030490610967565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610583908590610b8a565b60405180910390a3505050565b6001600160a01b0383166105b65760405162461bcd60e51b815260040161030490610abc565b6001600160a01b0382166105dc5760405162461bcd60e51b8152600401610304906108e2565b6105e783838361040a565b6001600160a01b038316600090815260208190526040902054818110156106205760405162461bcd60e51b8152600401610304906109a9565b61062a8282610bb9565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610660908490610ba1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106aa9190610b8a565b60405180910390a350505050565b6001600160a01b0382166106de5760405162461bcd60e51b815260040161030490610a7b565b6106ea8260008361040a565b6001600160a01b038216600090815260208190526040902054818110156107235760405162461bcd60e51b815260040161030490610925565b61072d8282610bb9565b6001600160a01b0384166000908152602081905260408120919091556002805484929061075b908490610bb9565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610583908690610b8a565b80356001600160a01b03811681146103b557600080fd5b6000602082840312156107c6578081fd5b6107cf8261079e565b9392505050565b600080604083850312156107e8578081fd5b6107f18361079e565b91506107ff6020840161079e565b90509250929050565b60008060006060848603121561081c578081fd5b6108258461079e565b92506108336020850161079e565b9150604084013590509250925092565b60008060408385031215610855578182fd5b61085e8361079e565b946020939093013593505050565b60006020828403121561087d578081fd5b5035919050565b901515815260200190565b6000602080835283518082850152825b818110156108bb5785810183015185820160400152820161089f565b818111156108cc5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610bb457610bb4610c0b565b500190565b600082821015610bcb57610bcb610c0b565b500390565b600281046001821680610be457607f821691505b60208210811415610c0557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208bd46e3c5189c1fa83a7b4781ab73e53b39172d5c56a943c91a909f1157a0d9964736f6c63430008000033

Deployed ByteCode Sourcemap

15914:197: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://8bd46e3c5189c1fa83a7b4781ab73e53b39172d5c56a943c91a909f1157a0d99
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.