ETH Price: $3,384.84 (-1.81%)
Gas: 3 Gwei

Token

Chad (CHAD)
 

Overview

Max Total Supply

10,091.78683518816505133 CHAD

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
87.311017994514511148 CHAD

Value
$0.00
0x79ba89576a46e4c501185e8e93c792112ca8410b
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Chad

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-05
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;


/**
 *Submitted for verification at Etherscan.io on 2020-09-28
*/



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




/*
 * @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 GSN 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 payable) {
        return msg.sender;
    }

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


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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

        return c;
    }

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

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}



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


pragma solidity ^0.6.2;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


pragma solidity ^0.6.0;

contract Chad is Context, IERC20 {

    using SafeMath for uint256;
    using Address for address;

    struct stakeTracker {
        uint256 lastBlockChecked;
        uint256 rewards;
        uint256 uniStaked;
    }

    address private _owner;
    uint256 public difficulty;
    IERC20 public uni;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => stakeTracker) private _stakedBalances;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    event Staked(address indexed user, uint256 amount, uint256 totalUniStaked);
    event Withdrawn(address indexed user, uint256 amount, uint256 payout);
    event Rewarded(address indexed user, uint256 amountClaimed);
    event ThanksPepe(address indexed user, uint256 ethereumReceived);
    
    constructor (string memory _name_, string memory _symbol_, address _uniPepe) public {
        _name = _name_;
        _symbol = _symbol_;
        _decimals = 18;
        _owner = msg.sender;
        difficulty = 100000;
        uni = IERC20(_uniPepe);
        _owner = msg.sender;
        uint256 startingSupply = 100 ether;
        _mint(msg.sender, startingSupply);

    }

    modifier _onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    modifier updateStakingReward(address account) {
        if (block.number > _stakedBalances[account].lastBlockChecked) {
            uint256 rewardBlocks = block.number
                                        .sub(_stakedBalances[account].lastBlockChecked);
                                        
                                        
             
            if (_stakedBalances[account].uniStaked > 0) {
                _stakedBalances[account].rewards = _stakedBalances[account].rewards
                                                                            .add(
                                                                            _stakedBalances[account].uniStaked
                                                                            .mul(rewardBlocks)
                                                                            / difficulty);
            }
                    
            _stakedBalances[account].lastBlockChecked = block.number;
            
        }
        _;
    }
    
    receive() external payable {
        emit ThanksPepe(msg.sender, msg.value);
    }

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

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

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

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

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

    /**
     * @dev See {IERC20-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);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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].add(addedValue));
        return true;
    }

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


        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    
        function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");


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

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


        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }



    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.
     *
     * This is internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(address owner, address spender, uint256 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);
    }
    
    
    function getBlockNum() public view returns (uint256) {
        return block.number;
    }
    
    function getLastBlockCheckedNum(address _account) public view returns (uint256) {
        return _stakedBalances[_account].lastBlockChecked;
    }

    function getAddressStakeAmount(address _account) public view returns (uint256) {
        return _stakedBalances[_account].uniStaked;
    }
    
    function setDifficulty(uint256 _amount) public _onlyOwner {
        difficulty = _amount;
    }

    function setNewOwner(address _newOwner) public _onlyOwner {
        _owner = _newOwner;
    }
    
    function totalStaked() public view returns (uint256) {
        return uni.balanceOf(address(this));
    }

    function myRewardsBalance(address account) public view returns (uint256) {
        if (block.number > _stakedBalances[account].lastBlockChecked) {
            uint256 rewardBlocks = block.number
                                        .sub(_stakedBalances[account].lastBlockChecked);
                                        
                                        
             
            if (_stakedBalances[account].uniStaked > 0) {
                return _stakedBalances[account].rewards
                                                .add(
                                                _stakedBalances[account].uniStaked
                                                .mul(rewardBlocks)
                                                / difficulty);
            }                                                  
        }

    }

    function stake(uint256 amount) public updateStakingReward(msg.sender) {
        require(uni.transferFrom(msg.sender, address(this), amount));
        _stakedBalances[msg.sender].uniStaked = _stakedBalances[msg.sender].uniStaked.add(amount);
        emit Staked(msg.sender, amount, totalStaked());
    }


    
   
   function withdraw(uint256 amount) public updateStakingReward(msg.sender) {
       
       require(_stakedBalances[msg.sender].uniStaked >= amount);
 
        getReward();
        _stakedBalances[msg.sender].uniStaked = _stakedBalances[msg.sender].uniStaked.sub(amount);
        uint payout = amount.mul(address(this).balance).div(totalStaked()).mul(9).div(10);
        _burn(msg.sender, amount);
        uni.transfer(msg.sender, amount);
        msg.sender.transfer(payout);
        emit Withdrawn(msg.sender, amount, payout);
    }
    

   function getReward() public updateStakingReward(msg.sender) {
       uint256 reward = _stakedBalances[msg.sender].rewards;
       _stakedBalances[msg.sender].rewards = 0;
       _mint(msg.sender, reward);
       emit Rewarded(msg.sender, reward);
   }

    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name_","type":"string"},{"internalType":"string","name":"_symbol_","type":"string"},{"internalType":"address","name":"_uniPepe","type":"address"}],"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":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountClaimed","type":"uint256"}],"name":"Rewarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalUniStaked","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethereumReceived","type":"uint256"}],"name":"ThanksPepe","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"payout","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"difficulty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getAddressStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getLastBlockCheckedNum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"myRewardsBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setDifficulty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"uni","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040516200323338038062003233833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508260049080519060200190620001da9291906200055a565b508160059080519060200190620001f39291906200055a565b506012600660006101000a81548160ff021916908360ff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620186a060018190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600068056bc75e2d631000009050620002fb33826200030560201b60201c565b5050505062000609565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620003c581600354620004d160201b620025701790919060201c565b6003819055506200042481600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004d160201b620025701790919060201c565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200059d57805160ff1916838001178555620005ce565b82800160010185558215620005ce579182015b82811115620005cd578251825591602001919060010190620005b0565b5b509050620005dd9190620005e1565b5090565b6200060691905b8082111562000602576000816000905550600101620005e8565b5090565b90565b612c1a80620006196000396000f3fe6080604052600436106101445760003560e01c80637f6c6f10116100b6578063a9059cbb1161006f578063a9059cbb14610719578063be35ef141461078c578063dd62ed3e146107f1578063e60df1b614610876578063edc9af95146108db578063f5a1f5b41461093257610199565b80637f6c6f1014610520578063817b1cd21461054b57806395d89b4114610576578063a457c2d714610606578063a57306dc14610679578063a694fc3a146106de57610199565b80632e1a7d4d116101085780632e1a7d4d1461038a578063313ce567146103c557806339509351146103f65780633d18b91214610469578063602512e11461048057806370a08231146104bb57610199565b806306fdde031461019e578063095ea7b31461022e57806318160ddd146102a157806319cae462146102cc57806323b872dd146102f757610199565b36610199573373ffffffffffffffffffffffffffffffffffffffff167ff34d1e4826e868eae783517df8c74cae71b8f3403223b359031bb08ee5aa5cbb346040518082815260200191505060405180910390a2005b600080fd5b3480156101aa57600080fd5b506101b3610983565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f35780820151818401526020810190506101d8565b50505050905090810190601f1680156102205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023a57600080fd5b506102876004803603604081101561025157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b3480156102ad57600080fd5b506102b6610a43565b6040518082815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610a4d565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b506103706004803603606081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a53565b604051808215151515815260200191505060405180910390f35b34801561039657600080fd5b506103c3600480360360208110156103ad57600080fd5b8101908080359060200190929190505050610b2c565b005b3480156103d157600080fd5b506103da611038565b604051808260ff1660ff16815260200191505060405180910390f35b34801561040257600080fd5b5061044f6004803603604081101561041957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104f565b604051808215151515815260200191505060405180910390f35b34801561047557600080fd5b5061047e611102565b005b34801561048c57600080fd5b506104b9600480360360208110156104a357600080fd5b8101908080359060200190929190505050611420565b005b3480156104c757600080fd5b5061050a600480360360208110156104de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611483565b6040518082815260200191505060405180910390f35b34801561052c57600080fd5b506105356114cc565b6040518082815260200191505060405180910390f35b34801561055757600080fd5b506105606114d4565b6040518082815260200191505060405180910390f35b34801561058257600080fd5b5061058b6115b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105cb5780820151818401526020810190506105b0565b50505050905090810190601f1680156105f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061257600080fd5b5061065f6004803603604081101561062957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611657565b604051808215151515815260200191505060405180910390f35b34801561068557600080fd5b506106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611724565b6040518082815260200191505060405180910390f35b3480156106ea57600080fd5b506107176004803603602081101561070157600080fd5b81019080803590602001909291905050506118d8565b005b34801561072557600080fd5b506107726004803603604081101561073c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d28565b604051808215151515815260200191505060405180910390f35b34801561079857600080fd5b506107db600480360360208110156107af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d46565b6040518082815260200191505060405180910390f35b3480156107fd57600080fd5b506108606004803603604081101561081457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d92565b6040518082815260200191505060405180910390f35b34801561088257600080fd5b506108c56004803603602081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e19565b6040518082815260200191505060405180910390f35b3480156108e757600080fd5b506108f0611e65565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093e57600080fd5b506109816004803603602081101561095557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8b565b005b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a1b5780601f106109f057610100808354040283529160200191610a1b565b820191906000526020600020905b8154815290600101906020018083116109fe57829003601f168201915b5050505050905090565b6000610a39610a32611f27565b8484611f2f565b6001905092915050565b6000600354905090565b60015481565b6000610a60848484612126565b610b2184610a6c611f27565b610b1c85604051806060016040528060288152602001612b2e60289139600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ad2611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b611f2f565b600190509392505050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154431115610d5f576000610bce600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541115610d1657610ccf600154610c7683600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b81610c7d57fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541015610dae57600080fd5b610db6611102565b610e0b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124a090919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000610ea5600a610e976009610e89610e686114d4565b610e7b478a6124ea90919063ffffffff16565b6125f890919063ffffffff16565b6124ea90919063ffffffff16565b6125f890919063ffffffff16565b9050610eb13384612642565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b505050506040513d6020811015610f8457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fdc573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc68483604051808381526020018281526020019250505060405180910390a2505050565b6000600660009054906101000a900460ff16905090565b60006110f861105c611f27565b846110f3856009600061106d611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b611f2f565b6001905092915050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544311156113355760006111a4600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015411156112ec576112a560015461124c83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b8161125357fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506113ce33826127fc565b3373ffffffffffffffffffffffffffffffffffffffff167fb3b7a071186534c03b40695710096f289fd4ed6c1a374aff0bb648955e4fe563826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147957600080fd5b8060018190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600043905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561157557600080fd5b505afa158015611589573d6000803e3d6000fd5b505050506040513d602081101561159f57600080fd5b8101908080519060200190929190505050905090565b606060058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164d5780601f106116225761010080835404028352916020019161164d565b820191906000526020600020905b81548152906001019060200180831161163057829003601f168201915b5050505050905090565b600061171a611664611f27565b8461171585604051806060016040528060258152602001612bc0602591396009600061168e611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b611f2f565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544311156118d25760006117c7600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015411156118d0576118c860015461186f83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b8161187657fe5b04600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b9150506118d3565b505b5b919050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154431115611b0b57600061197a600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541115611ac257611a7b600154611a2283600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b81611a2957fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611be857600080fd5b505af1158015611bfc573d6000803e3d6000fd5b505050506040513d6020811015611c1257600080fd5b8101908080519060200190929190505050611c2c57600080fd5b611c8182600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015461257090919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9083611d086114d4565b604051808381526020018281526020019250505060405180910390a25050565b6000611d3c611d35611f27565b8484612126565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee457600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b9c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561203b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ac56022913960400191505060405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b776025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612232576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612a806023913960400191505060405180910390fd5b61229e81604051806060016040528060268152602001612ae760269139600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061233381600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061248d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612452578082015181840152602081019050612437565b50505050905090810190601f16801561247f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60006124e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123e0565b905092915050565b6000808314156124fd576000905061256a565b600082840290508284828161250e57fe5b0414612565576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b0d6021913960400191505060405180910390fd5b809150505b92915050565b6000808284019050838110156125ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061263a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129b9565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b566021913960400191505060405180910390fd5b61273481604051806060016040528060228152602001612aa360229139600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061278c816003546124a090919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561289f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6128b48160035461257090919063ffffffff16565b60038190555061290c81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008083118290612a65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a2a578082015181840152602081019050612a0f565b50505050905090810190601f168015612a575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612a7157fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e2a7973fdcd43873693ae9f0db3c5a3980d2b83314419ed7b1c8536033ca551864736f6c63430006060033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005faffc63358fdf31e1b6813cdc8a32d0a5a6d26e0000000000000000000000000000000000000000000000000000000000000004436861640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044348414400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101445760003560e01c80637f6c6f10116100b6578063a9059cbb1161006f578063a9059cbb14610719578063be35ef141461078c578063dd62ed3e146107f1578063e60df1b614610876578063edc9af95146108db578063f5a1f5b41461093257610199565b80637f6c6f1014610520578063817b1cd21461054b57806395d89b4114610576578063a457c2d714610606578063a57306dc14610679578063a694fc3a146106de57610199565b80632e1a7d4d116101085780632e1a7d4d1461038a578063313ce567146103c557806339509351146103f65780633d18b91214610469578063602512e11461048057806370a08231146104bb57610199565b806306fdde031461019e578063095ea7b31461022e57806318160ddd146102a157806319cae462146102cc57806323b872dd146102f757610199565b36610199573373ffffffffffffffffffffffffffffffffffffffff167ff34d1e4826e868eae783517df8c74cae71b8f3403223b359031bb08ee5aa5cbb346040518082815260200191505060405180910390a2005b600080fd5b3480156101aa57600080fd5b506101b3610983565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f35780820151818401526020810190506101d8565b50505050905090810190601f1680156102205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023a57600080fd5b506102876004803603604081101561025157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b3480156102ad57600080fd5b506102b6610a43565b6040518082815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610a4d565b6040518082815260200191505060405180910390f35b34801561030357600080fd5b506103706004803603606081101561031a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a53565b604051808215151515815260200191505060405180910390f35b34801561039657600080fd5b506103c3600480360360208110156103ad57600080fd5b8101908080359060200190929190505050610b2c565b005b3480156103d157600080fd5b506103da611038565b604051808260ff1660ff16815260200191505060405180910390f35b34801561040257600080fd5b5061044f6004803603604081101561041957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104f565b604051808215151515815260200191505060405180910390f35b34801561047557600080fd5b5061047e611102565b005b34801561048c57600080fd5b506104b9600480360360208110156104a357600080fd5b8101908080359060200190929190505050611420565b005b3480156104c757600080fd5b5061050a600480360360208110156104de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611483565b6040518082815260200191505060405180910390f35b34801561052c57600080fd5b506105356114cc565b6040518082815260200191505060405180910390f35b34801561055757600080fd5b506105606114d4565b6040518082815260200191505060405180910390f35b34801561058257600080fd5b5061058b6115b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105cb5780820151818401526020810190506105b0565b50505050905090810190601f1680156105f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561061257600080fd5b5061065f6004803603604081101561062957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611657565b604051808215151515815260200191505060405180910390f35b34801561068557600080fd5b506106c86004803603602081101561069c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611724565b6040518082815260200191505060405180910390f35b3480156106ea57600080fd5b506107176004803603602081101561070157600080fd5b81019080803590602001909291905050506118d8565b005b34801561072557600080fd5b506107726004803603604081101561073c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d28565b604051808215151515815260200191505060405180910390f35b34801561079857600080fd5b506107db600480360360208110156107af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d46565b6040518082815260200191505060405180910390f35b3480156107fd57600080fd5b506108606004803603604081101561081457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d92565b6040518082815260200191505060405180910390f35b34801561088257600080fd5b506108c56004803603602081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e19565b6040518082815260200191505060405180910390f35b3480156108e757600080fd5b506108f0611e65565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561093e57600080fd5b506109816004803603602081101561095557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8b565b005b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a1b5780601f106109f057610100808354040283529160200191610a1b565b820191906000526020600020905b8154815290600101906020018083116109fe57829003601f168201915b5050505050905090565b6000610a39610a32611f27565b8484611f2f565b6001905092915050565b6000600354905090565b60015481565b6000610a60848484612126565b610b2184610a6c611f27565b610b1c85604051806060016040528060288152602001612b2e60289139600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ad2611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b611f2f565b600190509392505050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154431115610d5f576000610bce600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541115610d1657610ccf600154610c7683600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b81610c7d57fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541015610dae57600080fd5b610db6611102565b610e0b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124a090919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055506000610ea5600a610e976009610e89610e686114d4565b610e7b478a6124ea90919063ffffffff16565b6125f890919063ffffffff16565b6124ea90919063ffffffff16565b6125f890919063ffffffff16565b9050610eb13384612642565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b505050506040513d6020811015610f8457600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fdc573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc68483604051808381526020018281526020019250505060405180910390a2505050565b6000600660009054906101000a900460ff16905090565b60006110f861105c611f27565b846110f3856009600061106d611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b611f2f565b6001905092915050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544311156113355760006111a4600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015411156112ec576112a560015461124c83600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b8161125357fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015490506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506113ce33826127fc565b3373ffffffffffffffffffffffffffffffffffffffff167fb3b7a071186534c03b40695710096f289fd4ed6c1a374aff0bb648955e4fe563826040518082815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461147957600080fd5b8060018190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600043905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561157557600080fd5b505afa158015611589573d6000803e3d6000fd5b505050506040513d602081101561159f57600080fd5b8101908080519060200190929190505050905090565b606060058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164d5780601f106116225761010080835404028352916020019161164d565b820191906000526020600020905b81548152906001019060200180831161163057829003601f168201915b5050505050905090565b600061171a611664611f27565b8461171585604051806060016040528060258152602001612bc0602591396009600061168e611f27565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b611f2f565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544311156118d25760006117c7600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015411156118d0576118c860015461186f83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b8161187657fe5b04600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b9150506118d3565b505b5b919050565b33600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154431115611b0b57600061197a600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154436124a090919063ffffffff16565b90506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201541115611ac257611a7b600154611a2283600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546124ea90919063ffffffff16565b81611a2957fe5b04600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461257090919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b43600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611be857600080fd5b505af1158015611bfc573d6000803e3d6000fd5b505050506040513d6020811015611c1257600080fd5b8101908080519060200190929190505050611c2c57600080fd5b611c8182600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015461257090919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055503373ffffffffffffffffffffffffffffffffffffffff167f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee9083611d086114d4565b604051808381526020018281526020019250505060405180910390a25050565b6000611d3c611d35611f27565b8484612126565b6001905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee457600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b9c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561203b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612ac56022913960400191505060405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b776025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612232576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612a806023913960400191505060405180910390fd5b61229e81604051806060016040528060268152602001612ae760269139600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061233381600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600083831115829061248d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612452578082015181840152602081019050612437565b50505050905090810190601f16801561247f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60006124e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123e0565b905092915050565b6000808314156124fd576000905061256a565b600082840290508284828161250e57fe5b0414612565576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b0d6021913960400191505060405180910390fd5b809150505b92915050565b6000808284019050838110156125ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061263a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129b9565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b566021913960400191505060405180910390fd5b61273481604051806060016040528060228152602001612aa360229139600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e09092919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061278c816003546124a090919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561289f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6128b48160035461257090919063ffffffff16565b60038190555061290c81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257090919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008083118290612a65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a2a578082015181840152602081019050612a0f565b50505050905090810190601f168015612a575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612a7157fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e2a7973fdcd43873693ae9f0db3c5a3980d2b83314419ed7b1c8536033ca551864736f6c63430006060033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005faffc63358fdf31e1b6813cdc8a32d0a5a6d26e0000000000000000000000000000000000000000000000000000000000000004436861640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044348414400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name_ (string): Chad
Arg [1] : _symbol_ (string): CHAD
Arg [2] : _uniPepe (address): 0x5faFFC63358FDF31e1b6813CDc8A32D0A5a6D26e

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000005faffc63358fdf31e1b6813cdc8a32d0a5a6d26e
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [4] : 4368616400000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4348414400000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16467:12653:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18989:10;18978:33;;;19001:9;18978:33;;;;;;;;;;;;;;;;;;16467:12653;;12:1:-1;9;2:12;19089:83:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;19089:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19089:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21195:169;;5:9:-1;2:2;;;27:1;24;17:12;2:2;21195:169:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;21195:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20164:100;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20164:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16730:25;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16730:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21838:321;;5:9:-1;2:2;;;27:1;24;17:12;2:2;21838:321:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;21838:321:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;28297:543;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28297:543:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;28297:543:0;;;;;;;;;;;;;;;;;:::i;:::-;;20016:83;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20016:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22568:218;;5:9:-1;2:2;;;27:1;24;17:12;2:2;22568:218:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;22568:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;28853:256;;5:9:-1;2:2;;;27:1;24;17:12;2:2;28853:256:0;;;:::i;:::-;;26779:97;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26779:97:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;26779:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;20327:119;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20327:119:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20327:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26368:91;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26368:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26991:107;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26991:107:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19291:87;;5:9:-1;2:2;;;27:1;24;17:12;2:2;19291:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19291:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23289:269;;5:9:-1;2:2;;;27:1;24;17:12;2:2;23289:269:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;23289:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;27106:857;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27106:857:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;27106:857:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27971:306;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27971:306:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;27971:306:0;;;;;;;;;;;;;;;;;:::i;:::-;;20659:175;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20659:175:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20659:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;26627:140;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26627:140:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;26627:140:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20897:151;;5:9:-1;2:2;;;27:1;24;17:12;2:2;20897:151:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20897:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26471:148;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26471:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;26471:148:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16762:17;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16762:17:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;26884:95;;5:9:-1;2:2;;;27:1;24;17:12;2:2;26884:95:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;26884:95:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19089:83;19126:13;19159:5;19152:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19089:83;:::o;21195:169::-;21278:4;21295:39;21304:12;:10;:12::i;:::-;21318:7;21327:6;21295:8;:39::i;:::-;21352:4;21345:11;;21195:169;;;;:::o;20164:100::-;20217:7;20244:12;;20237:19;;20164:100;:::o;16730:25::-;;;;:::o;21838:321::-;21944:4;21961:36;21971:6;21979:9;21990:6;21961:9;:36::i;:::-;22008:121;22017:6;22025:12;:10;:12::i;:::-;22039:89;22077:6;22039:89;;;;;;;;;;;;;;;;;:11;:19;22051:6;22039:19;;;;;;;;;;;;;;;:33;22059:12;:10;:12::i;:::-;22039:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;22008:8;:121::i;:::-;22147:4;22140:11;;21838:321;;;;;:::o;28297:543::-;28358:10;17962:15;:24;17978:7;17962:24;;;;;;;;;;;;;;;:41;;;17947:12;:56;17943:961;;;18020:20;18043:101;18102:15;:24;18118:7;18102:24;;;;;;;;;;;;;;;:41;;;18043:12;:58;;:101;;;;:::i;:::-;18020:124;;18299:1;18262:15;:24;18278:7;18262:24;;;;;;;;;;;;;;;:34;;;:38;18258:528;;;18356:414;18759:10;;18549:130;18666:12;18549:15;:24;18565:7;18549:24;;;;;;;;;;;;;;;:34;;;:116;;:130;;;;:::i;:::-;:220;;;;;;18356:15;:24;18372:7;18356:24;;;;;;;;;;;;;;;:32;;;:114;;:414;;;;:::i;:::-;18321:15;:24;18337:7;18321:24;;;;;;;;;;;;;;;:32;;:449;;;;18258:528;18866:12;18822:15;:24;18838:7;18822:24;;;;;;;;;;;;;;;:41;;:56;;;;17943:961;;28438:6:::1;28397:15;:27;28413:10;28397:27;;;;;;;;;;;;;;;:37;;;:47;;28389:56;;12:1:-1;9::::0;2:12:::1;28389:56:0;28459:11;:9;:11::i;:::-;28521:49;28563:6;28521:15;:27;28537:10;28521:27;;;;;;;;;;;;;;;:37;;;:41;;:49;;;;:::i;:::-;28481:15;:27;28497:10;28481:27;;;;;;;;;;;;;;;:37;;:89;;;;28581:11;28595:67;28659:2;28595:59;28652:1;28595:52;28633:13;:11;:13::i;:::-;28595:33;28606:21;28595:6;:10;;:33;;;;:::i;:::-;:37;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;:63;;:67;;;;:::i;:::-;28581:81;;28673:25;28679:10;28691:6;28673:5;:25::i;:::-;28709:3;;;;;;;;;;;:12;;;28722:10;28734:6;28709:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;28709:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28709:32:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;28709:32:0;;;;;;;;;;;;;;;;;28752:10;:19;;:27;28772:6;28752:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28752:27:0;28805:10;28795:37;;;28817:6;28825;28795:37;;;;;;;;;;;;;;;;;;;;;;;;18914:1;28297:543:::0;;:::o;20016:83::-;20057:5;20082:9;;;;;;;;;;;20075:16;;20016:83;:::o;22568:218::-;22656:4;22673:83;22682:12;:10;:12::i;:::-;22696:7;22705:50;22744:10;22705:11;:25;22717:12;:10;:12::i;:::-;22705:25;;;;;;;;;;;;;;;:34;22731:7;22705:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;22673:8;:83::i;:::-;22774:4;22767:11;;22568:218;;;;:::o;28853:256::-;28901:10;17962:15;:24;17978:7;17962:24;;;;;;;;;;;;;;;:41;;;17947:12;:56;17943:961;;;18020:20;18043:101;18102:15;:24;18118:7;18102:24;;;;;;;;;;;;;;;:41;;;18043:12;:58;;:101;;;;:::i;:::-;18020:124;;18299:1;18262:15;:24;18278:7;18262:24;;;;;;;;;;;;;;;:34;;;:38;18258:528;;;18356:414;18759:10;;18549:130;18666:12;18549:15;:24;18565:7;18549:24;;;;;;;;;;;;;;;:34;;;:116;;:130;;;;:::i;:::-;:220;;;;;;18356:15;:24;18372:7;18356:24;;;;;;;;;;;;;;;:32;;;:114;;:414;;;;:::i;:::-;18321:15;:24;18337:7;18321:24;;;;;;;;;;;;;;;:32;;:449;;;;18258:528;18866:12;18822:15;:24;18838:7;18822:24;;;;;;;;;;;;;;;:41;;:56;;;;17943:961;;28923:14:::1;28940:15;:27;28956:10;28940:27;;;;;;;;;;;;;;;:35;;;28923:52;;29023:1;28985:15;:27;29001:10;28985:27;;;;;;;;;;;;;;;:35;;:39;;;;29034:25;29040:10;29052:6;29034:5;:25::i;:::-;29083:10;29074:28;;;29095:6;29074:28;;;;;;;;;;;;;;;;;;18914:1;28853:256:::0;:::o;26779:97::-;17851:6;;;;;;;;;;;17837:20;;:10;:20;;;17829:29;;12:1:-1;9;2:12;17829:29:0;26861:7:::1;26848:10;:20;;;;26779:97:::0;:::o;20327:119::-;20393:7;20420:9;:18;20430:7;20420:18;;;;;;;;;;;;;;;;20413:25;;20327:119;;;:::o;26368:91::-;26412:7;26439:12;26432:19;;26368:91;:::o;26991:107::-;27035:7;27062:3;;;;;;;;;;;:13;;;27084:4;27062:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;27062:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27062:28:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;27062:28:0;;;;;;;;;;;;;;;;27055:35;;26991:107;:::o;19291:87::-;19330:13;19363:7;19356:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19291:87;:::o;23289:269::-;23382:4;23399:129;23408:12;:10;:12::i;:::-;23422:7;23431:96;23470:15;23431:96;;;;;;;;;;;;;;;;;:11;:25;23443:12;:10;:12::i;:::-;23431:25;;;;;;;;;;;;;;;:34;23457:7;23431:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;23399:8;:129::i;:::-;23546:4;23539:11;;23289:269;;;;:::o;27106:857::-;27170:7;27209:15;:24;27225:7;27209:24;;;;;;;;;;;;;;;:41;;;27194:12;:56;27190:764;;;27267:20;27290:101;27349:15;:24;27365:7;27349:24;;;;;;;;;;;;;;;:41;;;27290:12;:58;;:101;;;;:::i;:::-;27267:124;;27546:1;27509:15;:24;27525:7;27509:24;;;;;;;;;;;;;;;:34;;;:38;27505:388;;;27575:302;27866:10;;27712:102;27801:12;27712:15;:24;27728:7;27712:24;;;;;;;;;;;;;;;:34;;;:88;;:102;;;;:::i;:::-;:164;;;;;;27575:15;:24;27591:7;27575:24;;;;;;;;;;;;;;;:32;;;:86;;:302;;;;:::i;:::-;27568:309;;;;;27505:388;27190:764;;27106:857;;;;:::o;27971:306::-;28029:10;17962:15;:24;17978:7;17962:24;;;;;;;;;;;;;;;:41;;;17947:12;:56;17943:961;;;18020:20;18043:101;18102:15;:24;18118:7;18102:24;;;;;;;;;;;;;;;:41;;;18043:12;:58;;:101;;;;:::i;:::-;18020:124;;18299:1;18262:15;:24;18278:7;18262:24;;;;;;;;;;;;;;;:34;;;:38;18258:528;;;18356:414;18759:10;;18549:130;18666:12;18549:15;:24;18565:7;18549:24;;;;;;;;;;;;;;;:34;;;:116;;:130;;;;:::i;:::-;:220;;;;;;18356:15;:24;18372:7;18356:24;;;;;;;;;;;;;;;:32;;;:114;;:414;;;;:::i;:::-;18321:15;:24;18337:7;18321:24;;;;;;;;;;;;;;;:32;;:449;;;;18258:528;18866:12;18822:15;:24;18838:7;18822:24;;;;;;;;;;;;;;;:41;;:56;;;;17943:961;;28060:3:::1;;;;;;;;;;;:16;;;28077:10;28097:4;28104:6;28060:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;28060:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28060:51:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;28060:51:0;;;;;;;;;;;;;;;;28052:60;;12:1:-1;9::::0;2:12:::1;28052:60:0;28163:49;28205:6;28163:15;:27;28179:10;28163:27;;;;;;;;;;;;;;;:37;;;:41;;:49;;;;:::i;:::-;28123:15;:27;28139:10;28123:27;;;;;;;;;;;;;;;:37;;:89;;;;28235:10;28228:41;;;28247:6;28255:13;:11;:13::i;:::-;28228:41;;;;;;;;;;;;;;;;;;;;;;;;27971:306:::0;;:::o;20659:175::-;20745:4;20762:42;20772:12;:10;:12::i;:::-;20786:9;20797:6;20762:9;:42::i;:::-;20822:4;20815:11;;20659:175;;;;:::o;26627:140::-;26697:7;26724:15;:25;26740:8;26724:25;;;;;;;;;;;;;;;:35;;;26717:42;;26627:140;;;:::o;20897:151::-;20986:7;21013:11;:18;21025:5;21013:18;;;;;;;;;;;;;;;:27;21032:7;21013:27;;;;;;;;;;;;;;;;21006:34;;20897:151;;;;:::o;26471:148::-;26542:7;26569:15;:25;26585:8;26569:25;;;;;;;;;;;;;;;:42;;;26562:49;;26471:148;;;:::o;16762:17::-;;;;;;;;;;;;;:::o;26884:95::-;17851:6;;;;;;;;;;;17837:20;;:10;:20;;;17829:29;;12:1:-1;9;2:12;17829:29:0;26962:9:::1;26953:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;26884:95:::0;:::o;1877:106::-;1930:15;1965:10;1958:17;;1877:106;:::o;26004:346::-;26123:1;26106:19;;:5;:19;;;;26098:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26204:1;26185:21;;:7;:21;;;;26177:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26288:6;26258:11;:18;26270:5;26258:18;;;;;;;;;;;;;;;:27;26277:7;26258:27;;;;;;;;;;;;;;;:36;;;;26326:7;26310:32;;26319:5;26310:32;;;26335:6;26310:32;;;;;;;;;;;;;;;;;;26004:346;;;:::o;24054:481::-;24178:1;24160:20;;:6;:20;;;;24152:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24262:1;24241:23;;:9;:23;;;;24233:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24339;24361:6;24339:71;;;;;;;;;;;;;;;;;:9;:17;24349:6;24339:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;24319:9;:17;24329:6;24319:17;;;;;;;;;;;;;;;:91;;;;24444:32;24469:6;24444:9;:20;24454:9;24444:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;24421:9;:20;24431:9;24421:20;;;;;;;;;;;;;;;:55;;;;24509:9;24492:35;;24501:6;24492:35;;;24520:6;24492:35;;;;;;;;;;;;;;;;;;24054:481;;;:::o;3976:192::-;4062:7;4095:1;4090;:6;;4098:12;4082:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4082:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4122:9;4138:1;4134;:5;4122:17;;4159:1;4152:8;;;3976:192;;;;;:::o;3537:136::-;3595:7;3622:43;3626:1;3629;3622:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3615:50;;3537:136;;;;:::o;4427:471::-;4485:7;4735:1;4730;:6;4726:47;;;4760:1;4753:8;;;;4726:47;4785:9;4801:1;4797;:5;4785:17;;4830:1;4825;4821;:5;;;;;;:10;4813:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4889:1;4882:8;;;4427:471;;;;;:::o;3073:181::-;3131:7;3151:9;3167:1;3163;:5;3151:17;;3192:1;3187;:6;;3179:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3245:1;3238:8;;;3073:181;;;;:::o;5374:132::-;5432:7;5459:39;5463:1;5466;5459:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;5452:46;;5374:132;;;;:::o;25202:358::-;25305:1;25286:21;;:7;:21;;;;25278:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25381:68;25404:6;25381:68;;;;;;;;;;;;;;;;;:9;:18;25391:7;25381:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;25360:9;:18;25370:7;25360:18;;;;;;;;;;;;;;;:89;;;;25475:24;25492:6;25475:12;;:16;;:24;;;;:::i;:::-;25460:12;:39;;;;25541:1;25515:37;;25524:7;25515:37;;;25545:6;25515:37;;;;;;;;;;;;;;;;;;25202:358;;:::o;24551:318::-;24654:1;24635:21;;:7;:21;;;;24627:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24722:24;24739:6;24722:12;;:16;;:24;;;;:::i;:::-;24707:12;:39;;;;24778:30;24801:6;24778:9;:18;24788:7;24778:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;24757:9;:18;24767:7;24757:18;;;;;;;;;;;;;;;:51;;;;24845:7;24824:37;;24841:1;24824:37;;;24854:6;24824:37;;;;;;;;;;;;;;;;;;24551:318;;:::o;6002:278::-;6088:7;6120:1;6116;:5;6123:12;6108:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6108:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6147:9;6163:1;6159;:5;;;;;;6147:17;;6271:1;6264:8;;;6002:278;;;;;:::o

Swarm Source

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