ETH Price: $3,458.03 (+2.07%)
Gas: 8 Gwei

Token

Dexstream (DXS)
 

Overview

Max Total Supply

100,000,000 DXS

Holders

2,423

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
zeaver.eth
Balance
90 DXS

Value
$0.00
0x49a216d58dc65db1db92405ebdc48fdf945db991
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Dexstream indexes both handled DEX transactions as well as pending transactions.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DEXStreamToken

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-03-19
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.2;


// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.0/contracts/utils/math/SafeMath.sol
// CAUTION - only use with Solidity 0.8 +

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // 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 (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @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) {
        return a + b;
    }

    /**
     * @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) {
        return a - b;
    }

    /**
     * @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) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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) {
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards 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).
     *
     * 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, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.0/contracts/token/ERC20/IERC20.sol
/**
 * @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);
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.0/contracts/utils/Context.sol
/*
 * @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;
    }
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.0/contracts/access/Ownable.sol
/**
 * @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;
    }
}

// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.0/contracts/token/ERC20/ERC20.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 {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20 {
    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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

        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

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

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

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

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

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

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


/**
 * @title DEXStream.io Token
 * @author JP
 * @dev Implementation of the DEXStream.io Token
 */

contract DEXStreamToken is ERC20, Ownable {

    uint256 private _cSBlock; // Claim startblock
    uint256 private _cEBlock; // Claim endblock
    uint256 private _cAmount; // Claim amount
    uint256 private _cCap; // Claim count cap (<1000)
    uint256 private _cCount; // Current claim count

    uint256 private _sSBlock; // Sale startblock
    uint256 private _sEBlock; // Sale endblock
    uint256 private _sTokensPerEth; // amount of tokers to get per eth
    uint256 private _sCap; // Sale count cap
    uint256 private _sCount; // Current sale count

    /**
     * @param name Name of the token
     * @param symbol A symbol to be used as ticker
     * @param initialSupply Initial token supply
     */
    constructor(
        string memory name,
        string memory symbol,
        uint256 initialSupply
    ) ERC20(name, symbol)
    {
    if (initialSupply > 0) {
        _mint(owner(), initialSupply);
    }
    }

    function cSBlock() public view virtual returns (uint256) {
        return _cSBlock;
    }
    function cEBlock() public view virtual returns (uint256) {
        return _cEBlock;
    }
    function cAmount()public view virtual returns (uint256) {
        return _cAmount;
    }
    function cCap() public view virtual returns (uint256) {
        return _cCap;
    }
    function cCount() public view virtual returns (uint256) {
        return _cCount;
    }
    function startClaimPeriod(uint256 startBlock, uint256 endBlock,  uint256 amount,uint256 cap) public onlyOwner() {
        _cSBlock = startBlock;
        _cEBlock = endBlock;
        _cAmount = amount;
        _cCap = cap;
        _cCount = 0;
    }
    function claim(address refer) public returns (bool success){
        require(_cSBlock <= block.number && block.number <= _cEBlock, "Claim period not active");
        require(_cCount < _cCap || _cCap == 0, "All is claimed");
        _cCount ++;
        if(msg.sender != refer && balanceOf(refer) != 0 && refer != 0x0000000000000000000000000000000000000000){
          _transfer(address(this), refer, _cAmount);
        }
        _transfer(address(this), msg.sender, _cAmount);
        return true;
    }
    function viewClaimPeriod() public view returns(uint256 startBlock, uint256 endBlock, uint256 amount, uint256 cap, uint256 count){
        return(_cSBlock, _cEBlock, _cAmount, _cCap,  _cCount);
    }

    function sSBlock() public view virtual returns (uint256) {
        return _sSBlock;
    }
    function sEBlock() public view virtual returns (uint256) {
        return _sEBlock;
    }
    function sTokensPerEth()public view virtual returns (uint256) {
        return _sTokensPerEth;
    }
    function sCap() public view virtual returns (uint256) {
        return _sCap;
    }
    function sCount() public view virtual returns (uint256) {
        return _sCount;
    }

    function startSale(uint256 startBlock, uint256 endBlock, uint256 tokensPerEth,uint256 cap) public onlyOwner() {
        _sSBlock = startBlock;
        _sEBlock = endBlock;
        _sTokensPerEth = tokensPerEth;
        _sCap = cap;
        _sCount = 0;
    }
    function buyTokens() public payable returns (bool success){
        require(_sSBlock <= block.number && block.number <= _sEBlock, "Sale not active");
        require(_sCount < _sCap || _sCap == 0, "Max sale participants reached, sale is over");
        uint256 _eth = msg.value;
        uint256 _tokens;
        _tokens = _eth * _sTokensPerEth;
        require(_tokens <= balanceOf(address(this)), "Insufficient tokens avaialble for eth amount, try with less eth");
        _sCount ++;
        _transfer(address(this), msg.sender, _tokens);
        return true;
     }
    function viewSale() public view returns(uint256 startBlock, uint256 endBlock, uint256 tokensPerEth,uint256 cap, uint256 count){
        return(_sSBlock, _sEBlock, _sTokensPerEth,_sCap, _sCount);
    }
    function withdrawal() public onlyOwner() {
        address payable _owner = payable(msg.sender);
        _owner.transfer(address(this).balance);
    }
    receive() external payable {
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"initialSupply","type":"uint256"}],"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"cAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cEBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"refer","type":"address"}],"name":"claim","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"sCount","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":"sSBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sTokensPerEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"startClaimPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"tokensPerEth","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewClaimPeriod","outputs":[{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"endBlock","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"},{"internalType":"uint256","name":"count","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":"tokensPerEth","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060405162002dcd38038062002dcd833981810160405281019062000037919062000428565b8282816003908051906020019062000051929190620002ef565b5080600490805190602001906200006a929190620002ef565b50505060006200007f6200015360201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060008111156200014a57620001496200013c6200015b60201b60201c565b826200018560201b60201c565b5b50505062000781565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620001f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ef90620004e8565b60405180910390fd5b6200020c60008383620002ea60201b60201c565b806002600082825462000220919062000597565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000277919062000597565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002de91906200050a565b60405180910390a35050565b505050565b828054620002fd9062000634565b90600052602060002090601f0160209004810192826200032157600085556200036d565b82601f106200033c57805160ff19168380011785556200036d565b828001600101855582156200036d579182015b828111156200036c5782518255916020019190600101906200034f565b5b5090506200037c919062000380565b5090565b5b808211156200039b57600081600090555060010162000381565b5090565b6000620003b6620003b08462000550565b62000527565b905082815260208101848484011115620003cf57600080fd5b620003dc848285620005fe565b509392505050565b600082601f830112620003f657600080fd5b8151620004088482602086016200039f565b91505092915050565b600081519050620004228162000767565b92915050565b6000806000606084860312156200043e57600080fd5b600084015167ffffffffffffffff8111156200045957600080fd5b6200046786828701620003e4565b935050602084015167ffffffffffffffff8111156200048557600080fd5b6200049386828701620003e4565b9250506040620004a68682870162000411565b9150509250925092565b6000620004bf601f8362000586565b9150620004cc826200073e565b602082019050919050565b620004e281620005f4565b82525050565b600060208201905081810360008301526200050381620004b0565b9050919050565b6000602082019050620005216000830184620004d7565b92915050565b60006200053362000546565b90506200054182826200066a565b919050565b6000604051905090565b600067ffffffffffffffff8211156200056e576200056d620006fe565b5b62000579826200072d565b9050602081019050919050565b600082825260208201905092915050565b6000620005a482620005f4565b9150620005b183620005f4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005e957620005e8620006a0565b5b828201905092915050565b6000819050919050565b60005b838110156200061e57808201518184015260208101905062000601565b838111156200062e576000848401525b50505050565b600060028204905060018216806200064d57607f821691505b60208210811415620006645762000663620006cf565b5b50919050565b62000675826200072d565b810181811067ffffffffffffffff82111715620006975762000696620006fe565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6200077281620005f4565b81146200077e57600080fd5b50565b61263c80620007916000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063ced4138a11610095578063dd19b8d111610064578063dd19b8d1146106ba578063dd62ed3e146106e9578063f2fde38b14610726578063f9cdc7531461074f576101e3565b8063ced4138a1461062f578063d0febe4c1461065a578063d4e9329214610678578063d931bd941461068f576101e3565b8063a457c2d7116100d1578063a457c2d71461055f578063a9059cbb1461059c578063af5f65ee146105d9578063cea6a9c214610604576101e3565b80638da5cb5b146104b3578063933fe660146104de57806395d89b41146105095780639946f47a14610534576101e3565b806323b872dd1161017a5780634a24edd6116101495780634a24edd6146104075780634d1d03d11461043057806370a082311461045f578063715018a61461049c576101e3565b806323b872dd14610337578063313ce56714610374578063316e59321461039f57806339509351146103ca576101e3565b8063159dc18c116101b6578063159dc18c1461027b57806318160ddd146102a65780631df60eda146102d15780631e83409a146102fa576101e3565b806305271f9e146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61077a565b60405161020a9190611f23565b60405180910390f35b34801561021f57600080fd5b50610228610784565b6040516102359190611d41565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190611a0d565b610816565b6040516102729190611d26565b60405180910390f35b34801561028757600080fd5b50610290610834565b60405161029d9190611f23565b60405180910390f35b3480156102b257600080fd5b506102bb61083e565b6040516102c89190611f23565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190611a49565b610848565b005b34801561030657600080fd5b50610321600480360381019061031c9190611959565b6108ee565b60405161032e9190611d26565b60405180910390f35b34801561034357600080fd5b5061035e600480360381019061035991906119be565b610a55565b60405161036b9190611d26565b60405180910390f35b34801561038057600080fd5b50610389610b56565b6040516103969190611f91565b60405180910390f35b3480156103ab57600080fd5b506103b4610b5f565b6040516103c19190611f23565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611a0d565b610b69565b6040516103fe9190611d26565b60405180910390f35b34801561041357600080fd5b5061042e60048036038101906104299190611a49565b610c15565b005b34801561043c57600080fd5b50610445610cbb565b604051610456959493929190611f3e565b60405180910390f35b34801561046b57600080fd5b5061048660048036038101906104819190611959565b610ce3565b6040516104939190611f23565b60405180910390f35b3480156104a857600080fd5b506104b1610d2b565b005b3480156104bf57600080fd5b506104c8610e68565b6040516104d59190611d0b565b60405180910390f35b3480156104ea57600080fd5b506104f3610e92565b6040516105009190611f23565b60405180910390f35b34801561051557600080fd5b5061051e610e9c565b60405161052b9190611d41565b60405180910390f35b34801561054057600080fd5b50610549610f2e565b6040516105569190611f23565b60405180910390f35b34801561056b57600080fd5b5061058660048036038101906105819190611a0d565b610f38565b6040516105939190611d26565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be9190611a0d565b61102c565b6040516105d09190611d26565b60405180910390f35b3480156105e557600080fd5b506105ee61104a565b6040516105fb9190611f23565b60405180910390f35b34801561061057600080fd5b50610619611054565b6040516106269190611f23565b60405180910390f35b34801561063b57600080fd5b5061064461105e565b6040516106519190611f23565b60405180910390f35b610662611068565b60405161066f9190611d26565b60405180910390f35b34801561068457600080fd5b5061068d61119e565b005b34801561069b57600080fd5b506106a4611269565b6040516106b19190611f23565b60405180910390f35b3480156106c657600080fd5b506106cf611273565b6040516106e0959493929190611f3e565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190611982565b61129b565b60405161071d9190611f23565b60405180910390f35b34801561073257600080fd5b5061074d60048036038101906107489190611959565b611322565b005b34801561075b57600080fd5b506107646114ce565b6040516107719190611f23565b60405180910390f35b6000600954905090565b60606003805461079390612134565b80601f01602080910402602001604051908101604052809291908181526020018280546107bf90612134565b801561080c5780601f106107e15761010080835404028352916020019161080c565b820191906000526020600020905b8154815290600101906020018083116107ef57829003601f168201915b5050505050905090565b600061082a6108236114d8565b84846114e0565b6001905092915050565b6000600a54905090565b6000600254905090565b6108506114d8565b73ffffffffffffffffffffffffffffffffffffffff1661086e610e68565b73ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90611ea3565b60405180910390fd5b836006819055508260078190555081600881905550806009819055506000600a8190555050505050565b6000436006541115801561090457506007544311155b610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a90611e63565b60405180910390fd5b600954600a54108061095757506000600954145b610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d90611e23565b60405180910390fd5b600a60008154809291906109a990612166565b91905055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156109f3575060006109f083610ce3565b14155b8015610a2c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610a3f57610a3e30836008546116ab565b5b610a4c30336008546116ab565b60019050919050565b6000610a628484846116ab565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aad6114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2490611e83565b60405180910390fd5b610b4a85610b396114d8565b8584610b459190612078565b6114e0565b60019150509392505050565b60006012905090565b6000600d54905090565b6000610c0b610b766114d8565b848460016000610b846114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c069190611fc8565b6114e0565b6001905092915050565b610c1d6114d8565b73ffffffffffffffffffffffffffffffffffffffff16610c3b610e68565b73ffffffffffffffffffffffffffffffffffffffff1614610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611ea3565b60405180910390fd5b83600b8190555082600c8190555081600d8190555080600e819055506000600f8190555050505050565b6000806000806000600b54600c54600d54600e54600f54945094509450945094509091929394565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d336114d8565b73ffffffffffffffffffffffffffffffffffffffff16610d51610e68565b73ffffffffffffffffffffffffffffffffffffffff1614610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90611ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600b54905090565b606060048054610eab90612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed790612134565b8015610f245780601f10610ef957610100808354040283529160200191610f24565b820191906000526020600020905b815481529060010190602001808311610f0757829003601f168201915b5050505050905090565b6000600754905090565b60008060016000610f476114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb90611f03565b60405180910390fd5b61102161100f6114d8565b85858461101c9190612078565b6114e0565b600191505092915050565b60006110406110396114d8565b84846116ab565b6001905092915050565b6000600e54905090565b6000600654905090565b6000600c54905090565b600043600b541115801561107e5750600c544311155b6110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611e03565b60405180910390fd5b600e54600f5410806110d157506000600e54145b611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790611e43565b60405180910390fd5b60003490506000600d5482611125919061201e565b905061113030610ce3565b811115611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990611de3565b60405180910390fd5b600f600081548092919061118590612166565b91905055506111953033836116ab565b60019250505090565b6111a66114d8565b73ffffffffffffffffffffffffffffffffffffffff166111c4610e68565b73ffffffffffffffffffffffffffffffffffffffff161461121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190611ea3565b60405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611265573d6000803e3d6000fd5b5050565b6000600f54905090565b6000806000806000600654600754600854600954600a54945094509450945094509091929394565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61132a6114d8565b73ffffffffffffffffffffffffffffffffffffffff16611348610e68565b73ffffffffffffffffffffffffffffffffffffffff161461139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590611ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590611d83565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600854905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790611ee3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b790611da3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169e9190611f23565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171290611ec3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561178b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178290611d63565b60405180910390fd5b61179683838361192a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561181c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181390611dc3565b60405180910390fd5b81816118289190612078565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118b89190611fc8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161191c9190611f23565b60405180910390a350505050565b505050565b60008135905061193e816125d8565b92915050565b600081359050611953816125ef565b92915050565b60006020828403121561196b57600080fd5b60006119798482850161192f565b91505092915050565b6000806040838503121561199557600080fd5b60006119a38582860161192f565b92505060206119b48582860161192f565b9150509250929050565b6000806000606084860312156119d357600080fd5b60006119e18682870161192f565b93505060206119f28682870161192f565b9250506040611a0386828701611944565b9150509250925092565b60008060408385031215611a2057600080fd5b6000611a2e8582860161192f565b9250506020611a3f85828601611944565b9150509250929050565b60008060008060808587031215611a5f57600080fd5b6000611a6d87828801611944565b9450506020611a7e87828801611944565b9350506040611a8f87828801611944565b9250506060611aa087828801611944565b91505092959194509250565b611ab5816120ac565b82525050565b611ac4816120be565b82525050565b6000611ad582611fac565b611adf8185611fb7565b9350611aef818560208601612101565b611af88161220d565b840191505092915050565b6000611b10602383611fb7565b9150611b1b8261221e565b604082019050919050565b6000611b33602683611fb7565b9150611b3e8261226d565b604082019050919050565b6000611b56602283611fb7565b9150611b61826122bc565b604082019050919050565b6000611b79602683611fb7565b9150611b848261230b565b604082019050919050565b6000611b9c603f83611fb7565b9150611ba78261235a565b604082019050919050565b6000611bbf600f83611fb7565b9150611bca826123a9565b602082019050919050565b6000611be2600e83611fb7565b9150611bed826123d2565b602082019050919050565b6000611c05602b83611fb7565b9150611c10826123fb565b604082019050919050565b6000611c28601783611fb7565b9150611c338261244a565b602082019050919050565b6000611c4b602883611fb7565b9150611c5682612473565b604082019050919050565b6000611c6e602083611fb7565b9150611c79826124c2565b602082019050919050565b6000611c91602583611fb7565b9150611c9c826124eb565b604082019050919050565b6000611cb4602483611fb7565b9150611cbf8261253a565b604082019050919050565b6000611cd7602583611fb7565b9150611ce282612589565b604082019050919050565b611cf6816120ea565b82525050565b611d05816120f4565b82525050565b6000602082019050611d206000830184611aac565b92915050565b6000602082019050611d3b6000830184611abb565b92915050565b60006020820190508181036000830152611d5b8184611aca565b905092915050565b60006020820190508181036000830152611d7c81611b03565b9050919050565b60006020820190508181036000830152611d9c81611b26565b9050919050565b60006020820190508181036000830152611dbc81611b49565b9050919050565b60006020820190508181036000830152611ddc81611b6c565b9050919050565b60006020820190508181036000830152611dfc81611b8f565b9050919050565b60006020820190508181036000830152611e1c81611bb2565b9050919050565b60006020820190508181036000830152611e3c81611bd5565b9050919050565b60006020820190508181036000830152611e5c81611bf8565b9050919050565b60006020820190508181036000830152611e7c81611c1b565b9050919050565b60006020820190508181036000830152611e9c81611c3e565b9050919050565b60006020820190508181036000830152611ebc81611c61565b9050919050565b60006020820190508181036000830152611edc81611c84565b9050919050565b60006020820190508181036000830152611efc81611ca7565b9050919050565b60006020820190508181036000830152611f1c81611cca565b9050919050565b6000602082019050611f386000830184611ced565b92915050565b600060a082019050611f536000830188611ced565b611f606020830187611ced565b611f6d6040830186611ced565b611f7a6060830185611ced565b611f876080830184611ced565b9695505050505050565b6000602082019050611fa66000830184611cfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611fd3826120ea565b9150611fde836120ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612013576120126121af565b5b828201905092915050565b6000612029826120ea565b9150612034836120ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561206d5761206c6121af565b5b828202905092915050565b6000612083826120ea565b915061208e836120ea565b9250828210156120a1576120a06121af565b5b828203905092915050565b60006120b7826120ca565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561211f578082015181840152602081019050612104565b8381111561212e576000848401525b50505050565b6000600282049050600182168061214c57607f821691505b602082108114156121605761215f6121de565b5b50919050565b6000612171826120ea565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121a4576121a36121af565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f496e73756666696369656e7420746f6b656e732061766169616c626c6520666f60008201527f722065746820616d6f756e742c207472792077697468206c6573732065746800602082015250565b7f53616c65206e6f74206163746976650000000000000000000000000000000000600082015250565b7f416c6c20697320636c61696d6564000000000000000000000000000000000000600082015250565b7f4d61782073616c65207061727469636970616e747320726561636865642c207360008201527f616c65206973206f766572000000000000000000000000000000000000000000602082015250565b7f436c61696d20706572696f64206e6f7420616374697665000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6125e1816120ac565b81146125ec57600080fd5b50565b6125f8816120ea565b811461260357600080fd5b5056fea2646970667358221220ba76a6682901db1d23c9a856c6c1cb1810bc997a17374c095b73fbba8f29f28664736f6c63430008020033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000000000000000000000000000000000000000000000000000000000000000000944657873747265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034458530000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063ced4138a11610095578063dd19b8d111610064578063dd19b8d1146106ba578063dd62ed3e146106e9578063f2fde38b14610726578063f9cdc7531461074f576101e3565b8063ced4138a1461062f578063d0febe4c1461065a578063d4e9329214610678578063d931bd941461068f576101e3565b8063a457c2d7116100d1578063a457c2d71461055f578063a9059cbb1461059c578063af5f65ee146105d9578063cea6a9c214610604576101e3565b80638da5cb5b146104b3578063933fe660146104de57806395d89b41146105095780639946f47a14610534576101e3565b806323b872dd1161017a5780634a24edd6116101495780634a24edd6146104075780634d1d03d11461043057806370a082311461045f578063715018a61461049c576101e3565b806323b872dd14610337578063313ce56714610374578063316e59321461039f57806339509351146103ca576101e3565b8063159dc18c116101b6578063159dc18c1461027b57806318160ddd146102a65780631df60eda146102d15780631e83409a146102fa576101e3565b806305271f9e146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61077a565b60405161020a9190611f23565b60405180910390f35b34801561021f57600080fd5b50610228610784565b6040516102359190611d41565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190611a0d565b610816565b6040516102729190611d26565b60405180910390f35b34801561028757600080fd5b50610290610834565b60405161029d9190611f23565b60405180910390f35b3480156102b257600080fd5b506102bb61083e565b6040516102c89190611f23565b60405180910390f35b3480156102dd57600080fd5b506102f860048036038101906102f39190611a49565b610848565b005b34801561030657600080fd5b50610321600480360381019061031c9190611959565b6108ee565b60405161032e9190611d26565b60405180910390f35b34801561034357600080fd5b5061035e600480360381019061035991906119be565b610a55565b60405161036b9190611d26565b60405180910390f35b34801561038057600080fd5b50610389610b56565b6040516103969190611f91565b60405180910390f35b3480156103ab57600080fd5b506103b4610b5f565b6040516103c19190611f23565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190611a0d565b610b69565b6040516103fe9190611d26565b60405180910390f35b34801561041357600080fd5b5061042e60048036038101906104299190611a49565b610c15565b005b34801561043c57600080fd5b50610445610cbb565b604051610456959493929190611f3e565b60405180910390f35b34801561046b57600080fd5b5061048660048036038101906104819190611959565b610ce3565b6040516104939190611f23565b60405180910390f35b3480156104a857600080fd5b506104b1610d2b565b005b3480156104bf57600080fd5b506104c8610e68565b6040516104d59190611d0b565b60405180910390f35b3480156104ea57600080fd5b506104f3610e92565b6040516105009190611f23565b60405180910390f35b34801561051557600080fd5b5061051e610e9c565b60405161052b9190611d41565b60405180910390f35b34801561054057600080fd5b50610549610f2e565b6040516105569190611f23565b60405180910390f35b34801561056b57600080fd5b5061058660048036038101906105819190611a0d565b610f38565b6040516105939190611d26565b60405180910390f35b3480156105a857600080fd5b506105c360048036038101906105be9190611a0d565b61102c565b6040516105d09190611d26565b60405180910390f35b3480156105e557600080fd5b506105ee61104a565b6040516105fb9190611f23565b60405180910390f35b34801561061057600080fd5b50610619611054565b6040516106269190611f23565b60405180910390f35b34801561063b57600080fd5b5061064461105e565b6040516106519190611f23565b60405180910390f35b610662611068565b60405161066f9190611d26565b60405180910390f35b34801561068457600080fd5b5061068d61119e565b005b34801561069b57600080fd5b506106a4611269565b6040516106b19190611f23565b60405180910390f35b3480156106c657600080fd5b506106cf611273565b6040516106e0959493929190611f3e565b60405180910390f35b3480156106f557600080fd5b50610710600480360381019061070b9190611982565b61129b565b60405161071d9190611f23565b60405180910390f35b34801561073257600080fd5b5061074d60048036038101906107489190611959565b611322565b005b34801561075b57600080fd5b506107646114ce565b6040516107719190611f23565b60405180910390f35b6000600954905090565b60606003805461079390612134565b80601f01602080910402602001604051908101604052809291908181526020018280546107bf90612134565b801561080c5780601f106107e15761010080835404028352916020019161080c565b820191906000526020600020905b8154815290600101906020018083116107ef57829003601f168201915b5050505050905090565b600061082a6108236114d8565b84846114e0565b6001905092915050565b6000600a54905090565b6000600254905090565b6108506114d8565b73ffffffffffffffffffffffffffffffffffffffff1661086e610e68565b73ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90611ea3565b60405180910390fd5b836006819055508260078190555081600881905550806009819055506000600a8190555050505050565b6000436006541115801561090457506007544311155b610943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093a90611e63565b60405180910390fd5b600954600a54108061095757506000600954145b610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d90611e23565b60405180910390fd5b600a60008154809291906109a990612166565b91905055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156109f3575060006109f083610ce3565b14155b8015610a2c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610a3f57610a3e30836008546116ab565b5b610a4c30336008546116ab565b60019050919050565b6000610a628484846116ab565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aad6114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2490611e83565b60405180910390fd5b610b4a85610b396114d8565b8584610b459190612078565b6114e0565b60019150509392505050565b60006012905090565b6000600d54905090565b6000610c0b610b766114d8565b848460016000610b846114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c069190611fc8565b6114e0565b6001905092915050565b610c1d6114d8565b73ffffffffffffffffffffffffffffffffffffffff16610c3b610e68565b73ffffffffffffffffffffffffffffffffffffffff1614610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890611ea3565b60405180910390fd5b83600b8190555082600c8190555081600d8190555080600e819055506000600f8190555050505050565b6000806000806000600b54600c54600d54600e54600f54945094509450945094509091929394565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d336114d8565b73ffffffffffffffffffffffffffffffffffffffff16610d51610e68565b73ffffffffffffffffffffffffffffffffffffffff1614610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90611ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600b54905090565b606060048054610eab90612134565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed790612134565b8015610f245780601f10610ef957610100808354040283529160200191610f24565b820191906000526020600020905b815481529060010190602001808311610f0757829003601f168201915b5050505050905090565b6000600754905090565b60008060016000610f476114d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb90611f03565b60405180910390fd5b61102161100f6114d8565b85858461101c9190612078565b6114e0565b600191505092915050565b60006110406110396114d8565b84846116ab565b6001905092915050565b6000600e54905090565b6000600654905090565b6000600c54905090565b600043600b541115801561107e5750600c544311155b6110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b490611e03565b60405180910390fd5b600e54600f5410806110d157506000600e54145b611110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110790611e43565b60405180910390fd5b60003490506000600d5482611125919061201e565b905061113030610ce3565b811115611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990611de3565b60405180910390fd5b600f600081548092919061118590612166565b91905055506111953033836116ab565b60019250505090565b6111a66114d8565b73ffffffffffffffffffffffffffffffffffffffff166111c4610e68565b73ffffffffffffffffffffffffffffffffffffffff161461121a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121190611ea3565b60405180910390fd5b60003390508073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611265573d6000803e3d6000fd5b5050565b6000600f54905090565b6000806000806000600654600754600854600954600a54945094509450945094509091929394565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61132a6114d8565b73ffffffffffffffffffffffffffffffffffffffff16611348610e68565b73ffffffffffffffffffffffffffffffffffffffff161461139e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139590611ea3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590611d83565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600854905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154790611ee3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b790611da3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169e9190611f23565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171290611ec3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561178b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178290611d63565b60405180910390fd5b61179683838361192a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561181c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181390611dc3565b60405180910390fd5b81816118289190612078565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118b89190611fc8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161191c9190611f23565b60405180910390a350505050565b505050565b60008135905061193e816125d8565b92915050565b600081359050611953816125ef565b92915050565b60006020828403121561196b57600080fd5b60006119798482850161192f565b91505092915050565b6000806040838503121561199557600080fd5b60006119a38582860161192f565b92505060206119b48582860161192f565b9150509250929050565b6000806000606084860312156119d357600080fd5b60006119e18682870161192f565b93505060206119f28682870161192f565b9250506040611a0386828701611944565b9150509250925092565b60008060408385031215611a2057600080fd5b6000611a2e8582860161192f565b9250506020611a3f85828601611944565b9150509250929050565b60008060008060808587031215611a5f57600080fd5b6000611a6d87828801611944565b9450506020611a7e87828801611944565b9350506040611a8f87828801611944565b9250506060611aa087828801611944565b91505092959194509250565b611ab5816120ac565b82525050565b611ac4816120be565b82525050565b6000611ad582611fac565b611adf8185611fb7565b9350611aef818560208601612101565b611af88161220d565b840191505092915050565b6000611b10602383611fb7565b9150611b1b8261221e565b604082019050919050565b6000611b33602683611fb7565b9150611b3e8261226d565b604082019050919050565b6000611b56602283611fb7565b9150611b61826122bc565b604082019050919050565b6000611b79602683611fb7565b9150611b848261230b565b604082019050919050565b6000611b9c603f83611fb7565b9150611ba78261235a565b604082019050919050565b6000611bbf600f83611fb7565b9150611bca826123a9565b602082019050919050565b6000611be2600e83611fb7565b9150611bed826123d2565b602082019050919050565b6000611c05602b83611fb7565b9150611c10826123fb565b604082019050919050565b6000611c28601783611fb7565b9150611c338261244a565b602082019050919050565b6000611c4b602883611fb7565b9150611c5682612473565b604082019050919050565b6000611c6e602083611fb7565b9150611c79826124c2565b602082019050919050565b6000611c91602583611fb7565b9150611c9c826124eb565b604082019050919050565b6000611cb4602483611fb7565b9150611cbf8261253a565b604082019050919050565b6000611cd7602583611fb7565b9150611ce282612589565b604082019050919050565b611cf6816120ea565b82525050565b611d05816120f4565b82525050565b6000602082019050611d206000830184611aac565b92915050565b6000602082019050611d3b6000830184611abb565b92915050565b60006020820190508181036000830152611d5b8184611aca565b905092915050565b60006020820190508181036000830152611d7c81611b03565b9050919050565b60006020820190508181036000830152611d9c81611b26565b9050919050565b60006020820190508181036000830152611dbc81611b49565b9050919050565b60006020820190508181036000830152611ddc81611b6c565b9050919050565b60006020820190508181036000830152611dfc81611b8f565b9050919050565b60006020820190508181036000830152611e1c81611bb2565b9050919050565b60006020820190508181036000830152611e3c81611bd5565b9050919050565b60006020820190508181036000830152611e5c81611bf8565b9050919050565b60006020820190508181036000830152611e7c81611c1b565b9050919050565b60006020820190508181036000830152611e9c81611c3e565b9050919050565b60006020820190508181036000830152611ebc81611c61565b9050919050565b60006020820190508181036000830152611edc81611c84565b9050919050565b60006020820190508181036000830152611efc81611ca7565b9050919050565b60006020820190508181036000830152611f1c81611cca565b9050919050565b6000602082019050611f386000830184611ced565b92915050565b600060a082019050611f536000830188611ced565b611f606020830187611ced565b611f6d6040830186611ced565b611f7a6060830185611ced565b611f876080830184611ced565b9695505050505050565b6000602082019050611fa66000830184611cfc565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611fd3826120ea565b9150611fde836120ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612013576120126121af565b5b828201905092915050565b6000612029826120ea565b9150612034836120ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561206d5761206c6121af565b5b828202905092915050565b6000612083826120ea565b915061208e836120ea565b9250828210156120a1576120a06121af565b5b828203905092915050565b60006120b7826120ca565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561211f578082015181840152602081019050612104565b8381111561212e576000848401525b50505050565b6000600282049050600182168061214c57607f821691505b602082108114156121605761215f6121de565b5b50919050565b6000612171826120ea565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121a4576121a36121af565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f496e73756666696369656e7420746f6b656e732061766169616c626c6520666f60008201527f722065746820616d6f756e742c207472792077697468206c6573732065746800602082015250565b7f53616c65206e6f74206163746976650000000000000000000000000000000000600082015250565b7f416c6c20697320636c61696d6564000000000000000000000000000000000000600082015250565b7f4d61782073616c65207061727469636970616e747320726561636865642c207360008201527f616c65206973206f766572000000000000000000000000000000000000000000602082015250565b7f436c61696d20706572696f64206e6f7420616374697665000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6125e1816120ac565b81146125ec57600080fd5b50565b6125f8816120ea565b811461260357600080fd5b5056fea2646970667358221220ba76a6682901db1d23c9a856c6c1cb1810bc997a17374c095b73fbba8f29f28664736f6c63430008020033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000000000000000000000000000000000000000000000000000000000000000000944657873747265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034458530000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Dexstream
Arg [1] : symbol (string): DXS
Arg [2] : initialSupply (uint256): 100000000000000000000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 44657873747265616d0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 4458530000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

