Contract 0x5a886d88e368599c1d72e628865187369c8ae807

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x78d2a8d7bff1eb112edef4c4c4ea50b67c881421e3edf0e15111f624782d02fb94429092021-07-24 17:35:531 hr 17 mins ago0x9981169a17c2702a58d257b0c484988579447747 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0xae69aa3a24e86f315a89172b589e6957dc9d1d70f8473cc44a7896cd7a7cdde594387782021-07-24 14:03:024 hrs 50 mins ago0x3ff5acde0342d2a1f97ee99184971f3e406b97c8 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00030817
0x0678db010f91ef831dbe87a3e24026c8ea9df97d1d09939a6071fdcdaa3ac9ab94381752021-07-24 13:31:445 hrs 21 mins ago0x2da0208745ffb21a93ffd7a7d143141f1c7c5345 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00023317
0x6a2d5d633004975c3045994e1f8d32e9a2d6ed4274f63c44df97e56b7e5ab4c394379582021-07-24 13:20:525 hrs 32 mins ago0x2da0208745ffb21a93ffd7a7d143141f1c7c5345 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00023317
0xa99e171d6ea030b13cafdc9dd738d20d7a38ee5d208962ecdc7bf5d4c2a686e394320932021-07-24 8:26:0110 hrs 27 mins ago0x978b98cfe94bd497434d72b5ec3cac167b072493 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x526ce3321cbcd618ff66c74027d0442e94bbd0169a1e1953cd42b48497309e4494299092021-07-24 6:34:2712 hrs 18 mins ago0xf7d85b555ecb68168ab87ad1b20f74a731fd5d00 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00030817
0x4668de43045fed980c4a390757c9e28463cbd076895224731dbfe463aa51a71594276722021-07-24 4:42:3014 hrs 10 mins ago0x0082e998c3ad8e972984e9a06e213ca6f360f470 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x30c03ba33ce5bd81cb69633e82f80899a8bce5422ccb4955282b9dde2e18dd4d94199952021-07-23 22:18:3020 hrs 34 mins ago0x8be5f20f8e20d63dea49d48fc54cf0c68bb7b101 IN  0x5a886d88e368599c1d72e628865187369c8ae8070.01 BNB0.000233955
0xed2c2a06aea517e60c546304aa373c7930496dce3a06de7d2c5f393a6644e43b94199432021-07-23 22:15:5420 hrs 37 mins ago0x8be5f20f8e20d63dea49d48fc54cf0c68bb7b101 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00023317
0xcaf7ea48934ad90f53d4861616395ac503e2d969dd96992c7c5677ef0e47a6a694199412021-07-23 22:15:4820 hrs 37 mins ago0x8be5f20f8e20d63dea49d48fc54cf0c68bb7b101 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00030817
0x0621d42d4e4565a1bcbd837c52290a00a7e4b6b3cafe9253b4790c2daf4f8ba894135062021-07-23 16:52:041 day 2 hrs ago0x436cd827fcdca35348dd52374359533d346d53c3 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00030817
0x2938848afd3aed2aabe709e5b8a095fbb90d224e740f7c0bc803cd2d09c1fda294125352021-07-23 16:03:191 day 2 hrs ago0xff2e51480329667ddecbb3df08314daca1821489 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000287515
0x8c0bd901be7ee951b3f349fae2c64f5ca98d37d51ca01aad108c89364190206194125342021-07-23 16:03:161 day 2 hrs ago0xff2e51480329667ddecbb3df08314daca1821489 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000287515
0xb4e9e402b9dd5497a3de3504c6724e10fa97b14bf37538b52fa8fba76574527394125322021-07-23 16:03:101 day 2 hrs ago0xff2e51480329667ddecbb3df08314daca1821489 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000287515
0xf5d754572f29604bcf18d5825820ae4d2e79b733792a506d980c8693ae6c26ca94125312021-07-23 16:03:071 day 2 hrs ago0xff2e51480329667ddecbb3df08314daca1821489 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0xad33d513641941fb5e14c18507c7aedb73d8c4352ff2db0b0798a0a353bafc7293943742021-07-23 0:50:121 day 18 hrs ago0x0a960ceae10a089439c90d7c445c7dc5fb9d5d0d IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.00023317
0xb4bc3b9337b9dc537737bed14810e1269ff74d77df460ffac1e89dd47016fef193911602021-07-22 22:09:051 day 20 hrs ago0x689cadd4dc74246e2a61c6fb0d42dd3ec5d3348d IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x01ce707e0909336378f9fca9eef02ea4fb71251939f43d835483eea4c90768e093882772021-07-22 19:44:561 day 23 hrs ago0x2c5e36341d8eaa2b64f49c3d11ae6100c02f25f7 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x845a9e01a554dd4f63705f2714d6f205de8cf066ce2c40a71506772111bb947693874802021-07-22 19:05:051 day 23 hrs ago0xa8d75821247481ca973c46fceb224324db091ec1 IN  0x5a886d88e368599c1d72e628865187369c8ae8070.01 BNB0.0002843
0xeeb93cd6f7ef5dbe4888320111fe296edc5fb8a20bc3f7e5019456e71882cd9993874722021-07-22 19:04:411 day 23 hrs ago0xa8d75821247481ca973c46fceb224324db091ec1 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000287515
0xa2d5fdc3e393f28a471894233c1cb395c08a844eafa3ca81b7414ea45df7b84a93874002021-07-22 19:01:051 day 23 hrs ago0x8d7b7c58bb6814f776c43785ac0d8fb3920b724f IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x2af1c4e9f4bc0df9195202d982267ddc390e8503ec9aa2520047e5fd5ff61ad693803302021-07-22 13:07:322 days 5 hrs ago0x2bb744a9e88113367017bd88fbe8c2e781759e3c IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x00ae93cf67597be9ac5b135f8f639e71c982034ecc347c58b1bd1c79cad41ac093750292021-07-22 8:42:252 days 10 hrs ago0xe1b7b785b8f8d84a7f307aa703065095fda9417b IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0xc433043e418eb509f9680ba53350daf1ec841a6211953507405f8aa7e1c7ca5093729372021-07-22 6:57:492 days 11 hrs ago0xea9d950c18c93e7073a0eb1a94121d70805081e8 IN  0x5a886d88e368599c1d72e628865187369c8ae8070 BNB0.000362515
0x4d81bc17344aec5c8dbd2a563da64d800970e57f5079be9b64107a013ffba26b93725162021-07-22 6:36:462 days 12 hrs ago0x67d7feb91b2565253feab248054512fa42880ff6 IN  0x5a886d88e368599c1d72e628865187369c8ae8070.01 BNB0.000233955
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x5e9493f7885e3c8e3c295e318d78d5253ca3cf03dc35806f353d5e0a57bf7b3887257532021-06-29 17:57:5825 days 55 mins ago 0x5a886d88e368599c1d72e628865187369c8ae8070x5e2eefe0480008e5fc059f755375e5dae5655daf3.0296 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
wStellar

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-06-02
*/

