ETH Price: $3,393.15 (-1.25%)
Gas: 2 Gwei

Token

VoxNET ($VXON)
 

Overview

Max Total Supply

1,000,000 $VXON

Holders

295 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
1 $VXON

Value
$0.00
0x860e81e32f6d423ce01e28ac099d1db204648933
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

VoxNET is a battlefield arena-style game where 5,000 NFT characters can battle it out for real-life stakes. The gameplay takes place in a “living environment” with realistic settings designed for optimal battle experiences. Players can battle each other one-on-one or in team play.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
VoxNET

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Audited
File 1 of 5 : VoxNET.sol
/**
 * SPDX-License-Identifier: unlicensed
 * Web: voxnet.xyz
 * Community: discord.gg/voxnet
 */

pragma solidity 0.8.17;

import "@uniswap/v2-core/contracts/interfaces/IERC20.sol";
import "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol";
import "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol";

library FixedPoint {
    uint8 public constant RESOLUTION = 112;

    function mulDecode(uint224 x, uint y) internal pure returns (uint) {
        return (x * y) >> RESOLUTION;
    }

    function fraction(uint numerator, uint denominator) internal pure returns (uint) {
        if (numerator == 0) return 0;

        require(denominator > 0, "FixedPoint: division by zero");
        require(numerator <= type(uint144).max, "FixedPoint: numerator too big");

        return (numerator << RESOLUTION) / denominator;
    }
}

abstract contract Auth {
    address internal _owner;
    mapping(address => bool) public isAuthorized;

    constructor(address owner) {
        _owner = owner;
        isAuthorized[owner] = true;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "Auth: owner only");
        _;
    }

    modifier authorized() {
        require(isAuthorized[msg.sender], "Auth: authorized only");
        _;
    }

    function setAuthorization(address address_, bool authorization) external onlyOwner {
        isAuthorized[address_] = authorization;
    }

    function isOwner(address account) public view returns (bool) {
        return account == _owner;
    }

    function transferOwnership(address payable newOwner) external onlyOwner {
        require(newOwner != address(0), "Auth: owner address cannot be zero");
        isAuthorized[newOwner] = true;
        _transferOwnership(newOwner);
    }

    function renounceOwnership() external onlyOwner {
        _transferOwnership(address(0));
    }

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

    event OwnershipTransferred(address owner);
}

