Contract 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e2255

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xcae0a264616478a73d0846242057bd5eb8442a9ce8d34e1af5554a9a3e3d17d279133662021-06-01 9:29:5113 days 9 hrs ago0x5040f8c6f0162c7962cd198c23e264aeb8592d9a IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000107715
0x60512a8007f17976f6f6d28c8c64285c48c60b1c00b7cfde5684332079f9b88775509272021-05-19 18:01:1426 days 1 hr ago0x98ce1d881bcfa5efa03a1b3a8c113ecf7d5e0124 IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.0002897765
0x68f1506ed9fc33087dd5c73a62e078cba0bb0089a657118137305fa4f4aa442f73508542021-05-12 16:15:4633 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000360633
0x23aa5326f041cb1a113e41da2f4ec761441c324522df33afc8e7258cddaac7fb73508462021-05-12 16:15:2233 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000360633
0xd205c268e50c2f7daa05689239be8f6a2d277935e38d87ab7452fc134b9f88b973508062021-05-12 16:13:2233 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000360633
0x76227222d0da65598e2edc061bb5f5560e53116c1ff910476395af9844f71bc973505992021-05-12 16:03:0033 days 3 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000360633
0xa4f03f4fd87e68d45472511ca0ba12e8579b94ee3758ec07891ef6a4174e1a8673504542021-05-12 15:55:1733 days 3 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000360633
0xd9d831e89d9d370b5cc646d291cbc4ed84ba32966f54753fedc6556eaac4063f72761782021-05-09 18:25:1636 days 38 mins ago0x5040f8c6f0162c7962cd198c23e264aeb8592d9a IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0x1efdff0bd78276ed12911bb2599135896265b8e3421f9ad874397f07bbb702fb69432942021-04-27 23:49:3847 days 19 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0xd8814ff87dff892fee31588f39a7a7c69fbe5a2b7d2901ef4536cd77fc2e7f7b69225222021-04-27 6:17:5448 days 12 hrs ago0x92b9396bfcaaf0641bc11db47b3e8b8255cda0b9 IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000265614
0x0fe0bae169820a6467470a8ec5e81262260c2afb1845685ef843ac0e6c28d7dd69092252021-04-26 19:09:0148 days 23 hrs ago0xdacbc495280d661d90a9df6b263fde0d13997028 IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0x5ac73ceee33c3b30bb869699bf93c2c5cc2c377bd559110bb02a1c1b0833ba1769091592021-04-26 19:05:4348 days 23 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000182595
0x385934890b444f6720b51c2a4c0b61ce430fd3178c7143cfccb1bc5f20841ae768782482021-04-25 17:11:5350 days 1 hr ago0x12a4eec88a9a89cf2e1ffadb5549af3a0ed875bf IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000072995
0x61637f0745f9e5b191386348ed6e822ae9f5bd720c8f8d796271c627cadcbcd868573192021-04-24 23:40:1250 days 19 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000257595
0x8e4422984e395b632904154f4da328d3d45749bdfc6cc53572a93f64b78d9fbd68441702021-04-24 12:39:2451 days 6 hrs ago0x5040f8c6f0162c7962cd198c23e264aeb8592d9a IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0x96238de6eb5f9e76d56fc62a6d0a63aa67cdb0ff4331d39fd7f1effa3474a08268441452021-04-24 12:38:0951 days 6 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000257595
0x82b055e03a3e0037eaa356cdee703c71b739ab6a6f93ef30e1f06ae895d6582268440242021-04-24 12:32:0651 days 6 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0x5a257870dfc63469a5522396b0af3cbb7d2c5697683dd41694e48e54a3d0df2167687902021-04-21 21:06:1053 days 21 hrs ago0x42e2bcb9dc2e7c49396f8a7f612f373fc04203ee IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000267486
0x7235f17bee91177d2dddbae3671470964c97c4126a2e0cc09fe1a3198b5166f967643362021-04-21 17:20:0254 days 1 hr ago0x12a4eec88a9a89cf2e1ffadb5549af3a0ed875bf IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000222905
0xe75be547e4201494a4b13b05485cccbd8e11d295b2acaa0c7457fd04d667910a67635672021-04-21 16:39:5054 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
0x00d5ea132c34bc51452ce06173930d9aaaaf03ec9f705a3afeb7b304babb588a67635412021-04-21 16:38:3254 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
0x34b31f4018072bbbe9a7abbbf9e511d9de2952981e8fa8ad1f236406129d281167630692021-04-21 16:14:0954 days 2 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
0xa428be07c1f26eb8cf3bedf337c9d8f50740968758d351a0100ef480c1b2801267603702021-04-21 13:33:4054 days 5 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
0x90c089c908277d9d4cdf6e104df917f3ed1f56295c532c73df4136202614517167603382021-04-21 13:32:0354 days 5 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
0x3ff0e496113146c1ab69eec25ae3036ae035470c074554a583925b5cb4f7092767603202021-04-21 13:31:0954 days 5 hrs ago0xd7719972b2b4b9a7b35699968ed82a7e7ebced5b IN  0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB0.000309114
[ Download CSV Export 
Latest 14 internal transactions
Parent Txn Hash Block From To Value
0x5952379fdb0580ffd8fe62afcf8df65a848cd691f49796f7b4090fca07edf8d554571822021-03-07 0:11:5199 days 18 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x5952379fdb0580ffd8fe62afcf8df65a848cd691f49796f7b4090fca07edf8d554571822021-03-07 0:11:5199 days 18 hrs ago PancakeSwap: Router 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xbdff08209ab206cfd091af337dc09b38a3ae07be684f250f132b4bbaba8d996254549442021-03-06 22:19:5799 days 20 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xbdff08209ab206cfd091af337dc09b38a3ae07be684f250f132b4bbaba8d996254549442021-03-06 22:19:5799 days 20 hrs ago PancakeSwap: Router 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7344be547bf6b9616a2dbc79af47a03993920e94ded7afc9ceef362bfc53586254548642021-03-06 22:15:5799 days 20 hrs ago PancakeSwap: Router 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7344be547bf6b9616a2dbc79af47a03993920e94ded7afc9ceef362bfc53586254548642021-03-06 22:15:5799 days 20 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7344be547bf6b9616a2dbc79af47a03993920e94ded7afc9ceef362bfc53586254548642021-03-06 22:15:5799 days 20 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7344be547bf6b9616a2dbc79af47a03993920e94ded7afc9ceef362bfc53586254548642021-03-06 22:15:5799 days 20 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xe1477e127a8d8ef927f0e207a14fdef7c17fc4f0c8423f58ce7ff42780059ef954519312021-03-06 19:49:1899 days 23 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xe1477e127a8d8ef927f0e207a14fdef7c17fc4f0c8423f58ce7ff42780059ef954519312021-03-06 19:49:1899 days 23 hrs ago PancakeSwap: Router 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7df169760373db6aeda2723af94d8915c562ef5a71aa75395e13192eaa9d41c354518602021-03-06 19:45:4599 days 23 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0x7df169760373db6aeda2723af94d8915c562ef5a71aa75395e13192eaa9d41c354518602021-03-06 19:45:4599 days 23 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xc022a8a12f74758d6bd48f54ab6621e3d171555922adc803b50ec31e10bf9e0f54470242021-03-06 15:42:39100 days 3 hrs ago PancakeSwap: BFM 3 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
0xc022a8a12f74758d6bd48f54ab6621e3d171555922adc803b50ec31e10bf9e0f54470242021-03-06 15:42:39100 days 3 hrs ago PancakeSwap: Router 0x38cff5cb6e2a5834f7f48eeb5d7263abef2e22550 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BitUnitsFermium

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 5: Bitunits.sol
// 0.5.1-c8a2
// Enable optimization
pragma solidity ^0.5.0;

import "./ERC20.sol";
import "./ERC20Detailed.sol";

/**
 * @title SimpleToken
 * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.
 * Note they can later distribute these tokens as they wish using `transfer` and other
 * `ERC20` functions.
 */
contract BitUnitsFermium is ERC20, ERC20Detailed {

    /**
     * @dev Constructor that gives msg.sender all of existing tokens.
     */
    constructor () public ERC20Detailed("BitUnits Fermium", "BFM", 18) {
        _mint(msg.sender, 100 * (10 ** uint256(decimals())));
    }
}

File 2 of 5: ERC20.sol
pragma solidity ^0.5.0;

import "./IERC20.sol";
import "./SafeMath.sol";

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20Mintable}.
 *
 * 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 IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

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

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view 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 returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        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 `value`.
     * - the caller must have allowance for `sender`'s tokens of at least
     * `amount`.
     */
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(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 returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(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 returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(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 {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(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 {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(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 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is 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 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Destoys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     *
     * See {_burn} and {_approve}.
     */
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }
}

File 3 of 5: ERC20Detailed.sol
pragma solidity ^0.5.0;

import "./IERC20.sol";

/**
 * @dev Optional functions from the ERC20 standard.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

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

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


File 4 of 5: IERC20.sol
pragma solidity ^0.5.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
 * the optional functions; to access them see {ERC20Detailed}.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 5 of 5: SafeMath.sol
pragma solidity ^0.5.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b50604080518082018252601081527f426974556e697473204665726d69756d000000000000000000000000000000006020808301918252835180850190945260038085527f42464d0000000000000000000000000000000000000000000000000000000000918501919091528251929392601292620000919291620002a2565b508151620000a7906004906020850190620002a2565b506005805460ff191660ff9290921691909117905550620000f5905033620000d7640100000000620000fb810204565b60ff16600a0a60640262000105640100000000026401000000009004565b62000344565b60055460ff165b90565b600160a060020a03821615156200017d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546200019a90826401000000006200091c6200022682021704565b600255600160a060020a038216600090815260208190526040902054620001d090826401000000006200091c6200022682021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828201838110156200029b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e557805160ff191683800117855562000315565b8280016001018555821562000315579182015b8281111562000315578251825591602001919060010190620002f8565b506200032392915062000327565b5090565b6200010291905b808211156200032357600081556001016200032e565b6109ac80620003546000396000f3fe6080604052600436106100ae5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100b3578063095ea7b31461013d57806318160ddd1461018a57806323b872dd146101b1578063313ce567146101f4578063395093511461021f57806370a082311461025857806395d89b411461028b578063a457c2d7146102a0578063a9059cbb146102d9578063dd62ed3e14610312575b600080fd5b3480156100bf57600080fd5b506100c861034d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101025781810151838201526020016100ea565b50505050905090810190601f16801561012f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561014957600080fd5b506101766004803603604081101561016057600080fd5b50600160a060020a0381351690602001356103e3565b604080519115158252519081900360200190f35b34801561019657600080fd5b5061019f6103f9565b60408051918252519081900360200190f35b3480156101bd57600080fd5b50610176600480360360608110156101d457600080fd5b50600160a060020a038135811691602081013590911690604001356103ff565b34801561020057600080fd5b50610209610456565b6040805160ff9092168252519081900360200190f35b34801561022b57600080fd5b506101766004803603604081101561024257600080fd5b50600160a060020a03813516906020013561045f565b34801561026457600080fd5b5061019f6004803603602081101561027b57600080fd5b5035600160a060020a031661049b565b34801561029757600080fd5b506100c86104b6565b3480156102ac57600080fd5b50610176600480360360408110156102c357600080fd5b50600160a060020a038135169060200135610517565b3480156102e557600080fd5b50610176600480360360408110156102fc57600080fd5b50600160a060020a038135169060200135610553565b34801561031e57600080fd5b5061019f6004803603604081101561033557600080fd5b50600160a060020a0381358116916020013516610560565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d95780601f106103ae576101008083540402835291602001916103d9565b820191906000526020600020905b8154815290600101906020018083116103bc57829003601f168201915b5050505050905090565b60006103f033848461058b565b50600192915050565b60025490565b600061040c8484846106f8565b600160a060020a03841660009081526001602090815260408083203380855292529091205461044c918691610447908663ffffffff6108bc16565b61058b565b5060019392505050565b60055460ff1690565b336000818152600160209081526040808320600160a060020a038716845290915281205490916103f0918590610447908663ffffffff61091c16565b600160a060020a031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103d95780601f106103ae576101008083540402835291602001916103d9565b336000818152600160209081526040808320600160a060020a038716845290915281205490916103f0918590610447908663ffffffff6108bc16565b60006103f03384846106f8565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600160a060020a0383161515610610576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610696576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600160a060020a038316151561077e576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610804576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03831660009081526020819052604090205461082d908263ffffffff6108bc16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610862908263ffffffff61091c16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610916576040805160e560020a62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610979576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea165627a7a723058204519a72298cd1160423f72ebc696074e152711ac7b5c3e192b4ad0661fb83d7a0029

Deployed ByteCode Sourcemap

345:280:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:81:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;644:81:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2448:145:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2448:145:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2448:145:1;;;;;;;;;;;;;;;;;;;;;;;;;;;1509:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1509:89:1;;;;;;;;;;;;;;;;;;;;3050:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3050:252:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3050:252:1;;;;;;;;;;;;;;;;;;1472:81:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1472:81:2;;;;;;;;;;;;;;;;;;;;;;;3697:203:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3697:203:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3697:203:1;;;;;;;;;1656:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1656:108:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1656:108:1;-1:-1:-1;;;;;1656:108:1;;;838:85:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:85:2;;;;4387:213:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4387:213:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4387:213:1;;;;;;;;;1967:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1967:153:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1967:153:1;;;;;;;;;2178:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2178:132:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2178:132:1;;;;;;;;;;;644:81:2;713:5;706:12;;;;;;;;-1:-1:-1;;706:12:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;681:13;;706:12;;713:5;;706:12;;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2448:145:1:-;2513:4;2529:36;2538:10;2550:7;2559:5;2529:8;:36::i;:::-;-1:-1:-1;2582:4:1;2448:145;;;;:::o;1509:89::-;1579:12;;1509:89;:::o;3050:252::-;3139:4;3155:36;3165:6;3173:9;3184:6;3155:9;:36::i;:::-;-1:-1:-1;;;;;3230:19:1;;;;;;:11;:19;;;;;;;;3218:10;3230:31;;;;;;;;;3201:73;;3210:6;;3230:43;;3266:6;3230:43;:35;:43;:::i;:::-;3201:8;:73::i;:::-;-1:-1:-1;3291:4:1;3050:252;;;;;:::o;1472:81:2:-;1537:9;;;;1472:81;:::o;3697:203:1:-;3802:10;3777:4;3823:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3823:32:1;;;;;;;;;;3777:4;;3793:79;;3814:7;;3823:48;;3860:10;3823:48;:36;:48;:::i;1656:108::-;-1:-1:-1;;;;;1739:18:1;1713:7;1739:18;;;;;;;;;;;;1656:108::o;838:85:2:-;909:7;902:14;;;;;;;;-1:-1:-1;;902:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:13;;902:14;;909:7;;902:14;;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;4387:213:1;4497:10;4472:4;4518:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4518:32:1;;;;;;;;;;4472:4;;4488:84;;4509:7;;4518:53;;4555:15;4518:53;:36;:53;:::i;1967:153::-;2036:4;2052:40;2062:10;2074:9;2085:6;2052:9;:40::i;2178:132::-;-1:-1:-1;;;;;2276:18:1;;;2250:7;2276:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2178:132::o;7113:329::-;-1:-1:-1;;;;;7205:19:1;;;;7197:68;;;;;-1:-1:-1;;;;;7197:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7283:21:1;;;;7275:68;;;;;-1:-1:-1;;;;;7275:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7354:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;7404:31;;;;;;;;;;;;;;;;;7113:329;;;:::o;5074:422::-;-1:-1:-1;;;;;5171:20:1;;;;5163:70;;;;;-1:-1:-1;;;;;5163:70:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5251:23:1;;;;5243:71;;;;;-1:-1:-1;;;;;5243:71:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5345:17:1;;:9;:17;;;;;;;;;;;:29;;5367:6;5345:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;5325:17:1;;;:9;:17;;;;;;;;;;;:49;;;;5407:20;;;;;;;:32;;5432:6;5407:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5384:20:1;;;:9;:20;;;;;;;;;;;;:55;;;;5454:35;;;;;;;5384:20;;5454:35;;;;;;;;;;;;;5074:422;;;:::o;1274:179:4:-;1332:7;1359:6;;;;1351:49;;;;;-1:-1:-1;;;;;1351:49:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:4;;;1274:179::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;938:46:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:4:o

Swarm Source

bzzr://4519a72298cd1160423f72ebc696074e152711ac7b5c3e192b4ad0661fb83d7a
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.