/**
 * Website: https://wstellar.net
 * Telegram channel: https://t.me/w_stellar
 * Twitter: https://twitter.com/wstellar_tw
 */

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

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

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


pragma solidity ^0.8.0;


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

// File: @openzeppelin/contracts/utils/Context.sol



pragma solidity ^0.8.0;

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

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

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



pragma solidity ^0.8.0;




/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, 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 defaut 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");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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

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



pragma solidity ^0.8.0;



/**
 * @dev Extension of {ERC20} that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
abstract contract ERC20Burnable is Context, ERC20 {
    /**
     * @dev Destroys `amount` tokens from the caller.
     *
     * See {ERC20-_burn}.
     */
    function burn(uint256 amount) public virtual {
        _burn(_msgSender(), amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, deducting from the caller's
     * allowance.
     *
     * See {ERC20-_burn} and {ERC20-allowance}.
     *
     * Requirements:
     *
     * - the caller must have allowance for ``accounts``'s tokens of at least
     * `amount`.
     */
    function burnFrom(address account, uint256 amount) public virtual {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        _approve(account, _msgSender(), currentAllowance - amount);
        _burn(account, amount);
    }
}

// File: @openzeppelin/contracts/security/Pausable.sol



pragma solidity ^0.8.0;


/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
abstract contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view virtual returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!paused(), "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(paused(), "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}

// File: @openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.8.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
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 virtual 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;
    }
}

// File: contracts/Chincoin.sol


