Contract 0xd3Ac016b1B8C80EeAdDe4D186A9138C9324e4189 7

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xbde9fe46047cd52cb5cd883ab9df0373b41b3c22645373ca5298c55f8c9a2f13Approve277157772023-03-21 6:40:5611 hrs 36 mins ago0x5b7845d1c3648d86695fc6bf5f7db119e2131e98 IN  Okcash: OK Token0 AVAX0.001227533 26.5
0xd98934b47023438fe3c3f9d46a9589cfeea2cbce1a0005ea95d67d8582a6569cTransfer273073782023-03-11 16:45:1610 days 1 hr ago0x256a0f2c2e4e25be77d0fd4fd240367c30b72f51 IN  Okcash: OK Token0 AVAX0.001368301 26.5
0xd5a0b083cfaea924cd08a7c67183e68b778dbfcfb7b879dccb848afe5c0f7349Transfer273041382023-03-11 14:57:1010 days 3 hrs ago0x5b7845d1c3648d86695fc6bf5f7db119e2131e98 IN  Okcash: OK Token0 AVAX0.000915787 26.5
0x3b1c41a32f0093affb8845934e8bc35107fe751f67aa16a9f7956c402219870cTransfer271358802023-03-07 16:14:4314 days 2 hrs ago0x5b7845d1c3648d86695fc6bf5f7db119e2131e98 IN  Okcash: OK Token0 AVAX0.00141573335 27.425
0x45bf1650358e8f18dd126cd1f25a852d5f00ccb26c67a5e2015df263700e7778Approve270901622023-03-06 13:13:2915 days 5 hrs ago0x7d694112f45e263ea248168700a59e2cde490fdc IN  Okcash: OK Token0 AVAX0.00142690436 30.82
0x08e47d70d5a18a1c31de82db0dc4259abf990dffaa49346a328ea56ffd2ed8a4Approve269485252023-03-03 2:08:1718 days 16 hrs ago0x5b7845d1c3648d86695fc6bf5f7db119e2131e98 IN  Okcash: OK Token0 AVAX0.00124694484 26.94
0x2ad717d90c0e4e214d49584a7ff1632a43aece8658a795f00bb805023227bdd3Approve269266762023-03-02 13:37:1419 days 4 hrs ago0x5b7845d1c3648d86695fc6bf5f7db119e2131e98 IN  Okcash: OK Token0 AVAX0.001234847 26.5
0xf2377d1fc6bd891872f877bb185133c675d73f02793511c9057b6ae5f1318040Transfer269265152023-03-02 13:31:4219 days 4 hrs ago0x256a0f2c2e4e25be77d0fd4fd240367c30b72f51 IN  Okcash: OK Token0 AVAX0.000915787 26.5
0x2b18352bb6e7ff82e2c956fb2e6d1563642aa8557f2b0c9c779783e1d4801398Approve267728102023-02-26 20:42:2622 days 21 hrs ago0x256a0f2c2e4e25be77d0fd4fd240367c30b72f51 IN  Okcash: OK Token0 AVAX0.001250556303 27.018024961
0xb4da5edf190b78c818ad0548c458e383cec88ddb6e582dc1b7ffd49f7523a9b4Approve266238732023-02-23 8:23:5626 days 9 hrs ago0x256a0f2c2e4e25be77d0fd4fd240367c30b72f51 IN  Okcash: OK Token0 AVAX0.001226579 26.5
0xed5a97f21ace3d11a6e8a39abec515a5e6f36df2039cab84e4996d73e16a526eApprove258279512023-02-04 15:36:0545 days 2 hrs ago0xf47027f3edcb1f0b6861a25e6f3738e398440e11 IN  Okcash: OK Token0 AVAX0.0011571525
0xf4d00402462eeb3f5d130d20d1704158ebd4f28b72784a999a8b588d1ea21803Approve258142642023-02-04 7:56:4645 days 10 hrs ago0xb18a6a52bbca67c7ad71221f76dcaed5a3839780 IN  Okcash: OK Token0 AVAX0.0011574525
0x6f6f8f040b47b63057601aae7d796a87e7feba26b3d84fc5934710edd43df11eTransfer258129172023-02-04 7:09:5645 days 11 hrs ago0x960396f1dde4ef4d611209b0e900fd286b2d878b IN  Okcash: OK Token0 AVAX0.0008627525
0x0204b9cb5444868f6d193dbec9bd68aac9eb57a0c3d0893a47b6649c861f5e9dTransfer258129002023-02-04 7:09:1745 days 11 hrs ago0xa99ce8a40c9dc3303b3920e4c1f705a7b62b9ff5 IN  Okcash: OK Token0 AVAX0.0008627525
0x984821aaa0765f3b1589b019a2bf1c7ecaedf983e6e05968eb6f9e5479cba6ceTransfer258128792023-02-04 7:08:3545 days 11 hrs ago0x8d9e44da3d2aa2a7f305e8133572b7d049dbd8a2 IN  Okcash: OK Token0 AVAX0.0008627525
0x4b1f47dc6380150382c42ee43d35ebb17c1be52be1597b587ef71a7fd8efcf6fTransfer258128542023-02-04 7:07:4545 days 11 hrs ago0x541796f3c6e61d3624d1c7c1bd80b3fb4a60a333 IN  Okcash: OK Token0 AVAX0.0008627525
0x58a07918f3582220f1e6325bdbacaa316898151259864b426136b45cd83e1c44Transfer258128262023-02-04 7:06:4245 days 11 hrs ago0x7e0d3e501c1aacc13b8de101bfdfdd2a7f93c847 IN  Okcash: OK Token0 AVAX0.0008627525
0x43d2236b35619b37fcb0bc4b504cdb9c4242f2378c2a8e8d1aca2f136964debeTransfer258128042023-02-04 7:05:5545 days 11 hrs ago0xc8404eaeb34eca25c9e6b8a5f23bdf4e4183d4a6 IN  Okcash: OK Token0 AVAX0.0008627525
0x2bc116904f2b4adcecc4283ea6af5b05d1e2b9d7cb18d62cce8dd93475c3acadTransfer258127812023-02-04 7:05:0945 days 11 hrs ago0xaadaebb184fbe83983739f08211ba9802b58772a IN  Okcash: OK Token0 AVAX0.0008630525
0xf60a098a5f7e3d4bb4e37ba181da8a62f00568b904d7397531d30bb4f08762beTransfer258127512023-02-04 7:04:0845 days 11 hrs ago0xb11077a38434dbeda475d1bcd8f82c970dc6dfa4 IN  Okcash: OK Token0 AVAX0.0008630525
0x88f5e89a6fe44a28158b47be026557f9c5b50332edae471763c89318106c993dApprove256887812023-02-01 9:57:2048 days 8 hrs ago0x000009209e16ddf2e0abe52fc2301f0f3c9a7d50 IN  Okcash: OK Token0 AVAX0.0011574525
0x674a3eca447435faa95004d0787eebeb9277fa43208b75885db63fa46b560888Transfer256882812023-02-01 9:40:3348 days 8 hrs ago0x60346089bc1aa7afd545be01cfa507bc994576eb IN  Okcash: OK Token0 AVAX0.0008621525
0x064dda5ca76057f9f119fd4412626a962f64df658e1f9d93624aa6e3b72ba1eaTransfer256881302023-02-01 9:35:3148 days 8 hrs ago0x5744b7a8bf9f1252627d78918fcf829f4eac10a4 IN  Okcash: OK Token0 AVAX0.0008621525
0x11bde243dab3fe0f0e3a83692eb6ab68526bcb768a116ff371321d96c64c1dc7Transfer256880582023-02-01 9:33:0748 days 8 hrs ago0x43ae4ae7a350e2cf3da142b093d188fbc57da458 IN  Okcash: OK Token0 AVAX0.0008621525
0x263909280bc51c504c0ae15aea2c87ca358fefccc6c34574642395bd1945d441Transfer256879862023-02-01 9:30:4348 days 8 hrs ago0xae7f6f1bff33dce8acd75b490d30ce018317c6df IN  Okcash: OK Token0 AVAX0.0008621525
[ Download CSV Export 

OVERVIEW

OK is multichain Energy Friendly and open source Peer-to-Peer Electronic Cash, its design is public, nobody owns or controls Okcash and everyone can take part.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OkcashToken

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : OkcashToken.sol
/**
 *Submitted for verification at BscScan.com on 2022-09-29
 */

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev Interface of the BEP standard.
 */
interface IERC20 {
    /**
     * @dev Returns the token name.
     */
    function name() external view returns (string memory);

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

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

    /**
     * @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 Returns the token owner.
     */
    function getOwner() external view returns (address);

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

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() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view 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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is Ownable, IERC20 {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}, initializes {decimals} with
     * a default value of 18.
     *
     * To select a different value for {decimals}, use {_setupDecimals}.
     *
     * 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_;
        _decimals = 18;
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view 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 {_setupDecimals} is
     * called.
     *
     * 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 override returns (uint8) {
        return _decimals;
    }

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

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

    /**
     * @dev See {IERC20-getOwner}.
     */
    function getOwner() public view override returns (address) {
        return owner();
    }

    /**
     * @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-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 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-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @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 Sets {decimals} to a value other than the default one of 18.
     *
     * WARNING: This function should only be called from the constructor. Most
     * applications that interact with token contracts will not expect
     * {decimals} to ever change, and may work incorrectly if it does.
     */
    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

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

abstract contract ERC20Burnable is 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);
    }
}