24105:4176:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25360:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15252:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17392:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25451:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16345:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25546:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25806:512;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18043:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16196:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26726:102;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18874:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27022:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;27876:202;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;16516:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12633:148;;;;;;;;;;;;;:::i;:::-;;11982:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26532:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15462:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25167:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19592:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16856:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26834:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25070:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26629;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;27292:578;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28084:153;;;;;;;;;;;;;:::i;:::-;;26925:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26324:200;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;17094:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12936:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25264:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25360:85;25405:7;25432:5;;25425:12;;25360:85;:::o;15252:91::-;15297:13;15330:5;15323:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15252:91;:::o;17392:169::-;17475:4;17492:39;17501:12;:10;:12::i;:::-;17515:7;17524:6;17492:8;:39::i;:::-;17549:4;17542:11;;17392:169;;;;:::o;25451:89::-;25498:7;25525;;25518:14;;25451:89;:::o;16345:108::-;16406:7;16433:12;;16426:19;;16345:108;:::o;25546:254::-;12213:12;:10;:12::i;:::-;12202:23;;:7;:5;:7::i;:::-;:23;;;12194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25680:10:::1;25669:8;:21;;;;25712:8;25701;:19;;;;25742:6;25731:8;:17;;;;25767:3;25759:5;:11;;;;25791:1;25781:7;:11;;;;25546:254:::0;;;;:::o;25806:512::-;25852:12;25896;25884:8;;:24;;:52;;;;;25928:8;;25912:12;:24;;25884:52;25876:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;25993:5;;25983:7;;:15;:29;;;;26011:1;26002:5;;:10;25983:29;25975:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;26042:7;;:10;;;;;;;;;:::i;:::-;;;;;;26080:5;26066:19;;:10;:19;;;;:44;;;;;26109:1;26089:16;26099:5;26089:9;:16::i;:::-;:21;;26066:44;:99;;;;;26123:42;26114:51;;:5;:51;;;;26066:99;26063:169;;;26179:41;26197:4;26204:5;26211:8;;26179:9;:41::i;:::-;26063:169;26242:46;26260:4;26267:10;26279:8;;26242:9;:46::i;:::-;26306:4;26299:11;;25806:512;;;:::o;18043:422::-;18149:4;18166:36;18176:6;18184:9;18195:6;18166:9;:36::i;:::-;18215:24;18242:11;:19;18254:6;18242:19;;;;;;;;;;;;;;;:33;18262:12;:10;:12::i;:::-;18242:33;;;;;;;;;;;;;;;;18215:60;;18314:6;18294:16;:26;;18286:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;18376:57;18385:6;18393:12;:10;:12::i;:::-;18426:6;18407:16;:25;;;;:::i;:::-;18376:8;:57::i;:::-;18453:4;18446:11;;;18043:422;;;;;:::o;16196:84::-;16245:5;16270:2;16263:9;;16196:84;:::o;26726:102::-;26779:7;26806:14;;26799:21;;26726:102;:::o;18874:215::-;18962:4;18979:80;18988:12;:10;:12::i;:::-;19002:7;19048:10;19011:11;:25;19023:12;:10;:12::i;:::-;19011:25;;;;;;;;;;;;;;;:34;19037:7;19011:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;18979:8;:80::i;:::-;19077:4;19070:11;;18874:215;;;;:::o;27022:264::-;12213:12;:10;:12::i;:::-;12202:23;;:7;:5;:7::i;:::-;:23;;;12194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;27154:10:::1;27143:8;:21;;;;27186:8;27175;:19;;;;27222:12;27205:14;:29;;;;27253:3;27245:5;:11;;;;27277:1;27267:7;:11;;;;27022:264:::0;;;;:::o;27876:202::-;27916:18;27936:16;27954:20;27975:11;27988:13;28020:8;;28030;;28040:14;;28055:5;;28062:7;;28013:57;;;;;;;;;;27876:202;;;;;:::o;16516:127::-;16590:7;16617:9;:18;16627:7;16617:18;;;;;;;;;;;;;;;;16610:25;;16516:127;;;:::o;12633:148::-;12213:12;:10;:12::i;:::-;12202:23;;:7;:5;:7::i;:::-;:23;;;12194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12740:1:::1;12703:40;;12724:6;;;;;;;;;;;12703:40;;;;;;;;;;;;12771:1;12754:6;;:19;;;;;;;;;;;;;;;;;;12633:148::o:0;11982:87::-;12028:7;12055:6;;;;;;;;;;;12048:13;;11982:87;:::o;26532:91::-;26580:7;26607:8;;26600:15;;26532:91;:::o;15462:95::-;15509:13;15542:7;15535:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15462:95;:::o;25167:91::-;25215:7;25242:8;;25235:15;;25167:91;:::o;19592:377::-;19685:4;19702:24;19729:11;:25;19741:12;:10;:12::i;:::-;19729:25;;;;;;;;;;;;;;;:34;19755:7;19729:34;;;;;;;;;;;;;;;;19702:61;;19802:15;19782:16;:35;;19774:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;19870:67;19879:12;:10;:12::i;:::-;19893:7;19921:15;19902:16;:34;;;;:::i;:::-;19870:8;:67::i;:::-;19957:4;19950:11;;;19592:377;;;;:::o;16856:175::-;16942:4;16959:42;16969:12;:10;:12::i;:::-;16983:9;16994:6;16959:9;:42::i;:::-;17019:4;17012:11;;16856:175;;;;:::o;26834:85::-;26879:7;26906:5;;26899:12;;26834:85;:::o;25070:91::-;25118:7;25145:8;;25138:15;;25070:91;:::o;26629:::-;26677:7;26704:8;;26697:15;;26629:91;:::o;27292:578::-;27337:12;27381;27369:8;;:24;;:52;;;;;27413:8;;27397:12;:24;;27369:52;27361:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;27470:5;;27460:7;;:15;:29;;;;27488:1;27479:5;;:10;27460:29;27452:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;27548:12;27563:9;27548:24;;27583:15;27626:14;;27619:4;:21;;;;:::i;:::-;27609:31;;27670:24;27688:4;27670:9;:24::i;:::-;27659:7;:35;;27651:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;27773:7;;:10;;;;;;;;;:::i;:::-;;;;;;27794:45;27812:4;27819:10;27831:7;27794:9;:45::i;:::-;27857:4;27850:11;;;;27292:578;:::o;28084:153::-;12213:12;:10;:12::i;:::-;12202:23;;:7;:5;:7::i;:::-;:23;;;12194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28136:22:::1;28169:10;28136:44;;28191:6;:15;;:38;28207:21;28191:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12273:1;28084:153::o:0;26925:89::-;26972:7;26999;;26992:14;;26925:89;:::o;26324:200::-;26371:18;26391:16;26409:14;26425:11;26438:13;26470:8;;26480;;26490;;26500:5;;26508:7;;26463:53;;;;;;;;;;26324:200;;;;;:::o;17094:151::-;17183:7;17210:11;:18;17222:5;17210:18;;;;;;;;;;;;;;;:27;17229:7;17210:27;;;;;;;;;;;;;;;;17203:34;;17094:151;;;;:::o;12936:244::-;12213:12;:10;:12::i;:::-;12202:23;;:7;:5;:7::i;:::-;:23;;;12194:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13045:1:::1;13025:22;;:8;:22;;;;13017:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13135:8;13106:38;;13127:6;;;;;;;;;;;13106:38;;;;;;;;;;;;13164:8;13155:6;;:17;;;;;;;;;;;;;;;;;;12936:244:::0;:::o;25264:90::-;25311:7;25338:8;;25331:15;;25264:90;:::o;10520:98::-;10573:7;10600:10;10593:17;;10520:98;:::o;22948:346::-;23067:1;23050:19;;:5;:19;;;;23042:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23148:1;23129:21;;:7;:21;;;;23121:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23232:6;23202:11;:18;23214:5;23202:18;;;;;;;;;;;;;;;:27;23221:7;23202:27;;;;;;;;;;;;;;;:36;;;;23270:7;23254:32;;23263:5;23254:32;;;23279:6;23254:32;;;;;;:::i;:::-;;;;;;;;22948:346;;;:::o;20459:604::-;20583:1;20565:20;;:6;:20;;;;20557:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;20667:1;20646:23;;:9;:23;;;;20638:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20722:47;20743:6;20751:9;20762:6;20722:20;:47::i;:::-;20782:21;20806:9;:17;20816:6;20806:17;;;;;;;;;;;;;;;;20782:41;;20859:6;20842:13;:23;;20834:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;20955:6;20939:13;:22;;;;:::i;:::-;20919:9;:17;20929:6;20919:17;;;;;;;;;;;;;;;:42;;;;20996:6;20972:9;:20;20982:9;20972:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;21037:9;21020:35;;21029:6;21020:35;;;21048:6;21020:35;;;;;;:::i;:::-;;;;;;;;20459:604;;;;:::o;23897:92::-;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:698::-;;;;;2108:3;2096:9;2087:7;2083:23;2079:33;2076:2;;;2125:1;2122;2115:12;2076:2;2168:1;2193:53;2238:7;2229:6;2218:9;2214:22;2193:53;:::i;:::-;2183:63;;2139:117;2295:2;2321:53;2366:7;2357:6;2346:9;2342:22;2321:53;:::i;:::-;2311:63;;2266:118;2423:2;2449:53;2494:7;2485:6;2474:9;2470:22;2449:53;:::i;:::-;2439:63;;2394:118;2551:2;2577:53;2622:7;2613:6;2602:9;2598:22;2577:53;:::i;:::-;2567:63;;2522:118;2066:581;;;;;;;:::o;2653:118::-;2740:24;2758:5;2740:24;:::i;:::-;2735:3;2728:37;2718:53;;:::o;2777:109::-;2858:21;2873:5;2858:21;:::i;:::-;2853:3;2846:34;2836:50;;:::o;2892:364::-;;3008:39;3041:5;3008:39;:::i;:::-;3063:71;3127:6;3122:3;3063:71;:::i;:::-;3056:78;;3143:52;3188:6;3183:3;3176:4;3169:5;3165:16;3143:52;:::i;:::-;3220:29;3242:6;3220:29;:::i;:::-;3215:3;3211:39;3204:46;;2984:272;;;;;:::o;3262:366::-;;3425:67;3489:2;3484:3;3425:67;:::i;:::-;3418:74;;3501:93;3590:3;3501:93;:::i;:::-;3619:2;3614:3;3610:12;3603:19;;3408:220;;;:::o;3634:366::-;;3797:67;3861:2;3856:3;3797:67;:::i;:::-;3790:74;;3873:93;3962:3;3873:93;:::i;:::-;3991:2;3986:3;3982:12;3975:19;;3780:220;;;:::o;4006:366::-;;4169:67;4233:2;4228:3;4169:67;:::i;:::-;4162:74;;4245:93;4334:3;4245:93;:::i;:::-;4363:2;4358:3;4354:12;4347:19;;4152:220;;;:::o;4378:366::-;;4541:67;4605:2;4600:3;4541:67;:::i;:::-;4534:74;;4617:93;4706:3;4617:93;:::i;:::-;4735:2;4730:3;4726:12;4719:19;;4524:220;;;:::o;4750:366::-;;4913:67;4977:2;4972:3;4913:67;:::i;:::-;4906:74;;4989:93;5078:3;4989:93;:::i;:::-;5107:2;5102:3;5098:12;5091:19;;4896:220;;;:::o;5122:366::-;;5285:67;5349:2;5344:3;5285:67;:::i;:::-;5278:74;;5361:93;5450:3;5361:93;:::i;:::-;5479:2;5474:3;5470:12;5463:19;;5268:220;;;:::o;5494:366::-;;5657:67;5721:2;5716:3;5657:67;:::i;:::-;5650:74;;5733:93;5822:3;5733:93;:::i;:::-;5851:2;5846:3;5842:12;5835:19;;5640:220;;;:::o;5866:366::-;;6029:67;6093:2;6088:3;6029:67;:::i;:::-;6022:74;;6105:93;6194:3;6105:93;:::i;:::-;6223:2;6218:3;6214:12;6207:19;;6012:220;;;:::o;6238:366::-;;6401:67;6465:2;6460:3;6401:67;:::i;:::-;6394:74;;6477:93;6566:3;6477:93;:::i;:::-;6595:2;6590:3;6586:12;6579:19;;6384:220;;;:::o;6610:366::-;;6773:67;6837:2;6832:3;6773:67;:::i;:::-;6766:74;;6849:93;6938:3;6849:93;:::i;:::-;6967:2;6962:3;6958:12;6951:19;;6756:220;;;:::o;6982:366::-;;7145:67;7209:2;7204:3;7145:67;:::i;:::-;7138:74;;7221:93;7310:3;7221:93;:::i;:::-;7339:2;7334:3;7330:12;7323:19;;7128:220;;;:::o;7354:366::-;;7517:67;7581:2;7576:3;7517:67;:::i;:::-;7510:74;;7593:93;7682:3;7593:93;:::i;:::-;7711:2;7706:3;7702:12;7695:19;;7500:220;;;:::o;7726:366::-;;7889:67;7953:2;7948:3;7889:67;:::i;:::-;7882:74;;7965:93;8054:3;7965:93;:::i;:::-;8083:2;8078:3;8074:12;8067:19;;7872:220;;;:::o;8098:366::-;;8261:67;8325:2;8320:3;8261:67;:::i;:::-;8254:74;;8337:93;8426:3;8337:93;:::i;:::-;8455:2;8450:3;8446:12;8439:19;;8244:220;;;:::o;8470:118::-;8557:24;8575:5;8557:24;:::i;:::-;8552:3;8545:37;8535:53;;:::o;8594:112::-;8677:22;8693:5;8677:22;:::i;:::-;8672:3;8665:35;8655:51;;:::o;8712:222::-;;8843:2;8832:9;8828:18;8820:26;;8856:71;8924:1;8913:9;8909:17;8900:6;8856:71;:::i;:::-;8810:124;;;;:::o;8940:210::-;;9065:2;9054:9;9050:18;9042:26;;9078:65;9140:1;9129:9;9125:17;9116:6;9078:65;:::i;:::-;9032:118;;;;:::o;9156:313::-;;9307:2;9296:9;9292:18;9284:26;;9356:9;9350:4;9346:20;9342:1;9331:9;9327:17;9320:47;9384:78;9457:4;9448:6;9384:78;:::i;:::-;9376:86;;9274:195;;;;:::o;9475:419::-;;9679:2;9668:9;9664:18;9656:26;;9728:9;9722:4;9718:20;9714:1;9703:9;9699:17;9692:47;9756:131;9882:4;9756:131;:::i;:::-;9748:139;;9646:248;;;:::o;9900:419::-;;10104:2;10093:9;10089:18;10081:26;;10153:9;10147:4;10143:20;10139:1;10128:9;10124:17;10117:47;10181:131;10307:4;10181:131;:::i;:::-;10173:139;;10071:248;;;:::o;10325:419::-;;10529:2;10518:9;10514:18;10506:26;;10578:9;10572:4;10568:20;10564:1;10553:9;10549:17;10542:47;10606:131;10732:4;10606:131;:::i;:::-;10598:139;;10496:248;;;:::o;10750:419::-;;10954:2;10943:9;10939:18;10931:26;;11003:9;10997:4;10993:20;10989:1;10978:9;10974:17;10967:47;11031:131;11157:4;11031:131;:::i;:::-;11023:139;;10921:248;;;:::o;11175:419::-;;11379:2;11368:9;11364:18;11356:26;;11428:9;11422:4;11418:20;11414:1;11403:9;11399:17;11392:47;11456:131;11582:4;11456:131;:::i;:::-;11448:139;;11346:248;;;:::o;11600:419::-;;11804:2;11793:9;11789:18;11781:26;;11853:9;11847:4;11843:20;11839:1;11828:9;11824:17;11817:47;11881:131;12007:4;11881:131;:::i;:::-;11873:139;;11771:248;;;:::o;12025:419::-;;12229:2;12218:9;12214:18;12206:26;;12278:9;12272:4;12268:20;12264:1;12253:9;12249:17;12242:47;12306:131;12432:4;12306:131;:::i;:::-;12298:139;;12196:248;;;:::o;12450:419::-;;12654:2;12643:9;12639:18;12631:26;;12703:9;12697:4;12693:20;12689:1;12678:9;12674:17;12667:47;12731:131;12857:4;12731:131;:::i;:::-;12723:139;;12621:248;;;:::o;12875:419::-;;13079:2;13068:9;13064:18;13056:26;;13128:9;13122:4;13118:20;13114:1;13103:9;13099:17;13092:47;13156:131;13282:4;13156:131;:::i;:::-;13148:139;;13046:248;;;:::o;13300:419::-;;13504:2;13493:9;13489:18;13481:26;;13553:9;13547:4;13543:20;13539:1;13528:9;13524:17;13517:47;13581:131;13707:4;13581:131;:::i;:::-;13573:139;;13471:248;;;:::o;13725:419::-;;13929:2;13918:9;13914:18;13906:26;;13978:9;13972:4;13968:20;13964:1;13953:9;13949:17;13942:47;14006:131;14132:4;14006:131;:::i;:::-;13998:139;;13896:248;;;:::o;14150:419::-;;14354:2;14343:9;14339:18;14331:26;;14403:9;14397:4;14393:20;14389:1;14378:9;14374:17;14367:47;14431:131;14557:4;14431:131;:::i;:::-;14423:139;;14321:248;;;:::o;14575:419::-;;14779:2;14768:9;14764:18;14756:26;;14828:9;14822:4;14818:20;14814:1;14803:9;14799:17;14792:47;14856:131;14982:4;14856:131;:::i;:::-;14848:139;;14746:248;;;:::o;15000:419::-;;15204:2;15193:9;15189:18;15181:26;;15253:9;15247:4;15243:20;15239:1;15228:9;15224:17;15217:47;15281:131;15407:4;15281:131;:::i;:::-;15273:139;;15171:248;;;:::o;15425:222::-;;15556:2;15545:9;15541:18;15533:26;;15569:71;15637:1;15626:9;15622:17;15613:6;15569:71;:::i;:::-;15523:124;;;;:::o;15653:664::-;;15896:3;15885:9;15881:19;15873:27;;15910:71;15978:1;15967:9;15963:17;15954:6;15910:71;:::i;:::-;15991:72;16059:2;16048:9;16044:18;16035:6;15991:72;:::i;:::-;16073;16141:2;16130:9;16126:18;16117:6;16073:72;:::i;:::-;16155;16223:2;16212:9;16208:18;16199:6;16155:72;:::i;:::-;16237:73;16305:3;16294:9;16290:19;16281:6;16237:73;:::i;:::-;15863:454;;;;;;;;:::o;16323:214::-;;16450:2;16439:9;16435:18;16427:26;;16463:67;16527:1;16516:9;16512:17;16503:6;16463:67;:::i;:::-;16417:120;;;;:::o;16543:99::-;;16629:5;16623:12;16613:22;;16602:40;;;:::o;16648:169::-;;16766:6;16761:3;16754:19;16806:4;16801:3;16797:14;16782:29;;16744:73;;;;:::o;16823:305::-;;16882:20;16900:1;16882:20;:::i;:::-;16877:25;;16916:20;16934:1;16916:20;:::i;:::-;16911:25;;17070:1;17002:66;16998:74;16995:1;16992:81;16989:2;;;17076:18;;:::i;:::-;16989:2;17120:1;17117;17113:9;17106:16;;16867:261;;;;:::o;17134:348::-;;17197:20;17215:1;17197:20;:::i;:::-;17192:25;;17231:20;17249:1;17231:20;:::i;:::-;17226:25;;17419:1;17351:66;17347:74;17344:1;17341:81;17336:1;17329:9;17322:17;17318:105;17315:2;;;17426:18;;:::i;:::-;17315:2;17474:1;17471;17467:9;17456:20;;17182:300;;;;:::o;17488:191::-;;17548:20;17566:1;17548:20;:::i;:::-;17543:25;;17582:20;17600:1;17582:20;:::i;:::-;17577:25;;17621:1;17618;17615:8;17612:2;;;17626:18;;:::i;:::-;17612:2;17671:1;17668;17664:9;17656:17;;17533:146;;;;:::o;17685:96::-;;17751:24;17769:5;17751:24;:::i;:::-;17740:35;;17730:51;;;:::o;17787:90::-;;17864:5;17857:13;17850:21;17839:32;;17829:48;;;:::o;17883:126::-;;17960:42;17953:5;17949:54;17938:65;;17928:81;;;:::o;18015:77::-;;18081:5;18070:16;;18060:32;;;:::o;18098:86::-;;18173:4;18166:5;18162:16;18151:27;;18141:43;;;:::o;18190:307::-;18258:1;18268:113;18282:6;18279:1;18276:13;18268:113;;;18367:1;18362:3;18358:11;18352:18;18348:1;18343:3;18339:11;18332:39;18304:2;18301:1;18297:10;18292:15;;18268:113;;;18399:6;18396:1;18393:13;18390:2;;;18479:1;18470:6;18465:3;18461:16;18454:27;18390:2;18239:258;;;;:::o;18503:320::-;;18584:1;18578:4;18574:12;18564:22;;18631:1;18625:4;18621:12;18652:18;18642:2;;18708:4;18700:6;18696:17;18686:27;;18642:2;18770;18762:6;18759:14;18739:18;18736:38;18733:2;;;18789:18;;:::i;:::-;18733:2;18554:269;;;;:::o;18829:233::-;;18891:24;18909:5;18891:24;:::i;:::-;18882:33;;18937:66;18930:5;18927:77;18924:2;;;19007:18;;:::i;:::-;18924:2;19054:1;19047:5;19043:13;19036:20;;18872:190;;;:::o;19068:180::-;19116:77;19113:1;19106:88;19213:4;19210:1;19203:15;19237:4;19234:1;19227:15;19254:180;19302:77;19299:1;19292:88;19399:4;19396:1;19389:15;19423:4;19420:1;19413:15;19440:102;;19532:2;19528:7;19523:2;19516:5;19512:14;19508:28;19498:38;;19488:54;;;:::o;19548:222::-;19688:34;19684:1;19676:6;19672:14;19665:58;19757:5;19752:2;19744:6;19740:15;19733:30;19654:116;:::o;19776:225::-;19916:34;19912:1;19904:6;19900:14;19893:58;19985:8;19980:2;19972:6;19968:15;19961:33;19882:119;:::o;20007:221::-;20147:34;20143:1;20135:6;20131:14;20124:58;20216:4;20211:2;20203:6;20199:15;20192:29;20113:115;:::o;20234:225::-;20374:34;20370:1;20362:6;20358:14;20351:58;20443:8;20438:2;20430:6;20426:15;20419:33;20340:119;:::o;20465:250::-;20605:34;20601:1;20593:6;20589:14;20582:58;20674:33;20669:2;20661:6;20657:15;20650:58;20571:144;:::o;20721:165::-;20861:17;20857:1;20849:6;20845:14;20838:41;20827:59;:::o;20892:164::-;21032:16;21028:1;21020:6;21016:14;21009:40;20998:58;:::o;21062:230::-;21202:34;21198:1;21190:6;21186:14;21179:58;21271:13;21266:2;21258:6;21254:15;21247:38;21168:124;:::o;21298:173::-;21438:25;21434:1;21426:6;21422:14;21415:49;21404:67;:::o;21477:227::-;21617:34;21613:1;21605:6;21601:14;21594:58;21686:10;21681:2;21673:6;21669:15;21662:35;21583:121;:::o;21710:182::-;21850:34;21846:1;21838:6;21834:14;21827:58;21816:76;:::o;21898:224::-;22038:34;22034:1;22026:6;22022:14;22015:58;22107:7;22102:2;22094:6;22090:15;22083:32;22004:118;:::o;22128:223::-;22268:34;22264:1;22256:6;22252:14;22245:58;22337:6;22332:2;22324:6;22320:15;22313:31;22234:117;:::o;22357:224::-;22497:34;22493:1;22485:6;22481:14;22474:58;22566:7;22561:2;22553:6;22549:15;22542:32;22463:118;:::o;22587:122::-;22660:24;22678:5;22660:24;:::i;:::-;22653:5;22650:35;22640:2;;22699:1;22696;22689:12;22640:2;22630:79;:::o;22715:122::-;22788:24;22806:5;22788:24;:::i;:::-;22781:5;22778:35;22768:2;;22827:1;22824;22817:12;22768:2;22758:79;:::o

Swarm Source

ipfs://ba76a6682901db1d23c9a856c6c1cb1810bc997a17374c095b73fbba8f29f286
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.