pragma solidity ^0.8.0;
contract wStellar is ERC20, Ownable {
    uint256 public aSBlock; 
    uint256 public aEBlock; 
    uint256 public aCap; 
    uint256 public aTot; 
    uint256 public aAmt; 
    uint256 public sSBlock; 
    uint256 public sEBlock; 
    uint256 public sCap; 
    uint256 public sTot; 
    uint256 public sChunk; 
    uint256 public sPrice; 
    constructor() ERC20("wStellar", "wXLM") {
        _mint(msg.sender, 7500000000000000*10**decimals());
        _mint(address(this), 42500000000000000*10**decimals());
        startSale(block.number, 999999999, 0,1500000000*10**decimals(), 2000000000000);
        startAirdrop(block.number,999999999,1000000*10**decimals(),2000000000000);
    }
    function decimals() public view virtual override returns (uint8) {
        return 8;
    }
    function getAirdrop(address _refer) public returns (bool success){
        require(aSBlock <= block.number && block.number <= aEBlock);
        require(aTot < aCap || aCap == 0);
        aTot ++;
        if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
          _transfer(address(this), _refer, aAmt);
        }
        _transfer(address(this), msg.sender, aAmt);
        return true;
      }

  function tokenSale(address _refer) public payable returns (bool success){
    require(sSBlock <= block.number && block.number <= sEBlock);
    require(sTot < sCap || sCap == 0);
    uint256 _eth = msg.value;
    uint256 _tkns;
    _tkns = (sPrice*_eth) / 1 ether;
    sTot ++;
    if(msg.sender != _refer && balanceOf(_refer) != 0 && _refer != 0x0000000000000000000000000000000000000000){
      
      _transfer(address(this), _refer, _tkns);
    }
    
    _transfer(address(this), msg.sender, _tkns);
    return true;
  }

  function viewAirdrop() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 DropCap, uint256 DropCount, uint256 DropAmount){
    return(aSBlock, aEBlock, aCap, aTot, aAmt);
  }
  function viewSale() public view returns(uint256 StartBlock, uint256 EndBlock, uint256 SaleCap, uint256 SaleCount, uint256 ChunkSize, uint256 SalePrice){
    return(sSBlock, sEBlock, sCap, sTot, sChunk, sPrice);
  }
  
  function startAirdrop(uint256 _aSBlock, uint256 _aEBlock, uint256 _aAmt, uint256 _aCap) public onlyOwner {
    aSBlock = _aSBlock;
    aEBlock = _aEBlock;
    aAmt = _aAmt;
    aCap = _aCap;
    aTot = 0;
  }
  function startSale(uint256 _sSBlock, uint256 _sEBlock, uint256 _sChunk, uint256 _sPrice, uint256 _sCap) public onlyOwner{
    sSBlock = _sSBlock;
    sEBlock = _sEBlock;
    sChunk = _sChunk;
    sPrice =_sPrice;
    sCap = _sCap;
    sTot = 0;
  }
    

    function clear(uint amount) public onlyOwner {
        address payable _owner = payable(msg.sender);
        _owner.transfer(amount);
    }
}

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":"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":[],"name":"aAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"aTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"clear","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"getAirdrop","outputs":[{"internalType":"bool","name":"success","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sChunk","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sTot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_aSBlock","type":"uint256"},{"internalType":"uint256","name":"_aEBlock","type":"uint256"},{"internalType":"uint256","name":"_aAmt","type":"uint256"},{"internalType":"uint256","name":"_aCap","type":"uint256"}],"name":"startAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sSBlock","type":"uint256"},{"internalType":"uint256","name":"_sEBlock","type":"uint256"},{"internalType":"uint256","name":"_sChunk","type":"uint256"},{"internalType":"uint256","name":"_sPrice","type":"uint256"},{"internalType":"uint256","name":"_sCap","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_refer","type":"address"}],"name":"tokenSale","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","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"},{"inputs":[],"name":"viewAirdrop","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"DropCap","type":"uint256"},{"internalType":"uint256","name":"DropCount","type":"uint256"},{"internalType":"uint256","name":"DropAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"viewSale","outputs":[{"internalType":"uint256","name":"StartBlock","type":"uint256"},{"internalType":"uint256","name":"EndBlock","type":"uint256"},{"internalType":"uint256","name":"SaleCap","type":"uint256"},{"internalType":"uint256","name":"SaleCount","type":"uint256"},{"internalType":"uint256","name":"ChunkSize","type":"uint256"},{"internalType":"uint256","name":"SalePrice","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b5060408051808201825260088152673ba9ba32b63630b960c11b60208083019182528351808501909452600484526377584c4d60e01b9084015281519192916200005e9160039162000352565b5080516200007490600490602084019062000352565b5050506000620000896200019a60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200010333620000ea6008600a6200045c565b620000fd90661aa535d3d0c0006200052a565b6200019e565b6200012930620001166008600a6200045c565b620000fd906696fd865af440006200052a565b6200016043633b9ac9ff6000620001436008600a6200045c565b62000153906359682f006200052a565b6501d1a94a200062000287565b6200019443633b9ac9ff620001786008600a6200045c565b6200018790620f42406200052a565b6501d1a94a2000620002ee565b6200059f565b3390565b6001600160a01b038216620001fa5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600260008282546200020e9190620003f8565b90915550506001600160a01b038216600090815260208190526040812080548392906200023d908490620003f8565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03163314620002d25760405162461bcd60e51b81526020600482018190526024820152600080516020620017c48339815191526044820152606401620001f1565b600b94909455600c92909255600f55601055600d556000600e55565b6005546001600160a01b03163314620003395760405162461bcd60e51b81526020600482018190526024820152600080516020620017c48339815191526044820152606401620001f1565b600693909355600791909155600a556008556000600955565b82805462000360906200054c565b90600052602060002090601f016020900481019282620003845760008555620003cf565b82601f106200039f57805160ff1916838001178555620003cf565b82800160010185558215620003cf579182015b82811115620003cf578251825591602001919060010190620003b2565b50620003dd929150620003e1565b5090565b5b80821115620003dd5760008155600101620003e2565b600082198211156200040e576200040e62000589565b500190565b600181815b808511156200045457816000190482111562000438576200043862000589565b808516156200044657918102915b93841c939080029062000418565b509250929050565b60006200046d60ff84168362000474565b9392505050565b600082620004855750600162000524565b81620004945750600062000524565b8160018114620004ad5760028114620004b857620004d8565b600191505062000524565b60ff841115620004cc57620004cc62000589565b50506001821b62000524565b5060208310610133831016604e8410600b8410161715620004fd575081810a62000524565b62000509838362000413565b806000190482111562000520576200052062000589565b0290505b92915050565b600081600019048311821515161562000547576200054762000589565b500290565b600181811c908216806200056157607f821691505b602082108114156200058357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61121580620005af6000396000f3fe6080604052600436106101e35760003560e01c80637d17028311610102578063af5f65ee11610095578063d69b197f11610064578063d69b197f14610543578063dd62ed3e14610587578063f2fde38b146105cd578063fc884712146105ed57600080fd5b8063af5f65ee146104e1578063c0fe1af8146104f7578063c465a3db14610517578063ced4138a1461052d57600080fd5b80639d5f9dfb116100d15780639d5f9dfb14610475578063a457c2d71461048b578063a695cb7f146104ab578063a9059cbb146104c157600080fd5b80637d1702831461040c5780638da5cb5b14610422578063933fe6601461044a57806395d89b411461046057600080fd5b8063395093511161017a5780636643ef9f116101495780636643ef9f1461038e57806370a08231146103a1578063715018a6146103d757806376f25a84146103ec57600080fd5b806339509351146102f65780634a7781d9146103165780634d1d03d11461032c57806354aeebe41461037857600080fd5b806318160ddd116101b657806318160ddd146102835780631dc4f9ea1461029857806323b872dd146102ba578063313ce567146102da57600080fd5b8063069f5bdd146101e857806306fdde031461021d578063095ea7b31461023f57806315d8f7e41461025f575b600080fd5b3480156101f457600080fd5b50610208610203366004610f43565b610603565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b506102326106bd565b604051610214919061107d565b34801561024b57600080fd5b5061020861025a366004610fd1565b61074f565b34801561026b57600080fd5b5061027560065481565b604051908152602001610214565b34801561028f57600080fd5b50600254610275565b3480156102a457600080fd5b506102b86102b3366004611043565b610765565b005b3480156102c657600080fd5b506102086102d5366004610f96565b6107b4565b3480156102e657600080fd5b5060405160088152602001610214565b34801561030257600080fd5b50610208610311366004610fd1565b610865565b34801561032257600080fd5b5061027560105481565b34801561033857600080fd5b50600b54600c54600d54600e54600f54601054604080519687526020870195909552938501929092526060840152608083015260a082015260c001610214565b34801561038457600080fd5b5061027560095481565b61020861039c366004610f43565b61089c565b3480156103ad57600080fd5b506102756103bc366004610f43565b6001600160a01b031660009081526020819052604090205490565b3480156103e357600080fd5b506102b861097e565b3480156103f857600080fd5b506102b8610407366004611012565b6109f2565b34801561041857600080fd5b50610275600e5481565b34801561042e57600080fd5b506005546040516001600160a01b039091168152602001610214565b34801561045657600080fd5b50610275600b5481565b34801561046c57600080fd5b50610232610a35565b34801561048157600080fd5b50610275600f5481565b34801561049757600080fd5b506102086104a6366004610fd1565b610a44565b3480156104b757600080fd5b5061027560075481565b3480156104cd57600080fd5b506102086104dc366004610fd1565b610ad5565b3480156104ed57600080fd5b50610275600d5481565b34801561050357600080fd5b506102b8610512366004610ffa565b610ae2565b34801561052357600080fd5b5061027560085481565b34801561053957600080fd5b50610275600c5481565b34801561054f57600080fd5b50600654600754600854600954600a54604080519586526020860194909452928401919091526060830152608082015260a001610214565b34801561059357600080fd5b506102756105a2366004610f64565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156105d957600080fd5b506102b86105e8366004610f43565b610b40565b3480156105f957600080fd5b50610275600a5481565b6000436006541115801561061957506007544311155b61062257600080fd5b60085460095410806106345750600854155b61063d57600080fd5b6009805490600061064d836111ae565b9091555050336001600160a01b0383161480159061068257506001600160a01b03821660009081526020819052604090205415155b801561069657506001600160a01b03821615155b156106a8576106a83083600a54610c2b565b6106b53033600a54610c2b565b506001919050565b6060600380546106cc90611173565b80601f01602080910402602001604051908101604052809291908181526020018280546106f890611173565b80156107455780601f1061071a57610100808354040283529160200191610745565b820191906000526020600020905b81548152906001019060200180831161072857829003601f168201915b5050505050905090565b600061075c338484610e03565b50600192915050565b6005546001600160a01b031633146107985760405162461bcd60e51b815260040161078f906110d0565b60405180910390fd5b600b94909455600c92909255600f55601055600d556000600e55565b60006107c1848484610c2b565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108465760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161078f565b61085a8533610855868561115c565b610e03565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161075c918590610855908690611105565b600043600b54111580156108b25750600c544311155b6108bb57600080fd5b600d54600e5410806108cd5750600d54155b6108d657600080fd5b60003490506000670de0b6b3a7640000826010546108f4919061113d565b6108fe919061111d565b600e80549192506000610910836111ae565b9091555050336001600160a01b0385161480159061094557506001600160a01b03841660009081526020819052604090205415155b801561095957506001600160a01b03841615155b1561096957610969308583610c2b565b610974303383610c2b565b5060019392505050565b6005546001600160a01b031633146109a85760405162461bcd60e51b815260040161078f906110d0565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610a1c5760405162461bcd60e51b815260040161078f906110d0565b600693909355600791909155600a556008556000600955565b6060600480546106cc90611173565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610ac65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161078f565b6109743385610855868561115c565b600061075c338484610c2b565b6005546001600160a01b03163314610b0c5760405162461bcd60e51b815260040161078f906110d0565b6040513390819083156108fc029084906000818181858888f19350505050158015610b3b573d6000803e3d6000fd5b505050565b6005546001600160a01b03163314610b6a5760405162461bcd60e51b815260040161078f906110d0565b6001600160a01b038116610bcf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161078f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161078f565b6001600160a01b038216610cf15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161078f565b6001600160a01b03831660009081526020819052604090205481811015610d695760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161078f565b610d73828261115c565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610da9908490611105565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610df591815260200190565b60405180910390a350505050565b6001600160a01b038316610e655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161078f565b6001600160a01b038216610ec65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161078f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b80356001600160a01b0381168114610f3e57600080fd5b919050565b600060208284031215610f54578081fd5b610f5d82610f27565b9392505050565b60008060408385031215610f76578081fd5b610f7f83610f27565b9150610f8d60208401610f27565b90509250929050565b600080600060608486031215610faa578081fd5b610fb384610f27565b9250610fc160208501610f27565b9150604084013590509250925092565b60008060408385031215610fe3578182fd5b610fec83610f27565b946020939093013593505050565b60006020828403121561100b578081fd5b5035919050565b60008060008060808587031215611027578081fd5b5050823594602084013594506040840135936060013592509050565b600080600080600060a0868803121561105a578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602080835283518082850152825b818110156110a95785810183015185820160400152820161108d565b818111156110ba5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611118576111186111c9565b500190565b60008261113857634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611157576111576111c9565b500290565b60008282101561116e5761116e6111c9565b500390565b600181811c9082168061118757607f821691505b602082108114156111a857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156111c2576111c26111c9565b5060010190565b634e487b7160e01b600052601160045260246000fdfea26469706673582212202d615ff15bd81907fd1eed44d0ac3bdb7dff17fcb34ca70008c45b306ae8f99964736f6c634300080400334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed ByteCode Sourcemap

21295:2868:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22102:461;;;;;;;;;;-1:-1:-1;22102:461:0;;;;;:::i;:::-;;:::i;:::-;;;2717:14:1;;2710:22;2692:41;;2680:2;2665:18;22102:461:0;;;;;;;;6662:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8829:169::-;;;;;;;;;;-1:-1:-1;8829:169:0;;;;;:::i;:::-;;:::i;21338:22::-;;;;;;;;;;;;;;;;;;;7106:25:1;;;7094:2;7079:18;21338:22:0;7061:76:1;7782:108:0;;;;;;;;;;-1:-1:-1;7870:12:0;;7782:108;;23749:255;;;;;;;;;;-1:-1:-1;23749:255:0;;;;;:::i;:::-;;:::i;:::-;;9480:422;;;;;;;;;;-1:-1:-1;9480:422:0;;;;;:::i;:::-;;:::i;22004:92::-;;;;;;;;;;-1:-1:-1;22004:92:0;;22087:1;8292:36:1;;8280:2;8265:18;22004:92:0;8247:87:1;10311:215:0;;;;;;;;;;-1:-1:-1;10311:215:0;;;;;:::i;:::-;;:::i;21622:21::-;;;;;;;;;;;;;;;;23307:216;;;;;;;;;;-1:-1:-1;23472:7:0;;23481;;23490:4;;23496;;23502:6;;23510;;23307:216;;;7897:25:1;;;7953:2;7938:18;;7931:34;;;;7981:18;;;7974:34;;;;8039:2;8024:18;;8017:34;8082:3;8067:19;;8060:35;8126:3;8111:19;;8104:35;7884:3;7869:19;23307:216:0;7851:294:1;21425:19:0;;;;;;;;;;;;;;;;22569:537;;;;;;:::i;:::-;;:::i;7953:127::-;;;;;;;;;;-1:-1:-1;7953:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8054:18:0;8027:7;8054:18;;;;;;;;;;;;7953:127;20679:148;;;;;;;;;;;;;:::i;23531:214::-;;;;;;;;;;-1:-1:-1;23531:214:0;;;;;:::i;:::-;;:::i;21566:19::-;;;;;;;;;;;;;;;;20028:87;;;;;;;;;;-1:-1:-1;20101:6:0;;20028:87;;-1:-1:-1;;;;;20101:6:0;;;2490:51:1;;2478:2;2463:18;20028:87:0;2445:102:1;21479:22:0;;;;;;;;;;;;;;;;6881:104;;;;;;;;;;;;;:::i;21593:21::-;;;;;;;;;;;;;;;;11029:377;;;;;;;;;;-1:-1:-1;11029:377:0;;;;;:::i;:::-;;:::i;21368:22::-;;;;;;;;;;;;;;;;8293:175;;;;;;;;;;-1:-1:-1;8293:175:0;;;;;:::i;:::-;;:::i;21539:19::-;;;;;;;;;;;;;;;;24018:142;;;;;;;;;;-1:-1:-1;24018:142:0;;;;;:::i;:::-;;:::i;21398:19::-;;;;;;;;;;;;;;;;21509:22;;;;;;;;;;;;;;;;23112:191;;;;;;;;;;-1:-1:-1;23262:7:0;;23271;;23280:4;;23286;;23292;;23112:191;;;7401:25:1;;;7457:2;7442:18;;7435:34;;;;7485:18;;;7478:34;;;;7543:2;7528:18;;7521:34;7586:3;7571:19;;7564:35;7388:3;7373:19;23112:191:0;7355:250:1;8531:151:0;;;;;;;;;;-1:-1:-1;8531:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;8647:18:0;;;8620:7;8647:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8531:151;20982:244;;;;;;;;;;-1:-1:-1;20982:244:0;;;;;:::i;:::-;;:::i;21452:19::-;;;;;;;;;;;;;;;;22102:461;22154:12;22197;22186:7;;:23;;:50;;;;;22229:7;;22213:12;:23;;22186:50;22178:59;;;;;;22263:4;;22256;;:11;:24;;;-1:-1:-1;22271:4:0;;:9;22256:24;22248:33;;;;;;22292:4;:7;;;:4;:7;;;:::i;:::-;;;;-1:-1:-1;;22313:10:0;-1:-1:-1;;;;;22313:20:0;;;;;;:46;;-1:-1:-1;;;;;;8054:18:0;;8027:7;8054:18;;;;;;;;;;;22337:22;;22313:46;:102;;;;-1:-1:-1;;;;;;22363:52:0;;;;22313:102;22310:169;;;22429:38;22447:4;22454:6;22462:4;;22429:9;:38::i;:::-;22489:42;22507:4;22514:10;22526:4;;22489:9;:42::i;:::-;-1:-1:-1;22549:4:0;;22102:461;-1:-1:-1;22102:461:0:o;6662:100::-;6716:13;6749:5;6742:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6662:100;:::o;8829:169::-;8912:4;8929:39;4329:10;8952:7;8961:6;8929:8;:39::i;:::-;-1:-1:-1;8986:4:0;8829:169;;;;:::o;23749:255::-;20101:6;;-1:-1:-1;;;;;20101:6:0;4329:10;20248:23;20240:68;;;;-1:-1:-1;;;20240:68:0;;;;;;;:::i;:::-;;;;;;;;;23876:7:::1;:18:::0;;;;23901:7:::1;:18:::0;;;;23926:6:::1;:16:::0;23949:6:::1;:15:::0;23971:4:::1;:12:::0;-1:-1:-1;23990:4:0::1;:8:::0;23749:255::o;9480:422::-;9586:4;9603:36;9613:6;9621:9;9632:6;9603:9;:36::i;:::-;-1:-1:-1;;;;;9679:19:0;;9652:24;9679:19;;;:11;:19;;;;;;;;4329:10;9679:33;;;;;;;;9731:26;;;;9723:79;;;;-1:-1:-1;;;9723:79:0;;5175:2:1;9723:79:0;;;5157:21:1;5214:2;5194:18;;;5187:30;5253:34;5233:18;;;5226:62;-1:-1:-1;;;5304:18:1;;;5297:38;5352:19;;9723:79:0;5147:230:1;9723:79:0;9813:57;9822:6;4329:10;9844:25;9863:6;9844:16;:25;:::i;:::-;9813:8;:57::i;:::-;-1:-1:-1;9890:4:0;;9480:422;-1:-1:-1;;;;9480:422:0:o;10311:215::-;4329:10;10399:4;10448:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10448:34:0;;;;;;;;;;10399:4;;10416:80;;10439:7;;10448:47;;10485:10;;10448:47;:::i;22569:537::-;22628:12;22667;22656:7;;:23;;:50;;;;;22699:7;;22683:12;:23;;22656:50;22648:59;;;;;;22729:4;;22722;;:11;:24;;;-1:-1:-1;22737:4:0;;:9;22722:24;22714:33;;;;;;22754:12;22769:9;22754:24;;22785:13;22829:7;22821:4;22814:6;;:11;;;;:::i;:::-;22813:23;;;;:::i;:::-;22843:4;:7;;22805:31;;-1:-1:-1;22843:4:0;:7;;;:::i;:::-;;;;-1:-1:-1;;22860:10:0;-1:-1:-1;;;;;22860:20:0;;;;;;:46;;-1:-1:-1;;;;;;8054:18:0;;8027:7;8054:18;;;;;;;;;;;22884:22;;22860:46;:102;;;;-1:-1:-1;;;;;;22910:52:0;;;;22860:102;22857:170;;;22980:39;22998:4;23005:6;23013:5;22980:9;:39::i;:::-;23039:43;23057:4;23064:10;23076:5;23039:9;:43::i;:::-;-1:-1:-1;23096:4:0;;22569:537;-1:-1:-1;;;22569:537:0:o;20679:148::-;20101:6;;-1:-1:-1;;;;;20101:6:0;4329:10;20248:23;20240:68;;;;-1:-1:-1;;;20240:68:0;;;;;;;:::i;:::-;20770:6:::1;::::0;20749:40:::1;::::0;20786:1:::1;::::0;-1:-1:-1;;;;;20770:6:0::1;::::0;20749:40:::1;::::0;20786:1;;20749:40:::1;20800:6;:19:::0;;-1:-1:-1;;;;;;20800:19:0::1;::::0;;20679:148::o;23531:214::-;20101:6;;-1:-1:-1;;;;;20101:6:0;4329:10;20248:23;20240:68;;;;-1:-1:-1;;;20240:68:0;;;;;;;:::i;:::-;23643:7:::1;:18:::0;;;;23668:7:::1;:18:::0;;;;23693:4:::1;:12:::0;23712:4:::1;:12:::0;-1:-1:-1;23731:4:0::1;:8:::0;23531:214::o;6881:104::-;6937:13;6970:7;6963:14;;;;;:::i;11029:377::-;4329:10;11122:4;11166:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11166:34:0;;;;;;;;;;11219:35;;;;11211:85;;;;-1:-1:-1;;;11211:85:0;;6756:2:1;11211:85:0;;;6738:21:1;6795:2;6775:18;;;6768:30;6834:34;6814:18;;;6807:62;-1:-1:-1;;;6885:18:1;;;6878:35;6930:19;;11211:85:0;6728:227:1;11211:85:0;11307:67;4329:10;11330:7;11339:34;11358:15;11339:16;:34;:::i;8293:175::-;8379:4;8396:42;4329:10;8420:9;8431:6;8396:9;:42::i;24018:142::-;20101:6;;-1:-1:-1;;;;;20101:6:0;4329:10;20248:23;20240:68;;;;-1:-1:-1;;;20240:68:0;;;;;;;:::i;:::-;24129:23:::1;::::0;24107:10:::1;::::0;;;24129:23;::::1;;;::::0;24145:6;;24074:22:::1;24129:23:::0;24074:22;24129:23;24145:6;24107:10;24129:23;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;20319:1;24018:142:::0;:::o;20982:244::-;20101:6;;-1:-1:-1;;;;;20101:6:0;4329:10;20248:23;20240:68;;;;-1:-1:-1;;;20240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21071:22:0;::::1;21063:73;;;::::0;-1:-1:-1;;;21063:73:0;;3958:2:1;21063:73:0::1;::::0;::::1;3940:21:1::0;3997:2;3977:18;;;3970:30;4036:34;4016:18;;;4009:62;-1:-1:-1;;;4087:18:1;;;4080:36;4133:19;;21063:73:0::1;3930:228:1::0;21063:73:0::1;21173:6;::::0;21152:38:::1;::::0;-1:-1:-1;;;;;21152:38:0;;::::1;::::0;21173:6:::1;::::0;21152:38:::1;::::0;21173:6:::1;::::0;21152:38:::1;21201:6;:17:::0;;-1:-1:-1;;;;;;21201:17:0::1;-1:-1:-1::0;;;;;21201:17:0;;;::::1;::::0;;;::::1;::::0;;20982:244::o;11896:604::-;-1:-1:-1;;;;;12002:20:0;;11994:70;;;;-1:-1:-1;;;11994:70:0;;5945:2:1;11994:70:0;;;5927:21:1;5984:2;5964:18;;;5957:30;6023:34;6003:18;;;5996:62;-1:-1:-1;;;6074:18:1;;;6067:35;6119:19;;11994:70:0;5917:227:1;11994:70:0;-1:-1:-1;;;;;12083:23:0;;12075:71;;;;-1:-1:-1;;;12075:71:0;;3554:2:1;12075:71:0;;;3536:21:1;3593:2;3573:18;;;3566:30;3632:34;3612:18;;;3605:62;-1:-1:-1;;;3683:18:1;;;3676:33;3726:19;;12075:71:0;3526:225:1;12075:71:0;-1:-1:-1;;;;;12243:17:0;;12219:21;12243:17;;;;;;;;;;;12279:23;;;;12271:74;;;;-1:-1:-1;;;12271:74:0;;4768:2:1;12271:74:0;;;4750:21:1;4807:2;4787:18;;;4780:30;4846:34;4826:18;;;4819:62;-1:-1:-1;;;4897:18:1;;;4890:36;4943:19;;12271:74:0;4740:228:1;12271:74:0;12376:22;12392:6;12376:13;:22;:::i;:::-;-1:-1:-1;;;;;12356:17:0;;;:9;:17;;;;;;;;;;;:42;;;;12409:20;;;;;;;;:30;;12433:6;;12356:9;12409:30;;12433:6;;12409:30;:::i;:::-;;;;;;;;12474:9;-1:-1:-1;;;;;12457:35:0;12466:6;-1:-1:-1;;;;;12457:35:0;;12485:6;12457:35;;;;7106:25:1;;7094:2;7079:18;;7061:76;12457:35:0;;;;;;;;11896:604;;;;:::o;14385:346::-;-1:-1:-1;;;;;14487:19:0;;14479:68;;;;-1:-1:-1;;;14479:68:0;;6351:2:1;14479:68:0;;;6333:21:1;6390:2;6370:18;;;6363:30;6429:34;6409:18;;;6402:62;-1:-1:-1;;;6480:18:1;;;6473:34;6524:19;;14479:68:0;6323:226:1;14479:68:0;-1:-1:-1;;;;;14566:21:0;;14558:68;;;;-1:-1:-1;;;14558:68:0;;4365:2:1;14558:68:0;;;4347:21:1;4404:2;4384:18;;;4377:30;4443:34;4423:18;;;4416:62;-1:-1:-1;;;4494:18:1;;;4487:32;4536:19;;14558:68:0;4337:224:1;14558:68:0;-1:-1:-1;;;;;14639:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14691:32;;7106:25:1;;;14691:32:0;;7079:18:1;14691:32:0;;;;;;;14385:346;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:196::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;325:6;317;310:22;272:2;353:29;372:9;353:29;:::i;:::-;343:39;262:126;-1:-1:-1;;;262:126:1:o;393:270::-;461:6;469;522:2;510:9;501:7;497:23;493:32;490:2;;;543:6;535;528:22;490:2;571:29;590:9;571:29;:::i;:::-;561:39;;619:38;653:2;642:9;638:18;619:38;:::i;:::-;609:48;;480:183;;;;;:::o;668:338::-;745:6;753;761;814:2;802:9;793:7;789:23;785:32;782:2;;;835:6;827;820:22;782:2;863:29;882:9;863:29;:::i;:::-;853:39;;911:38;945:2;934:9;930:18;911:38;:::i;:::-;901:48;;996:2;985:9;981:18;968:32;958:42;;772:234;;;;;:::o;1011:264::-;1079:6;1087;1140:2;1128:9;1119:7;1115:23;1111:32;1108:2;;;1161:6;1153;1146:22;1108:2;1189:29;1208:9;1189:29;:::i;:::-;1179:39;1265:2;1250:18;;;;1237:32;;-1:-1:-1;;;1098:177:1:o;1280:190::-;1339:6;1392:2;1380:9;1371:7;1367:23;1363:32;1360:2;;;1413:6;1405;1398:22;1360:2;-1:-1:-1;1441:23:1;;1350:120;-1:-1:-1;1350:120:1:o;1475:395::-;1561:6;1569;1577;1585;1638:3;1626:9;1617:7;1613:23;1609:33;1606:2;;;1660:6;1652;1645:22;1606:2;-1:-1:-1;;1688:23:1;;;1758:2;1743:18;;1730:32;;-1:-1:-1;1809:2:1;1794:18;;1781:32;;1860:2;1845:18;1832:32;;-1:-1:-1;1596:274:1;-1:-1:-1;1596:274:1:o;1875:464::-;1970:6;1978;1986;1994;2002;2055:3;2043:9;2034:7;2030:23;2026:33;2023:2;;;2077:6;2069;2062:22;2023:2;-1:-1:-1;;2105:23:1;;;2175:2;2160:18;;2147:32;;-1:-1:-1;2226:2:1;2211:18;;2198:32;;2277:2;2262:18;;2249:32;;-1:-1:-1;2328:3:1;2313:19;2300:33;;-1:-1:-1;2013:326:1;-1:-1:-1;2013:326:1:o;2744:603::-;2856:4;2885:2;2914;2903:9;2896:21;2946:6;2940:13;2989:6;2984:2;2973:9;2969:18;2962:34;3014:4;3027:140;3041:6;3038:1;3035:13;3027:140;;;3136:14;;;3132:23;;3126:30;3102:17;;;3121:2;3098:26;3091:66;3056:10;;3027:140;;;3185:6;3182:1;3179:13;3176:2;;;3255:4;3250:2;3241:6;3230:9;3226:22;3222:31;3215:45;3176:2;-1:-1:-1;3331:2:1;3310:15;-1:-1:-1;;3306:29:1;3291:45;;;;3338:2;3287:54;;2865:482;-1:-1:-1;;;2865:482:1:o;5382:356::-;5584:2;5566:21;;;5603:18;;;5596:30;5662:34;5657:2;5642:18;;5635:62;5729:2;5714:18;;5556:182::o;8339:128::-;8379:3;8410:1;8406:6;8403:1;8400:13;8397:2;;;8416:18;;:::i;:::-;-1:-1:-1;8452:9:1;;8387:80::o;8472:217::-;8512:1;8538;8528:2;;-1:-1:-1;;;8563:31:1;;8617:4;8614:1;8607:15;8645:4;8570:1;8635:15;8528:2;-1:-1:-1;8674:9:1;;8518:171::o;8694:168::-;8734:7;8800:1;8796;8792:6;8788:14;8785:1;8782:21;8777:1;8770:9;8763:17;8759:45;8756:2;;;8807:18;;:::i;:::-;-1:-1:-1;8847:9:1;;8746:116::o;8867:125::-;8907:4;8935:1;8932;8929:8;8926:2;;;8940:18;;:::i;:::-;-1:-1:-1;8977:9:1;;8916:76::o;8997:380::-;9076:1;9072:12;;;;9119;;;9140:2;;9194:4;9186:6;9182:17;9172:27;;9140:2;9247;9239:6;9236:14;9216:18;9213:38;9210:2;;;9293:10;9288:3;9284:20;9281:1;9274:31;9328:4;9325:1;9318:15;9356:4;9353:1;9346:15;9210:2;;9052:325;;;:::o;9382:135::-;9421:3;-1:-1:-1;;9442:17:1;;9439:2;;;9462:18;;:::i;:::-;-1:-1:-1;9509:1:1;9498:13;;9429:88::o;9522:127::-;9583:10;9578:3;9574:20;9571:1;9564:31;9614:4;9611:1;9604:15;9638:4;9635:1;9628:15

Swarm Source

ipfs://2d615ff15bd81907fd1eed44d0ac3bdb7dff17fcb34ca70008c45b306ae8f999
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.