abstract contract ERC20Mintable is ERC20 {
    // indicates if minting is finished
    bool private _mintingFinished = false;

    /**
     * @dev Emitted during finish minting
     */
    event MintFinished();

    /**
     * @dev Tokens can be minted only before minting finished.
     */
    modifier canMint() {
        require(!_mintingFinished, "ERC20Mintable: minting is finished");
        _;
    }

    /**
     * @return if minting is finished or not.
     */
    function mintingFinished() public view returns (bool) {
        return _mintingFinished;
    }

    /**
     * @dev Function to mint tokens.
     *
     * WARNING: it allows everyone to mint new tokens. Access controls MUST be defined in derived contracts.
     *
     * @param account The address that will receive the minted tokens
     * @param amount The amount of tokens to mint
     */
    function mint(address account, uint256 amount) public canMint {
        _mint(account, amount);
    }

    /**
     * @dev Function to stop minting new tokens.
     *
     * WARNING: it allows everyone to finish minting. Access controls MUST be defined in derived contracts.
     */
    function finishMinting() public canMint {
        _finishMinting();
    }

    /**
     * @dev Function to stop minting new tokens.
     */
    function _finishMinting() internal virtual {
        _mintingFinished = true;

        emit MintFinished();
    }
}

/**
 * Wrapped Okcash BSC
 * Implementation of the Wrapped Okcash BSC
 */