contract VoxNET is IERC20, Auth {
    string public constant name = "VoxNET";
    string public constant symbol = "$VXON";
    uint8 public constant decimals = 4;
    uint public constant totalSupply = 1 * 10**6 * 10**decimals;

    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    uint private ecosystemFee = 2;
    uint private marketingFee = 4;
    uint private treasuryFee = 3;
    uint public fee;

    event FeesSet(uint ecosystem, uint marketing, uint treasury);

    function setFees(
        uint ecosystem,
        uint marketing,
        uint treasury
    ) external authorized {
        fee = ecosystem + marketing + treasury;
        require(fee <= 20, "VoxNET: fee cannot be more than 20%");

        ecosystemFee = ecosystem;
        marketingFee = marketing;
        treasuryFee = treasury;

        emit FeesSet(ecosystem, marketing, treasury);
    }

    address private constant router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address private weth;

    constructor() Auth(msg.sender) {
        weth = IUniswapV2Router02(router).WETH();
        fee = ecosystemFee + marketingFee + treasuryFee;

        isFeeExempt[msg.sender] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    function approve(address spender, uint amount) external override returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address recipient, uint amount) external override returns (bool) {
        return doTransfer(msg.sender, recipient, amount);
    }

    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) external override returns (bool) {
        if (allowance[sender][msg.sender] != type(uint).max) {
            require(allowance[sender][msg.sender] >= amount, "VoxNET: insufficient allowance");
            allowance[sender][msg.sender] = allowance[sender][msg.sender] - amount;
        }

        return doTransfer(sender, recipient, amount);
    }

    function doTransfer(
        address sender,
        address recipient,
        uint amount
    ) internal returns (bool) {
        if (!isAuthorized[sender] && !isAuthorized[recipient]) {
            require(launched, "VoxNET: transfers not allowed yet");
        }

        require(balanceOf[sender] >= amount, "VoxNET: insufficient balance");

        balanceOf[sender] = balanceOf[sender] - amount;

        uint amountAfterFee = amount;

        if (!distributingFee) {
            if ((isPool[sender] && !isFeeExempt[recipient]) || (isPool[recipient] && !isFeeExempt[sender])) {
                amountAfterFee = takeFee(sender, amount);
            } else {
                distributeFeeIfApplicable(amount);
            }
        }

        balanceOf[recipient] = balanceOf[recipient] + amountAfterFee;

        emit Transfer(sender, recipient, amountAfterFee);
        return true;
    }

    bool private launched = false;

    function launch() external onlyOwner {
        require(!launched, "VoxNET: already launched");

        require(pair != address(0), "VoxNET: DEx pair address must be set");
        require(
            ecosystemFeeReceiver != address(0) &&
                marketingFeeReceiver1 != address(0) &&
                marketingFeeReceiver2 != address(0) &&
                treasuryFeeReceiver != address(0),
            "VoxNET: fee recipient addresses must be set"
        );

        launched = true;
        tokenPriceTimestamp = block.timestamp;
    }

    function takeFee(address sender, uint amount) internal returns (uint) {
        uint feeAmount = (amount * fee) / 100 / 2;
        balanceOf[address(this)] = balanceOf[address(this)] + feeAmount;

        emit Transfer(sender, address(this), feeAmount);

        return amount - feeAmount;
    }

    uint private feeDistributionTransactionThreshold = 1 * 10**18;
    uint private feeDistributionBalanceThreshold = 1 * 10**18;
    uint private priceUpdateTimeThreshold = 900;

    function distributeFeeIfApplicable(uint amount) internal {
        updateTokenPriceIfApplicable();

        if (
            FixedPoint.mulDecode(tokenPrice, amount) >= feeDistributionTransactionThreshold &&
            FixedPoint.mulDecode(tokenPrice, balanceOf[address(this)]) >= feeDistributionBalanceThreshold
        ) {
            distributeFee();
        }
    }

    bool private distributingFee;

    function distributeFee() public {
        require(distributingFee == false, "VoxNET: reentry prohibited");
        distributingFee = true;

        uint tokensToSell = balanceOf[address(this)];

        if (tokensToSell > 0) {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = weth;

            allowance[address(this)][router] = tokensToSell;

            IUniswapV2Router02(router).swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokensToSell,
                0,
                path,
                address(this),
                block.timestamp
            );
        }

        uint amount = address(this).balance;

        if (amount > 0) {
            bool success;

            if (ecosystemFee != 0) {
                uint amountEcosystem = (amount * ecosystemFee) / fee;
                (success, ) = payable(ecosystemFeeReceiver).call{ value: amountEcosystem, gas: 30000 }("");
            }

            uint amountMarketing = (amount * marketingFee) / fee;
            (success, ) = payable(marketingFeeReceiver1).call{ value: amountMarketing / 2, gas: 30000 }("");
            (success, ) = payable(marketingFeeReceiver2).call{ value: amountMarketing / 2, gas: 30000 }("");

            uint amountTreasury = (amount * treasuryFee) / fee;
            (success, ) = payable(treasuryFeeReceiver).call{ value: amountTreasury, gas: 30000 }("");
        }

        distributingFee = false;
    }

    uint224 private tokenPrice = 0;
    uint private tokenPriceTimestamp;
    uint private tokenPriceCumulativeLast;

    function updateTokenPriceIfApplicable() internal {
        if (tokenPriceTimestamp != 0) {
            uint timeElapsed = block.timestamp - tokenPriceTimestamp;

            if (timeElapsed > priceUpdateTimeThreshold) {
                uint tokenPriceCumulative = getCumulativeTokenPrice();

                if (tokenPriceCumulativeLast != 0) {
                    tokenPrice = uint224((tokenPriceCumulative - tokenPriceCumulativeLast) / timeElapsed);
                }

                tokenPriceCumulativeLast = tokenPriceCumulative;
                tokenPriceTimestamp = block.timestamp;
            }
        }
    }

    function getCumulativeTokenPrice() internal view returns (uint) {
        uint cumulativePrice;

        if (IUniswapV2Pair(pair).token0() == address(this)) {
            cumulativePrice = IUniswapV2Pair(pair).price0CumulativeLast();
        } else {
            cumulativePrice = IUniswapV2Pair(pair).price1CumulativeLast();
        }

        if (cumulativePrice != 0) {
            uint32 blockTimestamp = uint32(block.timestamp % 2**32);

            (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast) = IUniswapV2Pair(pair).getReserves();

            if (blockTimestampLast != blockTimestamp) {
                uint32 timeElapsed = blockTimestamp - blockTimestampLast;

                if (IUniswapV2Pair(pair).token0() == address(this)) {
                    cumulativePrice += FixedPoint.fraction(reserve1, reserve0) * timeElapsed;
                } else {
                    cumulativePrice += FixedPoint.fraction(reserve0, reserve1) * timeElapsed;
                }
            }
        }

        return cumulativePrice;
    }

    mapping(address => bool) private isPool;

    event IsPool(address indexed addr, bool indexed isPool);

    function setIsPool(address contractAddress, bool contractIsPool) public onlyOwner {
        isPool[contractAddress] = contractIsPool;
        emit IsPool(contractAddress, contractIsPool);
    }

    address private pair;

    function setPair(address pairAddress) external onlyOwner {
        require(pairAddress != address(0), "VoxNET: DEx pair address cannot be zero");
        pair = pairAddress;
        setIsPool(pairAddress, true);
    }

    event FeeDistributionThresholdsSet(
        uint transactionThreshold,
        uint balanceThreshold,
        uint tokenPriceUpdateTimeThreshold
    );

    function setFeeDistributionThresholds(
        uint transactionThreshold,
        uint balanceThreshold,
        uint tokenPriceUpdateTimeThreshold
    ) external authorized {
        require(tokenPriceUpdateTimeThreshold > 0, "VoxNET: price update time threshold cannot be zero");

        feeDistributionTransactionThreshold = transactionThreshold;
        feeDistributionBalanceThreshold = balanceThreshold;
        priceUpdateTimeThreshold = tokenPriceUpdateTimeThreshold;

        emit FeeDistributionThresholdsSet(transactionThreshold, balanceThreshold, tokenPriceUpdateTimeThreshold);
    }

    mapping(address => bool) private isFeeExempt;

    event IsFeeExempt(address indexed addr, bool indexed isFeeExempt);

    function setIsFeeExempt(address excemptAddress, bool isExempt) external authorized {
        isFeeExempt[excemptAddress] = isExempt;
        emit IsFeeExempt(excemptAddress, isExempt);
    }

    address private ecosystemFeeReceiver;
    address private marketingFeeReceiver1;
    address private marketingFeeReceiver2;
    address private treasuryFeeReceiver;

    event FeeReceiversSet(
        address ecosystemFeeReceiver,
        address marketingFeeReceiver1,
        address marketingFeeReceiver2,
        address treasuryFeeReceiver
    );

    function setFeeReceivers(
        address ecosystem,
        address marketing1,
        address marketing2,
        address treasury
    ) external authorized {
        require(
            ecosystem != address(0) && marketing1 != address(0) && marketing2 != address(0) && treasury != address(0),
            "VoxNET: zero address provided"
        );

        ecosystemFeeReceiver = ecosystem;
        marketingFeeReceiver1 = marketing1;
        marketingFeeReceiver2 = marketing2;
        treasuryFeeReceiver = treasury;

        emit FeeReceiversSet(ecosystem, marketing1, marketing2, treasury);
    }

    receive() external payable {}

    fallback() external payable {}
}

