Contract 0xa296ad1c47fe6bdc133f39555c1d1177bd51fbc5 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x111db0c0c789d1091ba84f7826f083120ea2e98e9eb744efee54ebb79410d5eeApprove132743652021-12-07 15:04:187 mins ago0xa350a54ccb7a62efe97f34828da4bc76a6a64224 IN  Buffer Finance: iBFR Token0 BNB0.00022203
0xbb28c291b156aa263c6fc772e005fa4daad28f0f3b79eec79cf9ca96cf804265Approve132743202021-12-07 15:01:3310 mins ago0xe2640943255cb001be5b8e4d208f5a3665384ede IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x7c0a1929e5fd4148f956d3b6d799bf29b40ba1f29700126d23f21b96d2d737c1Approve132741462021-12-07 14:50:3621 mins ago0x4bc1e721b6c0e2d1670915dff0f3b534bcf7c8aa IN  Buffer Finance: iBFR Token0 BNB0.000078091965
0x29fb2a8dda80ddc349499ac291cec6ac17388e94f499413fd835db31d5811514Approve132739602021-12-07 14:40:0231 mins ago0xb2c81b2641189e084b77ff7a5a5e7748e6a66062 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x6e4fe393ed7262299a1906628d934818a35619c65502eae50a4d0faf5be27673Approve132739002021-12-07 14:36:1735 mins ago0xc6fcca7c9577efbd11f345d05e67d01c99de2763 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x53a605279244c36944702799636d9015575d68e3f889a37576fd88177605e31cTransfer132738632021-12-07 14:34:1937 mins ago0x38fcf612f0ef34406e2d80dda56e9cf08503a03b IN  Buffer Finance: iBFR Token0 BNB0.000217662
0xd8afa3b3faedf1ed7edba51d44a991e59cfeaef78210cbf58c3b851911405861Approve132737602021-12-07 14:28:2143 mins ago0x08b3649abe0112723da2cc2ade648c604262f668 IN  Buffer Finance: iBFR Token0 BNB0.0002673
0xf7dff8ce1f0d6ce2bc62dd0637d01ecdc26699343892ec2ad2330bf395c4f5a0Approve132736252021-12-07 14:20:4751 mins ago0xba474afb66472b4bc747cd39e0e0800902a8e533 IN  Buffer Finance: iBFR Token0 BNB0.00012675
0x459250a33225afea903090ede8cb90598aed736d7911097be26b322467281fddApprove132735472021-12-07 14:15:5755 mins ago0xba474afb66472b4bc747cd39e0e0800902a8e533 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x468d37fcc91bd6dc466d7e6c9e77beed6dc9dad865aa346a55a3ec7b17f40656Approve132735392021-12-07 14:15:3156 mins ago0x67f1bdc3e5a9094df4bf4c693efdf91b2dad34b7 IN  Buffer Finance: iBFR Token0 BNB0.00012675
0x2114259e1cb92d9b29e1ec653a599673f84a7e3760764048f82e8ee225897a72Approve132735272021-12-07 14:14:5057 mins ago0x67f1bdc3e5a9094df4bf4c693efdf91b2dad34b7 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x3364e826b2244c3d40cc9530bc97261ec077fbbda69be43ed77d40bc91a24d9eApprove132733932021-12-07 14:06:531 hr 5 mins ago0xc004da424d14225e395f67a0ffa9e90d31a1b9f9 IN  Buffer Finance: iBFR Token0 BNB0.0002673
0xcdb93929cc4e6181365fe3bd369d0233d5a825caacfba24f1765f8ff7c8addf1Approve132733232021-12-07 14:03:101 hr 8 mins ago0x40f724ef283609539a2d48cd13f0a44cd8415ff3 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0xca7f36cbd7e1fec19135b732e505e8f470007395f21c482c99ea784cd603f465Approve132731052021-12-07 13:50:551 hr 21 mins ago0x36a62cb58e9a54d682b7aea70a16e03d78dfb845 IN  Buffer Finance: iBFR Token0 BNB0.00014637
0xd90763963026234d9422ebd83fc30e29eeeb8cf4af0c7b358b5391e5c6979125Approve132730792021-12-07 13:49:351 hr 22 mins ago0x9c7969fed470d386153c7de22a36324164c00bb2 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x6f6f909ac0fddf4db0ed0793aac084ff389cb34d889388fec2cd9cc64a7c1181Approve132729912021-12-07 13:44:181 hr 27 mins ago0x36a62cb58e9a54d682b7aea70a16e03d78dfb845 IN  Buffer Finance: iBFR Token0 BNB0.00022137
0x436a11737a3c210a80984335c6cc93bed962e804dab9a071839b997ac66e333dApprove132729712021-12-07 13:42:591 hr 28 mins ago0xc9e6f707fc2754a718e6852343f8cfd2779b89ab IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x25f7e43a09434b6bbe62cb1be2fc86a5d0bcbbfeea76d076ac61f029cc60bf28Approve132729662021-12-07 13:42:421 hr 29 mins ago0x71c2cf4877c991f5b7047636c8ebc04408a8312d IN  Buffer Finance: iBFR Token0 BNB0.000891
0xbaca5a4ea30fdd307d7bd6c1cdef2fb19e5b7a033c32c7035727269b340ab5c7Transfer132729562021-12-07 13:42:061 hr 29 mins ago0x030c9dbc102bf5a29e2d293465f537ae759f8f39 IN  Buffer Finance: iBFR Token0 BNB0.000256205
0x9ca49ff2f5a2fdd8da1f397b3f61760cb316d6c360f6f752b313a899a0310df8Approve132729162021-12-07 13:39:331 hr 32 mins ago0x0b55cb441d56aa9aaa384a771f8a2c3d9274e1a9 IN  Buffer Finance: iBFR Token0 BNB0.00022275
0xa3cd6f32d3cf523650ce2036fb3b93e68b789fd3625f4053aba3f088f488756aApprove132728932021-12-07 13:38:111 hr 33 mins ago0xcee352649c5c06b9cb0cd339dfd2046fc9ed7f26 IN  Buffer Finance: iBFR Token0 BNB0.000078091965
0xc29e5081038b2ffe8dd3fa54169d2c543cc1c3618807fc8ec3543728544dd086Approve132727842021-12-07 13:31:531 hr 40 mins ago0xf31c38d3e4ebd6237b02923a898a9a412a63e3ac IN  Buffer Finance: iBFR Token0 BNB0.00022275
0x54c17ad9f55563feb61deff613a6a5c3cecdccf8ec34f646fe75ce390409d3beApprove132726252021-12-07 13:22:221 hr 49 mins ago0xe74f2177410c217525706989acbc0eb23482581f IN  Buffer Finance: iBFR Token0 BNB0.0002673
0xac5598be17912ebc397a4df858abbc5c4f501d7de0ca9e693d99280b710abd95Approve132725192021-12-07 13:16:221 hr 55 mins ago0x719ac0beeb7bb58ea837b19dcfe97221cfec990f IN  Buffer Finance: iBFR Token0 BNB0.00012675
0x8d30903a2ea3edec4c610861caa173e6a8e7f3deec610041fff19117aa10df46Approve132724962021-12-07 13:15:011 hr 56 mins ago0x719ac0beeb7bb58ea837b19dcfe97221cfec990f IN  Buffer Finance: iBFR Token0 BNB0.00012675
[ Download CSV Export 

OVERVIEW

Buffer is a gamified options trading platform that empowers anyone around the world to buy and settle options on multiple assets directly against a liquidity pool.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IBFR

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

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

// SPDX-License-Identifier: MIT

pragma solidity 0.8.0;



// Part: OpenZeppelin/[email protected]/Context

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

// Part: OpenZeppelin/[email protected]/IERC20

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

// Part: OpenZeppelin/[email protected]/IERC20Metadata

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

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

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

// Part: OpenZeppelin/[email protected]/ERC20

/**
 * @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 Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

// File: IBFR.sol

/**
 * @author Heisenberg
 * @title Buffer iBFR Token
 * @notice The central token to the Buffer ecosystem
 */
contract IBFR is ERC20("iBuffer Token", "iBFR") {
    constructor() {
        uint256 INITIAL_SUPPLY = 100 * 10**6 * 10**decimals();
        _mint(msg.sender, INITIAL_SUPPLY);
    }
}

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

60806040523480156200001157600080fd5b50604080518082018252600d81526c34a13ab33332b9102a37b5b2b760991b60208083019182528351808501909452600484526334a1232960e11b9084015281519192916200006391600391620001ac565b50805162000079906004906020840190620001ac565b50505060006200008e620000c060201b60201c565b6200009b90600a620002fa565b620000ab906305f5e100620003f2565b9050620000b93382620000c5565b5062000467565b601290565b6001600160a01b038216620000f75760405162461bcd60e51b8152600401620000ee9062000252565b60405180910390fd5b6200010560008383620001a7565b806002600082825462000119919062000292565b90915550506001600160a01b038216600090815260208190526040812080548392906200014890849062000292565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200018d90859062000289565b60405180910390a3620001a360008383620001a7565b5050565b505050565b828054620001ba9062000414565b90600052602060002090601f016020900481019282620001de576000855562000229565b82601f10620001f957805160ff191683800117855562000229565b8280016001018555821562000229579182015b82811115620002295782518255916020019190600101906200020c565b50620002379291506200023b565b5090565b5b808211156200023757600081556001016200023c565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b60008219821115620002a857620002a862000451565b500190565b80825b6001808611620002c15750620002f1565b818704821115620002d657620002d662000451565b80861615620002e457918102915b9490941c938002620002b0565b94509492505050565b60006200030e60001960ff85168462000315565b9392505050565b60008262000326575060016200030e565b8162000335575060006200030e565b81600181146200034e576002811462000359576200038d565b60019150506200030e565b60ff8411156200036d576200036d62000451565b6001841b91508482111562000386576200038662000451565b506200030e565b5060208310610133831016604e8410600b8410161715620003c5575081810a83811115620003bf57620003bf62000451565b6200030e565b620003d48484846001620002ad565b808604821115620003e957620003e962000451565b02949350505050565b60008160001904831182151516156200040f576200040f62000451565b500290565b6002810460018216806200042957607f821691505b602082108114156200044b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6109bd80620004776000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012957806370a082311461013c57806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ec57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b6610190565b6040516100c391906106dd565b60405180910390f35b6100df6100da3660046106a9565b610222565b6040516100c391906106d2565b6100f461023f565b6040516100c39190610911565b6100df61010f36600461066e565b610245565b61011c6102de565b6040516100c3919061091a565b6100df6101373660046106a9565b6102e3565b6100f461014a36600461061b565b610337565b6100b6610356565b6100df6101653660046106a9565b610365565b6100df6101783660046106a9565b6103de565b6100f461018b36600461063c565b6103f2565b60606003805461019f9061094c565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb9061094c565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b600061023661022f61041d565b8484610421565b50600192915050565b60025490565b60006102528484846104d5565b6001600160a01b03841660009081526001602052604081208161027361041d565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156102bf5760405162461bcd60e51b81526004016102b6906107fb565b60405180910390fd5b6102d3856102cb61041d565b858403610421565b506001949350505050565b601290565b60006102366102f061041d565b8484600160006102fe61041d565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546103329190610928565b610421565b6001600160a01b0381166000908152602081905260409020545b919050565b60606004805461019f9061094c565b6000806001600061037461041d565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156103c05760405162461bcd60e51b81526004016102b6906108cc565b6103d46103cb61041d565b85858403610421565b5060019392505050565b60006102366103eb61041d565b84846104d5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166104475760405162461bcd60e51b81526004016102b690610888565b6001600160a01b03821661046d5760405162461bcd60e51b81526004016102b690610773565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104c8908590610911565b60405180910390a3505050565b6001600160a01b0383166104fb5760405162461bcd60e51b81526004016102b690610843565b6001600160a01b0382166105215760405162461bcd60e51b81526004016102b690610730565b61052c8383836105ff565b6001600160a01b038316600090815260208190526040902054818110156105655760405162461bcd60e51b81526004016102b6906107b5565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061059c908490610928565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105e69190610911565b60405180910390a36105f98484846105ff565b50505050565b505050565b80356001600160a01b038116811461035157600080fd5b60006020828403121561062c578081fd5b61063582610604565b9392505050565b6000806040838503121561064e578081fd5b61065783610604565b915061066560208401610604565b90509250929050565b600080600060608486031215610682578081fd5b61068b84610604565b925061069960208501610604565b9150604084013590509250925092565b600080604083850312156106bb578182fd5b6106c483610604565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b81811015610709578581018301518582016040015282016106ed565b8181111561071a5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b6000821982111561094757634e487b7160e01b81526011600452602481fd5b500190565b60028104600182168061096057607f821691505b6020821081141561098157634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220c8f0bdb1de70e49ea2e9d4c896c576e019894bf24ac969c1f6f1f10aedbc201e64736f6c63430008000033

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.