contract OkcashToken is ERC20Mintable, ERC20Burnable {
    constructor() ERC20("Okcash", "OK") {
        _setupDecimals(18);
        //_mint(_msgSender(), 0);
        transferOwnership(0x362f16bcCA3c909DeA88898f406C7D9ffb48361E);
    }

    function _mint(address account, uint256 amount)
        internal
        override
        onlyOwner
    {
        super._mint(account, amount);
    }

    function _finishMinting() internal override onlyOwner {
        super._finishMinting();
    }
}

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

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":[],"name":"MintFinished","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":[{"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":[],"name":"finishMinting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526006805461ff00191690553480156200001c57600080fd5b506040518060400160405280600681526020016509ed6c6c2e6d60d31b815250604051806040016040528060028152602001614f4b60f01b8152506000620000696200010260201b60201c565b600080546001600160a01b0319166001600160a01b038316908117825560405192935091600080516020620012d7833981519152908290a3508151620000b790600490602085019062000217565b508051620000cd90600590602084019062000217565b50506006805460ff1916601217905550620000fc73362f16bcca3c909dea88898f406c7d9ffb48361e62000106565b620002f9565b3390565b6000546001600160a01b03163314620001665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620001cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200015d565b600080546040516001600160a01b0380851693921691600080516020620012d783398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b8280546200022590620002bd565b90600052602060002090601f01602090048101928262000249576000855562000294565b82601f106200026457805160ff191683800117855562000294565b8280016001018555821562000294579182015b828111156200029457825182559160200191906001019062000277565b50620002a2929150620002a6565b5090565b5b80821115620002a25760008155600101620002a7565b600181811c90821680620002d257607f821691505b602082108103620002f357634e487b7160e01b600052602260045260246000fd5b50919050565b610fce80620003096000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063715018a6116100ad57806395d89b411161007157806395d89b4114610271578063a457c2d714610279578063a9059cbb1461028c578063dd62ed3e1461029f578063f2fde38b146102d857600080fd5b8063715018a61461021857806379cc6790146102205780637d64bcb414610233578063893d20e81461023b5780638da5cb5b1461026057600080fd5b8063313ce567116100f4578063313ce5671461019f57806339509351146101b457806340c10f19146101c757806342966c68146101dc57806370a08231146101ef57600080fd5b806305d2035b1461013157806306fdde0314610152578063095ea7b31461016757806318160ddd1461017a57806323b872dd1461018c575b600080fd5b600654610100900460ff165b60405190151581526020015b60405180910390f35b61015a6102eb565b6040516101499190610d5d565b61013d610175366004610dce565b61037d565b6003545b604051908152602001610149565b61013d61019a366004610df8565b610393565b60065460405160ff9091168152602001610149565b61013d6101c2366004610dce565b610449565b6101da6101d5366004610dce565b610480565b005b6101da6101ea366004610e34565b6104b6565b61017e6101fd366004610e4d565b6001600160a01b031660009081526001602052604090205490565b6101da6104c3565b6101da61022e366004610dce565b610537565b6101da6105bf565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610149565b6000546001600160a01b0316610248565b61015a6105f1565b61013d610287366004610dce565b610600565b61013d61029a366004610dce565b61069b565b61017e6102ad366004610e6f565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101da6102e6366004610e4d565b6106a8565b6060600480546102fa90610ea2565b80601f016020809104026020016040519081016040528092919081815260200182805461032690610ea2565b80156103735780601f1061034857610100808354040283529160200191610373565b820191906000526020600020905b81548152906001019060200180831161035657829003601f168201915b5050505050905090565b600061038a338484610792565b50600192915050565b60006103a08484846108b7565b6001600160a01b03841660009081526002602090815260408083203384529091529020548281101561042a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61043e85336104398685610ef2565b610792565b506001949350505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161038a918590610439908690610f09565b600654610100900460ff16156104a85760405162461bcd60e51b815260040161042190610f21565b6104b28282610a8f565b5050565b6104c03382610ac3565b50565b6000546001600160a01b031633146104ed5760405162461bcd60e51b815260040161042190610f63565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061054383336102ad565b9050818110156105a15760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610421565b6105b083336104398585610ef2565b6105ba8383610ac3565b505050565b600654610100900460ff16156105e75760405162461bcd60e51b815260040161042190610f21565b6105ef610c12565b565b6060600580546102fa90610ea2565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156106825760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610421565b61069133856104398685610ef2565b5060019392505050565b600061038a3384846108b7565b6000546001600160a01b031633146106d25760405162461bcd60e51b815260040161042190610f63565b6001600160a01b0381166107375760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610421565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166107f45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610421565b6001600160a01b0382166108555760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610421565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661091b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610421565b6001600160a01b03821661097d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610421565b6001600160a01b038316600090815260016020526040902054818110156109f55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610421565b6109ff8282610ef2565b6001600160a01b038086166000908152600160205260408082209390935590851681529081208054849290610a35908490610f09565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a8191815260200190565b60405180910390a350505050565b6000546001600160a01b03163314610ab95760405162461bcd60e51b815260040161042190610f63565b6104b28282610c44565b6001600160a01b038216610b235760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610421565b6001600160a01b03821660009081526001602052604090205481811015610b975760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610421565b610ba18282610ef2565b6001600160a01b03841660009081526001602052604081209190915560038054849290610bcf908490610ef2565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016108aa565b6000546001600160a01b03163314610c3c5760405162461bcd60e51b815260040161042190610f63565b6105ef610d23565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610421565b8060036000828254610cac9190610f09565b90915550506001600160a01b03821660009081526001602052604081208054839290610cd9908490610f09565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6006805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b600060208083528351808285015260005b81811015610d8a57858101830151858201604001528201610d6e565b81811115610d9c576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610dc957600080fd5b919050565b60008060408385031215610de157600080fd5b610dea83610db2565b946020939093013593505050565b600080600060608486031215610e0d57600080fd5b610e1684610db2565b9250610e2460208501610db2565b9150604084013590509250925092565b600060208284031215610e4657600080fd5b5035919050565b600060208284031215610e5f57600080fd5b610e6882610db2565b9392505050565b60008060408385031215610e8257600080fd5b610e8b83610db2565b9150610e9960208401610db2565b90509250929050565b600181811c90821680610eb657607f821691505b602082108103610ed657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610f0457610f04610edc565b500390565b60008219821115610f1c57610f1c610edc565b500190565b60208082526022908201527f45524332304d696e7461626c653a206d696e74696e672069732066696e697368604082015261195960f21b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea26469706673582212201b3a8e83291b0eebc9910235e3f11133a2d3507884ae53cff73b5bac772afb0f64736f6c634300080d00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

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