File 2 of 5 : IUniswapV2Router02.sol
pragma solidity >=0.6.2;

import './IUniswapV2Router01.sol';

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

File 3 of 5 : IUniswapV2Router01.sol
pragma solidity >=0.6.2;

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

File 4 of 5 : IUniswapV2Pair.sol
pragma solidity >=0.5.0;

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

File 5 of 5 : IERC20.sol
pragma solidity >=0.5.0;

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "london",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":false,"internalType":"uint256","name":"transactionThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"balanceThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenPriceUpdateTimeThreshold","type":"uint256"}],"name":"FeeDistributionThresholdsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"ecosystemFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"marketingFeeReceiver1","type":"address"},{"indexed":false,"internalType":"address","name":"marketingFeeReceiver2","type":"address"},{"indexed":false,"internalType":"address","name":"treasuryFeeReceiver","type":"address"}],"name":"FeeReceiversSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ecosystem","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"treasury","type":"uint256"}],"name":"FeesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"bool","name":"isFeeExempt","type":"bool"}],"name":"IsFeeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"bool","name":"isPool","type":"bool"}],"name":"IsPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","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":[],"name":"distributeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"bool","name":"authorization","type":"bool"}],"name":"setAuthorization","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"transactionThreshold","type":"uint256"},{"internalType":"uint256","name":"balanceThreshold","type":"uint256"},{"internalType":"uint256","name":"tokenPriceUpdateTimeThreshold","type":"uint256"}],"name":"setFeeDistributionThresholds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ecosystem","type":"address"},{"internalType":"address","name":"marketing1","type":"address"},{"internalType":"address","name":"marketing2","type":"address"},{"internalType":"address","name":"treasury","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ecosystem","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"treasury","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"excemptAddress","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bool","name":"contractIsPool","type":"bool"}],"name":"setIsPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairAddress","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526002600490815560055560036006556008805460ff60a01b19169055670de0b6b3a76400006009819055600a55610384600b55600c8054610100600160e81b03191690553480156200005557600080fd5b50600080546001600160a01b031916339081178255815260016020818152604092839020805460ff191690921790915581516315ab88c960e31b81529151737a250d5630b4cf539739df2c5dacb4c659f2488d9263ad5c46489260048083019391928290030181865afa158015620000d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f79190620001db565b600880546001600160a01b0319166001600160a01b03929092169190911790556006546005546004546200012c919062000223565b62000138919062000223565b600755336000908152601160205260409020805460ff19166001179055620001636004600a6200033c565b6200017290620f42406200034d565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001b56004600a6200033c565b620001c490620f42406200034d565b60405190815260200160405180910390a362000367565b600060208284031215620001ee57600080fd5b81516001600160a01b03811681146200020657600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200023957620002396200020d565b92915050565b600181815b80851115620002805781600019048211156200026457620002646200020d565b808516156200027257918102915b93841c939080029062000244565b509250929050565b600082620002995750600162000239565b81620002a85750600062000239565b8160018114620002c15760028114620002cc57620002ec565b600191505062000239565b60ff841115620002e057620002e06200020d565b50506001821b62000239565b5060208310610133831016604e8410600b841016171562000311575081810a62000239565b6200031d83836200023f565b80600019048211156200033457620003346200020d565b029392505050565b60006200020660ff84168362000288565b80820281158282048414176200023957620002396200020d565b611fa680620003776000396000f3fe6080604052600436106101385760003560e01c806370a08231116100b0578063cec10c111161006c578063cec10c11146103af578063dd62ed3e146103cf578063ddca3f4314610407578063eecea0001461041d578063f2fde38b1461043d578063fe9fbb801461045d57005b806370a08231146102dc578063715018a6146103095780638187f5161461031e5780638f2f2c061461033e57806395d89b411461035e578063a9059cbb1461038f57005b806323b872dd116100ff57806323b872dd1461021157806326c4e60d146102315780632f54bf6e14610246578063313ce567146102755780633c8e556d1461029c578063658d4b7f146102bc57005b806301339c211461014157806306fdde0314610156578063095ea7b31461019e57806318160ddd146101ce5780631cb5a549146101f157005b3661013f57005b005b34801561014d57600080fd5b5061013f61048d565b34801561016257600080fd5b5061018860405180604001604052806006815260200165159bde13915560d21b81525081565b6040516101959190611a6a565b60405180910390f35b3480156101aa57600080fd5b506101be6101b9366004611acd565b610647565b6040519015158152602001610195565b3480156101da57600080fd5b506101e36106b4565b604051908152602001610195565b3480156101fd57600080fd5b5061013f61020c366004611af9565b6106d0565b34801561021d57600080fd5b506101be61022c366004611b37565b61074e565b34801561023d57600080fd5b5061013f610854565b34801561025257600080fd5b506101be610261366004611b78565b6000546001600160a01b0391821691161490565b34801561028157600080fd5b5061028a600481565b60405160ff9091168152602001610195565b3480156102a857600080fd5b5061013f6102b7366004611b95565b610bce565b3480156102c857600080fd5b5061013f6102d7366004611af9565b610d2c565b3480156102e857600080fd5b506101e36102f7366004611b78565b60026020526000908152604090205481565b34801561031557600080fd5b5061013f610daf565b34801561032a57600080fd5b5061013f610339366004611b78565b610de5565b34801561034a57600080fd5b5061013f610359366004611bf1565b610e9e565b34801561036a57600080fd5b5061018860405180604001604052806005815260200164122b2c27a760d91b81525081565b34801561039b57600080fd5b506101be6103aa366004611acd565b610f8e565b3480156103bb57600080fd5b5061013f6103ca366004611bf1565b610fa2565b3480156103db57600080fd5b506101e36103ea366004611c1d565b600360209081526000928352604080842090915290825290205481565b34801561041357600080fd5b506101e360075481565b34801561042957600080fd5b5061013f610438366004611af9565b611094565b34801561044957600080fd5b5061013f610458366004611b78565b6110e9565b34801561046957600080fd5b506101be610478366004611b78565b60016020526000908152604090205460ff1681565b6000546001600160a01b031633146104c05760405162461bcd60e51b81526004016104b790611c4b565b60405180910390fd5b600854600160a01b900460ff161561051a5760405162461bcd60e51b815260206004820152601860248201527f566f784e45543a20616c7265616479206c61756e63686564000000000000000060448201526064016104b7565b6010546001600160a01b031661057e5760405162461bcd60e51b8152602060048201526024808201527f566f784e45543a2044457820706169722061646472657373206d757374206265604482015263081cd95d60e21b60648201526084016104b7565b6012546001600160a01b0316158015906105a257506013546001600160a01b031615155b80156105b857506014546001600160a01b031615155b80156105ce57506015546001600160a01b031615155b61062e5760405162461bcd60e51b815260206004820152602b60248201527f566f784e45543a2066656520726563697069656e74206164647265737365732060448201526a1b5d5cdd081899481cd95d60aa1b60648201526084016104b7565b6008805460ff60a01b1916600160a01b17905542600d55565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106a29086815260200190565b60405180910390a35060015b92915050565b6106c06004600a611d6f565b6106cd90620f4240611d7e565b81565b6000546001600160a01b031633146106fa5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917f6e5ec360a499b56e83b8582fe48667423030ddf5a19f49a7bf52a99e40d9997f91a35050565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610841576001600160a01b03841660009081526003602090815260408083203384529091529020548211156107ed5760405162461bcd60e51b815260206004820152601e60248201527f566f784e45543a20696e73756666696369656e7420616c6c6f77616e6365000060448201526064016104b7565b6001600160a01b038416600090815260036020908152604080832033845290915290205461081c908390611d95565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61084c8484846111a3565b949350505050565b600c5460ff16156108a75760405162461bcd60e51b815260206004820152601a60248201527f566f784e45543a207265656e7472792070726f6869626974656400000000000060448201526064016104b7565b600c805460ff191660011790553060009081526002602052604090205480156109cf5760408051600280825260608201835260009260208301908036833701905050905030816000815181106108ff576108ff611da8565b6001600160a01b03928316602091820292909201015260085482519116908290600190811061093057610930611da8565b6001600160a01b03909216602092830291909101820152306000818152600383526040808220737a250d5630b4cf539739df2c5dacb4c659f2488d80845294528082208690555163791ac94760e01b815263791ac9479261099b928792909187914290600401611dbe565b600060405180830381600087803b1580156109b557600080fd5b505af11580156109c9573d6000803e3d6000fd5b50505050505b478015610bc0576000600454600014610a5e576000600754600454846109f59190611d7e565b6109ff9190611e45565b6012546040519192506001600160a01b0316906175309083906000818181858888f193505050503d8060008114610a52576040519150601f19603f3d011682016040523d82523d6000602084013e610a57565b606091505b5090925050505b600060075460055484610a719190611d7e565b610a7b9190611e45565b6013549091506001600160a01b0316610a95600283611e45565b60405161753091906000818181858888f193505050503d8060008114610ad7576040519150601f19603f3d011682016040523d82523d6000602084013e610adc565b606091505b50506014549092506001600160a01b0316610af8600283611e45565b60405161753091906000818181858888f193505050503d8060008114610b3a576040519150601f19603f3d011682016040523d82523d6000602084013e610b3f565b606091505b5050600754600654919350600091610b579086611d7e565b610b619190611e45565b6015546040519192506001600160a01b0316906175309083906000818181858888f193505050503d8060008114610bb4576040519150601f19603f3d011682016040523d82523d6000602084013e610bb9565b606091505b5050505050505b5050600c805460ff19169055565b3360009081526001602052604090205460ff16610bfd5760405162461bcd60e51b81526004016104b790611e59565b6001600160a01b03841615801590610c1d57506001600160a01b03831615155b8015610c3157506001600160a01b03821615155b8015610c4557506001600160a01b03811615155b610c915760405162461bcd60e51b815260206004820152601d60248201527f566f784e45543a207a65726f20616464726573732070726f766964656400000060448201526064016104b7565b601280546001600160a01b038681166001600160a01b031992831681179093556013805487831690841681179091556014805487841690851681179091556015805493871693909416831790935560408051948552602085019190915283019190915260608201527ff834045a0eee13b8ef4a83b75f29328abd4cdc966e44c9db5f4ba9b825dfd75d9060800160405180910390a150505050565b3360009081526001602052604090205460ff16610d5b5760405162461bcd60e51b81526004016104b790611e59565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917f9fa25b0cf421a33bf5df4c958f19075502a5e4611a54151b2d7ec9f2316777d791a35050565b6000546001600160a01b03163314610dd95760405162461bcd60e51b81526004016104b790611c4b565b610de36000611430565b565b6000546001600160a01b03163314610e0f5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b038116610e755760405162461bcd60e51b815260206004820152602760248201527f566f784e45543a20444578207061697220616464726573732063616e6e6f74206044820152666265207a65726f60c81b60648201526084016104b7565b601080546001600160a01b0319166001600160a01b038316179055610e9b8160016106d0565b50565b3360009081526001602052604090205460ff16610ecd5760405162461bcd60e51b81526004016104b790611e59565b60008111610f385760405162461bcd60e51b815260206004820152603260248201527f566f784e45543a207072696365207570646174652074696d65207468726573686044820152716f6c642063616e6e6f74206265207a65726f60701b60648201526084016104b7565b6009839055600a829055600b81905560408051848152602081018490529081018290527f172ce333d6efb7382c37b9bea5cccafe33b07418def31c1f4cce7f8610fbbed6906060015b60405180910390a1505050565b6000610f9b3384846111a3565b9392505050565b3360009081526001602052604090205460ff16610fd15760405162461bcd60e51b81526004016104b790611e59565b80610fdc8385611e88565b610fe69190611e88565b6007819055601410156110475760405162461bcd60e51b815260206004820152602360248201527f566f784e45543a206665652063616e6e6f74206265206d6f7265207468616e2060448201526232302560e81b60648201526084016104b7565b60048390556005829055600681905560408051848152602081018490529081018290527f01bae858246c904512695a3f6d48ab88abb7a0192fdd7c53b043e60317795f4590606001610f81565b6000546001600160a01b031633146110be5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111135760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b0381166111745760405162461bcd60e51b815260206004820152602260248201527f417574683a206f776e657220616464726573732063616e6e6f74206265207a65604482015261726f60f01b60648201526084016104b7565b6001600160a01b0381166000908152600160208190526040909120805460ff19169091179055610e9b81611430565b6001600160a01b03831660009081526001602052604081205460ff161580156111e557506001600160a01b03831660009081526001602052604090205460ff16155b1561124d57600854600160a01b900460ff1661124d5760405162461bcd60e51b815260206004820152602160248201527f566f784e45543a207472616e7366657273206e6f7420616c6c6f7765642079656044820152601d60fa1b60648201526084016104b7565b6001600160a01b0384166000908152600260205260409020548211156112b55760405162461bcd60e51b815260206004820152601c60248201527f566f784e45543a20696e73756666696369656e742062616c616e63650000000060448201526064016104b7565b6001600160a01b0384166000908152600260205260409020546112d9908390611d95565b6001600160a01b038516600090815260026020526040902055600c54829060ff166113a5576001600160a01b0385166000908152600f602052604090205460ff16801561133f57506001600160a01b03841660009081526011602052604090205460ff16155b8061138657506001600160a01b0384166000908152600f602052604090205460ff16801561138657506001600160a01b03851660009081526011602052604090205460ff16155b1561139c576113958584611484565b90506113a5565b6113a58361152e565b6001600160a01b0384166000908152600260205260409020546113c9908290611e88565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061141d9085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60008060026064600754856114999190611d7e565b6114a39190611e45565b6114ad9190611e45565b306000908152600260205260409020549091506114cb908290611e88565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061151c9085815260200190565b60405180910390a361084c8184611d95565b61153661159b565b600954600c546115549061010090046001600160e01b03168361161f565b1015801561158e5750600a54600c543060009081526002602052604090205461158b9161010090046001600160e01b03169061161f565b10155b15610e9b57610e9b610854565b600d5415610de3576000600d54426115b39190611d95565b9050600b54811115610e9b5760006115c961163f565b9050600e546000146116155781600e54826115e49190611d95565b6115ee9190611e45565b600c60016101000a8154816001600160e01b0302191690836001600160e01b031602179055505b600e5542600d5550565b60006070611636836001600160e01b038616611d7e565b901c9392505050565b600080306001600160a01b0316601060009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190611e9b565b6001600160a01b03160361174f57601060009054906101000a90046001600160a01b03166001600160a01b0316635909c0d56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117489190611eb8565b90506117c9565b601060009054906101000a90046001600160a01b03166001600160a01b0316635a3d54936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c69190611eb8565b90505b80156119935760006117e064010000000042611ed1565b90506000806000601060009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e9190611efc565b9250925092508363ffffffff168163ffffffff161461198e5760006118838286611f4c565b9050306001600160a01b0316601060009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190611e9b565b6001600160a01b031603611952578063ffffffff16611937846001600160701b0316866001600160701b0316611998565b6119419190611d7e565b61194b9087611e88565b955061198c565b8063ffffffff16611975856001600160701b0316856001600160701b0316611998565b61197f9190611d7e565b6119899087611e88565b95505b505b505050505b919050565b6000826000036119aa575060006106ae565b600082116119fa5760405162461bcd60e51b815260206004820152601c60248201527f4669786564506f696e743a206469766973696f6e206279207a65726f0000000060448201526064016104b7565b71ffffffffffffffffffffffffffffffffffff831115611a5c5760405162461bcd60e51b815260206004820152601d60248201527f4669786564506f696e743a206e756d657261746f7220746f6f2062696700000060448201526064016104b7565b610f9b82607085901b611e45565b600060208083528351808285015260005b81811015611a9757858101830151858201604001528201611a7b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e9b57600080fd5b60008060408385031215611ae057600080fd5b8235611aeb81611ab8565b946020939093013593505050565b60008060408385031215611b0c57600080fd5b8235611b1781611ab8565b915060208301358015158114611b2c57600080fd5b809150509250929050565b600080600060608486031215611b4c57600080fd5b8335611b5781611ab8565b92506020840135611b6781611ab8565b929592945050506040919091013590565b600060208284031215611b8a57600080fd5b8135610f9b81611ab8565b60008060008060808587031215611bab57600080fd5b8435611bb681611ab8565b93506020850135611bc681611ab8565b92506040850135611bd681611ab8565b91506060850135611be681611ab8565b939692955090935050565b600080600060608486031215611c0657600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611c3057600080fd5b8235611c3b81611ab8565b91506020830135611b2c81611ab8565b60208082526010908201526f417574683a206f776e6572206f6e6c7960801b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611cc6578160001904821115611cac57611cac611c75565b80851615611cb957918102915b93841c9390800290611c90565b509250929050565b600082611cdd575060016106ae565b81611cea575060006106ae565b8160018114611d005760028114611d0a57611d26565b60019150506106ae565b60ff841115611d1b57611d1b611c75565b50506001821b6106ae565b5060208310610133831016604e8410600b8410161715611d49575081810a6106ae565b611d538383611c8b565b8060001904821115611d6757611d67611c75565b029392505050565b6000610f9b60ff841683611cce565b80820281158282048414176106ae576106ae611c75565b818103818111156106ae576106ae611c75565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e0e5784516001600160a01b031683529383019391830191600101611de9565b50506001600160a01b03969096166060850152505050608001529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e5457611e54611e2f565b500490565b602080825260159082015274417574683a20617574686f72697a6564206f6e6c7960581b604082015260600190565b808201808211156106ae576106ae611c75565b600060208284031215611ead57600080fd5b8151610f9b81611ab8565b600060208284031215611eca57600080fd5b5051919050565b600082611ee057611ee0611e2f565b500690565b80516001600160701b038116811461199357600080fd5b600080600060608486031215611f1157600080fd5b611f1a84611ee5565b9250611f2860208501611ee5565b9150604084015163ffffffff81168114611f4157600080fd5b809150509250925092565b63ffffffff828116828216039080821115611f6957611f69611c75565b509291505056fea2646970667358221220a1965b7814c24bd1049c86dbdef07d6cd46b4e7b74c7ede8bba1376eb9b2c73e64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101385760003560e01c806370a08231116100b0578063cec10c111161006c578063cec10c11146103af578063dd62ed3e146103cf578063ddca3f4314610407578063eecea0001461041d578063f2fde38b1461043d578063fe9fbb801461045d57005b806370a08231146102dc578063715018a6146103095780638187f5161461031e5780638f2f2c061461033e57806395d89b411461035e578063a9059cbb1461038f57005b806323b872dd116100ff57806323b872dd1461021157806326c4e60d146102315780632f54bf6e14610246578063313ce567146102755780633c8e556d1461029c578063658d4b7f146102bc57005b806301339c211461014157806306fdde0314610156578063095ea7b31461019e57806318160ddd146101ce5780631cb5a549146101f157005b3661013f57005b005b34801561014d57600080fd5b5061013f61048d565b34801561016257600080fd5b5061018860405180604001604052806006815260200165159bde13915560d21b81525081565b6040516101959190611a6a565b60405180910390f35b3480156101aa57600080fd5b506101be6101b9366004611acd565b610647565b6040519015158152602001610195565b3480156101da57600080fd5b506101e36106b4565b604051908152602001610195565b3480156101fd57600080fd5b5061013f61020c366004611af9565b6106d0565b34801561021d57600080fd5b506101be61022c366004611b37565b61074e565b34801561023d57600080fd5b5061013f610854565b34801561025257600080fd5b506101be610261366004611b78565b6000546001600160a01b0391821691161490565b34801561028157600080fd5b5061028a600481565b60405160ff9091168152602001610195565b3480156102a857600080fd5b5061013f6102b7366004611b95565b610bce565b3480156102c857600080fd5b5061013f6102d7366004611af9565b610d2c565b3480156102e857600080fd5b506101e36102f7366004611b78565b60026020526000908152604090205481565b34801561031557600080fd5b5061013f610daf565b34801561032a57600080fd5b5061013f610339366004611b78565b610de5565b34801561034a57600080fd5b5061013f610359366004611bf1565b610e9e565b34801561036a57600080fd5b5061018860405180604001604052806005815260200164122b2c27a760d91b81525081565b34801561039b57600080fd5b506101be6103aa366004611acd565b610f8e565b3480156103bb57600080fd5b5061013f6103ca366004611bf1565b610fa2565b3480156103db57600080fd5b506101e36103ea366004611c1d565b600360209081526000928352604080842090915290825290205481565b34801561041357600080fd5b506101e360075481565b34801561042957600080fd5b5061013f610438366004611af9565b611094565b34801561044957600080fd5b5061013f610458366004611b78565b6110e9565b34801561046957600080fd5b506101be610478366004611b78565b60016020526000908152604090205460ff1681565b6000546001600160a01b031633146104c05760405162461bcd60e51b81526004016104b790611c4b565b60405180910390fd5b600854600160a01b900460ff161561051a5760405162461bcd60e51b815260206004820152601860248201527f566f784e45543a20616c7265616479206c61756e63686564000000000000000060448201526064016104b7565b6010546001600160a01b031661057e5760405162461bcd60e51b8152602060048201526024808201527f566f784e45543a2044457820706169722061646472657373206d757374206265604482015263081cd95d60e21b60648201526084016104b7565b6012546001600160a01b0316158015906105a257506013546001600160a01b031615155b80156105b857506014546001600160a01b031615155b80156105ce57506015546001600160a01b031615155b61062e5760405162461bcd60e51b815260206004820152602b60248201527f566f784e45543a2066656520726563697069656e74206164647265737365732060448201526a1b5d5cdd081899481cd95d60aa1b60648201526084016104b7565b6008805460ff60a01b1916600160a01b17905542600d55565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106a29086815260200190565b60405180910390a35060015b92915050565b6106c06004600a611d6f565b6106cd90620f4240611d7e565b81565b6000546001600160a01b031633146106fa5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b0382166000818152600f6020526040808220805460ff191685151590811790915590519092917f6e5ec360a499b56e83b8582fe48667423030ddf5a19f49a7bf52a99e40d9997f91a35050565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610841576001600160a01b03841660009081526003602090815260408083203384529091529020548211156107ed5760405162461bcd60e51b815260206004820152601e60248201527f566f784e45543a20696e73756666696369656e7420616c6c6f77616e6365000060448201526064016104b7565b6001600160a01b038416600090815260036020908152604080832033845290915290205461081c908390611d95565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61084c8484846111a3565b949350505050565b600c5460ff16156108a75760405162461bcd60e51b815260206004820152601a60248201527f566f784e45543a207265656e7472792070726f6869626974656400000000000060448201526064016104b7565b600c805460ff191660011790553060009081526002602052604090205480156109cf5760408051600280825260608201835260009260208301908036833701905050905030816000815181106108ff576108ff611da8565b6001600160a01b03928316602091820292909201015260085482519116908290600190811061093057610930611da8565b6001600160a01b03909216602092830291909101820152306000818152600383526040808220737a250d5630b4cf539739df2c5dacb4c659f2488d80845294528082208690555163791ac94760e01b815263791ac9479261099b928792909187914290600401611dbe565b600060405180830381600087803b1580156109b557600080fd5b505af11580156109c9573d6000803e3d6000fd5b50505050505b478015610bc0576000600454600014610a5e576000600754600454846109f59190611d7e565b6109ff9190611e45565b6012546040519192506001600160a01b0316906175309083906000818181858888f193505050503d8060008114610a52576040519150601f19603f3d011682016040523d82523d6000602084013e610a57565b606091505b5090925050505b600060075460055484610a719190611d7e565b610a7b9190611e45565b6013549091506001600160a01b0316610a95600283611e45565b60405161753091906000818181858888f193505050503d8060008114610ad7576040519150601f19603f3d011682016040523d82523d6000602084013e610adc565b606091505b50506014549092506001600160a01b0316610af8600283611e45565b60405161753091906000818181858888f193505050503d8060008114610b3a576040519150601f19603f3d011682016040523d82523d6000602084013e610b3f565b606091505b5050600754600654919350600091610b579086611d7e565b610b619190611e45565b6015546040519192506001600160a01b0316906175309083906000818181858888f193505050503d8060008114610bb4576040519150601f19603f3d011682016040523d82523d6000602084013e610bb9565b606091505b5050505050505b5050600c805460ff19169055565b3360009081526001602052604090205460ff16610bfd5760405162461bcd60e51b81526004016104b790611e59565b6001600160a01b03841615801590610c1d57506001600160a01b03831615155b8015610c3157506001600160a01b03821615155b8015610c4557506001600160a01b03811615155b610c915760405162461bcd60e51b815260206004820152601d60248201527f566f784e45543a207a65726f20616464726573732070726f766964656400000060448201526064016104b7565b601280546001600160a01b038681166001600160a01b031992831681179093556013805487831690841681179091556014805487841690851681179091556015805493871693909416831790935560408051948552602085019190915283019190915260608201527ff834045a0eee13b8ef4a83b75f29328abd4cdc966e44c9db5f4ba9b825dfd75d9060800160405180910390a150505050565b3360009081526001602052604090205460ff16610d5b5760405162461bcd60e51b81526004016104b790611e59565b6001600160a01b038216600081815260116020526040808220805460ff191685151590811790915590519092917f9fa25b0cf421a33bf5df4c958f19075502a5e4611a54151b2d7ec9f2316777d791a35050565b6000546001600160a01b03163314610dd95760405162461bcd60e51b81526004016104b790611c4b565b610de36000611430565b565b6000546001600160a01b03163314610e0f5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b038116610e755760405162461bcd60e51b815260206004820152602760248201527f566f784e45543a20444578207061697220616464726573732063616e6e6f74206044820152666265207a65726f60c81b60648201526084016104b7565b601080546001600160a01b0319166001600160a01b038316179055610e9b8160016106d0565b50565b3360009081526001602052604090205460ff16610ecd5760405162461bcd60e51b81526004016104b790611e59565b60008111610f385760405162461bcd60e51b815260206004820152603260248201527f566f784e45543a207072696365207570646174652074696d65207468726573686044820152716f6c642063616e6e6f74206265207a65726f60701b60648201526084016104b7565b6009839055600a829055600b81905560408051848152602081018490529081018290527f172ce333d6efb7382c37b9bea5cccafe33b07418def31c1f4cce7f8610fbbed6906060015b60405180910390a1505050565b6000610f9b3384846111a3565b9392505050565b3360009081526001602052604090205460ff16610fd15760405162461bcd60e51b81526004016104b790611e59565b80610fdc8385611e88565b610fe69190611e88565b6007819055601410156110475760405162461bcd60e51b815260206004820152602360248201527f566f784e45543a206665652063616e6e6f74206265206d6f7265207468616e2060448201526232302560e81b60648201526084016104b7565b60048390556005829055600681905560408051848152602081018490529081018290527f01bae858246c904512695a3f6d48ab88abb7a0192fdd7c53b043e60317795f4590606001610f81565b6000546001600160a01b031633146110be5760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111135760405162461bcd60e51b81526004016104b790611c4b565b6001600160a01b0381166111745760405162461bcd60e51b815260206004820152602260248201527f417574683a206f776e657220616464726573732063616e6e6f74206265207a65604482015261726f60f01b60648201526084016104b7565b6001600160a01b0381166000908152600160208190526040909120805460ff19169091179055610e9b81611430565b6001600160a01b03831660009081526001602052604081205460ff161580156111e557506001600160a01b03831660009081526001602052604090205460ff16155b1561124d57600854600160a01b900460ff1661124d5760405162461bcd60e51b815260206004820152602160248201527f566f784e45543a207472616e7366657273206e6f7420616c6c6f7765642079656044820152601d60fa1b60648201526084016104b7565b6001600160a01b0384166000908152600260205260409020548211156112b55760405162461bcd60e51b815260206004820152601c60248201527f566f784e45543a20696e73756666696369656e742062616c616e63650000000060448201526064016104b7565b6001600160a01b0384166000908152600260205260409020546112d9908390611d95565b6001600160a01b038516600090815260026020526040902055600c54829060ff166113a5576001600160a01b0385166000908152600f602052604090205460ff16801561133f57506001600160a01b03841660009081526011602052604090205460ff16155b8061138657506001600160a01b0384166000908152600f602052604090205460ff16801561138657506001600160a01b03851660009081526011602052604090205460ff16155b1561139c576113958584611484565b90506113a5565b6113a58361152e565b6001600160a01b0384166000908152600260205260409020546113c9908290611e88565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061141d9085815260200190565b60405180910390a3506001949350505050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b60008060026064600754856114999190611d7e565b6114a39190611e45565b6114ad9190611e45565b306000908152600260205260409020549091506114cb908290611e88565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061151c9085815260200190565b60405180910390a361084c8184611d95565b61153661159b565b600954600c546115549061010090046001600160e01b03168361161f565b1015801561158e5750600a54600c543060009081526002602052604090205461158b9161010090046001600160e01b03169061161f565b10155b15610e9b57610e9b610854565b600d5415610de3576000600d54426115b39190611d95565b9050600b54811115610e9b5760006115c961163f565b9050600e546000146116155781600e54826115e49190611d95565b6115ee9190611e45565b600c60016101000a8154816001600160e01b0302191690836001600160e01b031602179055505b600e5542600d5550565b60006070611636836001600160e01b038616611d7e565b901c9392505050565b600080306001600160a01b0316601060009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561169f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c39190611e9b565b6001600160a01b03160361174f57601060009054906101000a90046001600160a01b03166001600160a01b0316635909c0d56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117489190611eb8565b90506117c9565b601060009054906101000a90046001600160a01b03166001600160a01b0316635a3d54936040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c69190611eb8565b90505b80156119935760006117e064010000000042611ed1565b90506000806000601060009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561183a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185e9190611efc565b9250925092508363ffffffff168163ffffffff161461198e5760006118838286611f4c565b9050306001600160a01b0316601060009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190611e9b565b6001600160a01b031603611952578063ffffffff16611937846001600160701b0316866001600160701b0316611998565b6119419190611d7e565b61194b9087611e88565b955061198c565b8063ffffffff16611975856001600160701b0316856001600160701b0316611998565b61197f9190611d7e565b6119899087611e88565b95505b505b505050505b919050565b6000826000036119aa575060006106ae565b600082116119fa5760405162461bcd60e51b815260206004820152601c60248201527f4669786564506f696e743a206469766973696f6e206279207a65726f0000000060448201526064016104b7565b71ffffffffffffffffffffffffffffffffffff831115611a5c5760405162461bcd60e51b815260206004820152601d60248201527f4669786564506f696e743a206e756d657261746f7220746f6f2062696700000060448201526064016104b7565b610f9b82607085901b611e45565b600060208083528351808285015260005b81811015611a9757858101830151858201604001528201611a7b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e9b57600080fd5b60008060408385031215611ae057600080fd5b8235611aeb81611ab8565b946020939093013593505050565b60008060408385031215611b0c57600080fd5b8235611b1781611ab8565b915060208301358015158114611b2c57600080fd5b809150509250929050565b600080600060608486031215611b4c57600080fd5b8335611b5781611ab8565b92506020840135611b6781611ab8565b929592945050506040919091013590565b600060208284031215611b8a57600080fd5b8135610f9b81611ab8565b60008060008060808587031215611bab57600080fd5b8435611bb681611ab8565b93506020850135611bc681611ab8565b92506040850135611bd681611ab8565b91506060850135611be681611ab8565b939692955090935050565b600080600060608486031215611c0657600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611c3057600080fd5b8235611c3b81611ab8565b91506020830135611b2c81611ab8565b60208082526010908201526f417574683a206f776e6572206f6e6c7960801b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611cc6578160001904821115611cac57611cac611c75565b80851615611cb957918102915b93841c9390800290611c90565b509250929050565b600082611cdd575060016106ae565b81611cea575060006106ae565b8160018114611d005760028114611d0a57611d26565b60019150506106ae565b60ff841115611d1b57611d1b611c75565b50506001821b6106ae565b5060208310610133831016604e8410600b8410161715611d49575081810a6106ae565b611d538383611c8b565b8060001904821115611d6757611d67611c75565b029392505050565b6000610f9b60ff841683611cce565b80820281158282048414176106ae576106ae611c75565b818103818111156106ae576106ae611c75565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611e0e5784516001600160a01b031683529383019391830191600101611de9565b50506001600160a01b03969096166060850152505050608001529392505050565b634e487b7160e01b600052601260045260246000fd5b600082611e5457611e54611e2f565b500490565b602080825260159082015274417574683a20617574686f72697a6564206f6e6c7960581b604082015260600190565b808201808211156106ae576106ae611c75565b600060208284031215611ead57600080fd5b8151610f9b81611ab8565b600060208284031215611eca57600080fd5b5051919050565b600082611ee057611ee0611e2f565b500690565b80516001600160701b038116811461199357600080fd5b600080600060608486031215611f1157600080fd5b611f1a84611ee5565b9250611f2860208501611ee5565b9150604084015163ffffffff81168114611f4157600080fd5b809150509250925092565b63ffffffff828116828216039080821115611f6957611f69611c75565b509291505056fea2646970667358221220a1965b7814c24bd1049c86dbdef07d6cd46b4e7b74c7ede8bba1376eb9b2c73e64736f6c63430008110033

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.