ETH Price: $3,411.51 (+1.61%)

Token

BunchTrans (BTS)
 

Overview

Max Total Supply

1,000,000,000 BTS

Holders

85

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
johnpalmer.eth
Balance
7,587,928.789184799 BTS

Value
$0.00
0xB0623C91c65621df716aB8aFE5f66656B21A9108
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:
BTS

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-16
*/

// SPDX-License-Identifier: Unlicensed

/**
Bunch transfer NFTs, Tokens, and ETH
Safely and efficiently to one or multiple wallets in a single transaction, and save gas.

Web: https://bunchtrans.pro
App: https://app.bunchtrans.pro
Tg: https://t.me/bunchtrans_official
X: https://twitter.com/BunchTransTech
Blog: https://medium.com/@bunchtrans
 */

pragma solidity = 0.8.21;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Context {
    constructor() {
    }

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapRouterV1 {
    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 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 swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    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 IUniswapRouterV2 is IUniswapRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPair);
    function createPair(address tokenA, address tokenB) external returns (address lpPair);
}

contract BTS is Context, Ownable, IERC20 {

    string constant private _name = "BunchTrans";
    string constant private _symbol = "BTS";
    uint8 constant private _decimals = 9;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public minAmountToStartSwap = _totalSupply / 100_000;
    uint256 constant public trnfTax = 0;
    uint256 constant public taxDenominator = 1_000;
    uint256 public purchaseTax = 220;
    uint256 public saleTax = 220;
    uint256 private _maxTxAmount = 25 * _totalSupply / 1000;
    bool private swapTaxEnabled = true;

    address public lpPair;
    IUniswapRouterV2 public uniswapRouter;
    address payable private _devAddress;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    bool public tradeEnabled = false;
    bool private _inswaps;
    bool private noTxLimit = false;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _taxExcludedAddr;
    mapping (address => bool) private _liquidityOwners;
    mapping (address => bool) private _liquidityPairs;
    mapping (address => uint256) private balance;

    modifier inSwapFlag {
        _inswaps = true;
        _;
        _inswaps = false;
    }
    event SwapAndLiquify();


    constructor () {
        uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _taxExcludedAddr[msg.sender] = true;
        _devAddress = payable(address(0x395651b9418C0c0F549c10cA8725f3Bf22e0A715));
        _taxExcludedAddr[_devAddress] = true;
        _liquidityOwners[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpPair = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _liquidityPairs[lpPair] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }
                        
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    
    function shouldSwapFee(address ins) internal view returns (bool) {
        bool canswap = swapTaxEnabled && !_taxExcludedAddr[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "Cannot transfer to DEAD address");
        require(from != address(0), "Cannot transfer from DEAD address");
        require(amount > 0, "Transfer token amount must be greater than zero");

        if (isTaxExcluded(from,to)) {
            require(tradeEnabled,"Trade is not started");
                    if(!_liquidityPairs[to] && from != address(this) && to != address(this) || isTrnf(from,to) && !noTxLimit)  { require(balanceOf(to) + amount <= _maxTxAmount,"_maxTxAmount exceed"); }}


        if(isOnSale(from, to) &&  !_inswaps && shouldSwapFee(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= minAmountToStartSwap) { 
                if(amount > minAmountToStartSwap) swapBack(tokenAmount);
             }
        }

        if (_taxExcludedAddr[from] || _taxExcludedAddr[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? getReceivableAmount(from, isOnPurchase(from, to), isOnSale(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeEnabled ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }

    function isTaxExcluded(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_liquidityOwners[ins]  && !_liquidityOwners[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function isOnPurchase(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_liquidityPairs[out] && _liquidityPairs[ins];
        return _is_buy;
    }

    function isOnSale(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _liquidityPairs[out] && !_liquidityPairs[ins];
        return _is_sell;
    }

    receive() external payable {}
    
    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "Couldnt approve on Zero Address");
        require(spender != address(0), "Couldnt approve on Zero Address");

        _allowances[sender][spender] = amount;
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }
    
    function onLaunch() external onlyOwner {
        require(!tradeEnabled, "Already started");
        tradeEnabled = true;
    }
    
    function onRemoveLimits() external onlyOwner {
        require(!noTxLimit,"Already removed limits");
        _maxTxAmount = _totalSupply;
        noTxLimit = true;
        purchaseTax = 10;
        saleTax = 10;
    }
    
    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
    
    function isTrnf(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_liquidityPairs[out] && !_liquidityPairs[ins];
        return _is_transfer;
    }
    
    function getReceivableAmount(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = purchaseTax;  else if (issell)  fee = saleTax;  else  fee = trnfTax; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / taxDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }
    
    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) _devAddress.transfer(address(this).balance);
    } 
}

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":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minAmountToStartSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"onLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"onRemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"purchaseTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"trnfTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260dc60018190556002556103e862000026670de0b6b3a7640000601962000465565b6200003291906200048f565b6003556004805460ff191660011790556006805462ff00ff60a01b191690553480156200005d575f80fd5b50620000693362000337565b600580546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155335f818152600860209081526040808320805460ff1990811660019081179092556006805490971673395651b9418c0c0f549c10ca8725f3bf22e0a715179096557fa798ba6dbe84fad0d7bb857618aa786dfc650cd705f87070424e2a7f9f7d8145805487168217905560098352818420805490961617909455600b8152838220670de0b6b3a7640000908190559351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360055f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001cb9190620004af565b6001600160a01b031663c9c6539660055f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002509190620004af565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156200029a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c09190620004af565b60048054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600a60205260409020805460ff1916600117905560055462000316913391165f1962000386565b600554620003319030906001600160a01b03165f1962000386565b620004de565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003e25760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f20416464726573730060448201526064015b60405180910390fd5b6001600160a01b0382166200043a5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f2041646472657373006044820152606401620003d9565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b80820281158282048414176200048957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620004aa57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004c0575f80fd5b81516001600160a01b0381168114620004d7575f80fd5b9392505050565b6113cb80620004ec5f395ff3fe608060405260043610610164575f3560e01c8063735de9f7116100cd578063b198cf2711610087578063c53037ea11610062578063c53037ea146103f2578063d621e81314610405578063dd62ed3e14610425578063f2fde38b14610469575f80fd5b8063b198cf27146103b5578063b361b2b5146103c9578063ba928292146103de575f80fd5b8063735de9f71461031c578063893d20e81461033b5780638da5cb5b1461033b57806395d89b4114610357578063a3efca0214610382578063a9059cbb14610396575f80fd5b80633eaaf86b1161011e5780633eaaf86b14610269578063452ed4f1146102845780634abdefd5146102a857806362f837ef146102bd57806370a08231146102d2578063715018a614610306575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101dc57806318160ddd1461020b57806323b872dd1461022f578063313ce5671461024e575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600a81526942756e63685472616e7360b01b60208201525b6040516101989190611139565b3480156101e7575f80fd5b506101fb6101f6366004611198565b610488565b6040519015158152602001610198565b348015610216575f80fd5b50670de0b6b3a76400005b604051908152602001610198565b34801561023a575f80fd5b506101fb6102493660046111c2565b61049e565b348015610259575f80fd5b5060405160098152602001610198565b348015610274575f80fd5b50610221670de0b6b3a764000081565b34801561028f575f80fd5b506004546101849061010090046001600160a01b031681565b3480156102b3575f80fd5b5061022160015481565b3480156102c8575f80fd5b5061022160025481565b3480156102dd575f80fd5b506102216102ec366004611200565b6001600160a01b03165f908152600b602052604090205490565b348015610311575f80fd5b5061031a610513565b005b348015610327575f80fd5b50600554610184906001600160a01b031681565b348015610346575f80fd5b505f546001600160a01b0316610184565b348015610362575f80fd5b5060408051808201909152600381526242545360e81b60208201526101cf565b34801561038d575f80fd5b5061031a610550565b3480156103a1575f80fd5b506101fb6103b0366004611198565b6105da565b3480156103c0575f80fd5b506102216105f0565b3480156103d4575f80fd5b506102216103e881565b3480156103e9575f80fd5b5061031a610608565b3480156103fd575f80fd5b506102215f81565b348015610410575f80fd5b506006546101fb90600160a01b900460ff1681565b348015610430575f80fd5b5061022161043f36600461121b565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610474575f80fd5b5061031a610483366004611200565b6106af565b5f610494338484610749565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610500576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104fa908490611266565b90915550505b61050b848484610820565b949350505050565b5f546001600160a01b031633146105455760405162461bcd60e51b815260040161053c90611279565b60405180910390fd5b61054e5f610c56565b565b5f546001600160a01b031633146105795760405162461bcd60e51b815260040161053c90611279565b600654600160a01b900460ff16156105c55760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015260640161053c565b6006805460ff60a01b1916600160a01b179055565b5f6105e6338484610820565b5060019392505050565b610605620186a0670de0b6b3a76400006112ae565b81565b5f546001600160a01b031633146106315760405162461bcd60e51b815260040161053c90611279565b600654600160b01b900460ff16156106845760405162461bcd60e51b8152602060048201526016602482015275416c72656164792072656d6f766564206c696d69747360501b604482015260640161053c565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b5f546001600160a01b031633146106d85760405162461bcd60e51b815260040161053c90611279565b6001600160a01b03811661073d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161053c565b61074681610c56565b50565b6001600160a01b03831661079f5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161053c565b6001600160a01b0382166107f55760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161053c565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108795760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2044454144206164647265737300604482015260640161053c565b6001600160a01b0385166108d95760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b606482015260840161053c565b5f83116109405760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b606482015260840161053c565b61094a8585610ca5565b15610a8057600654600160a01b900460ff1661099f5760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b604482015260640161053c565b6001600160a01b0384165f908152600a602052604090205460ff161580156109d057506001600160a01b0385163014155b80156109e557506001600160a01b0384163014155b80610a0b57506109f58585610d74565b8015610a0b5750600654600160b01b900460ff16155b15610a805760035483610a32866001600160a01b03165f908152600b602052604090205490565b610a3c91906112cd565b1115610a805760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b604482015260640161053c565b610a8a8585610dba565b8015610aa05750600654600160a81b900460ff16155b8015610ab05750610ab085610dff565b15610b0657305f908152600b6020526040902054610ad9620186a0670de0b6b3a76400006112ae565b8110610b0457610af4620186a0670de0b6b3a76400006112ae565b841115610b0457610b0481610e34565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b4357506001600160a01b0384165f9081526008602052604090205460ff165b15610b4b57505f5b5f81610b575783610b75565b610b7586610b658888611028565b610b6f8989610dba565b8761106d565b90505f82610b9b57600654600160a01b900460ff1615610b95575f610b9d565b84610b9d565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610bc9908490611266565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bf59084906112cd565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4191815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cb85f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610ce657505f546001600160a01b03848116911614155b8015610cfc57505f546001600160a01b03163314155b8015610d2057506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d4457506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d5857506001600160a01b03831615155b801561050b57506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff1615801561050b57505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff16801561050b57505050506001600160a01b03165f908152600a602052604090205460ff161590565b6004545f90819060ff168015610e2d57506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e7a57610e7a6112e0565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef591906112f4565b81600181518110610f0857610f086112e0565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060055490941682529290915220545f1914610f6e57305f9081526007602090815260408083206005546001600160a01b0316845290915290205f1990555b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fa69085905f9086903090429060040161130f565b5f604051808303815f87803b158015610fbd575f80fd5b505af1925050508015610fce575060015b610fd85750611018565b4715611016576006546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611014573d5f803e3d5ffd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff1615801561050b57505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f80841561107e5750600154611090565b831561108d5750600254611090565b505f5b805f036110a0578291505061050b565b5f6103e86110ae838661137e565b6110b891906112ae565b9050801561112457305f908152600b6020526040812080548392906110de9084906112cd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61112e8185611266565b979650505050505050565b5f6020808352835180828501525f5b8181101561116457858101830151858201604001528201611148565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610746575f80fd5b5f80604083850312156111a9575f80fd5b82356111b481611184565b946020939093013593505050565b5f805f606084860312156111d4575f80fd5b83356111df81611184565b925060208401356111ef81611184565b929592945050506040919091013590565b5f60208284031215611210575f80fd5b8135610e2d81611184565b5f806040838503121561122c575f80fd5b823561123781611184565b9150602083013561124781611184565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049857610498611252565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112c857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049857610498611252565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611304575f80fd5b8151610e2d81611184565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561135d5784516001600160a01b031683529383019391830191600101611338565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104985761049861125256fea2646970667358221220cb7d9c9dd3d090d2cdf3494138668e3877c0feaec1f1b1a86201530ffc36a49d64736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c8063735de9f7116100cd578063b198cf2711610087578063c53037ea11610062578063c53037ea146103f2578063d621e81314610405578063dd62ed3e14610425578063f2fde38b14610469575f80fd5b8063b198cf27146103b5578063b361b2b5146103c9578063ba928292146103de575f80fd5b8063735de9f71461031c578063893d20e81461033b5780638da5cb5b1461033b57806395d89b4114610357578063a3efca0214610382578063a9059cbb14610396575f80fd5b80633eaaf86b1161011e5780633eaaf86b14610269578063452ed4f1146102845780634abdefd5146102a857806362f837ef146102bd57806370a08231146102d2578063715018a614610306575f80fd5b806303fd2a451461016f57806306fdde03146101a1578063095ea7b3146101dc57806318160ddd1461020b57806323b872dd1461022f578063313ce5671461024e575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600a81526942756e63685472616e7360b01b60208201525b6040516101989190611139565b3480156101e7575f80fd5b506101fb6101f6366004611198565b610488565b6040519015158152602001610198565b348015610216575f80fd5b50670de0b6b3a76400005b604051908152602001610198565b34801561023a575f80fd5b506101fb6102493660046111c2565b61049e565b348015610259575f80fd5b5060405160098152602001610198565b348015610274575f80fd5b50610221670de0b6b3a764000081565b34801561028f575f80fd5b506004546101849061010090046001600160a01b031681565b3480156102b3575f80fd5b5061022160015481565b3480156102c8575f80fd5b5061022160025481565b3480156102dd575f80fd5b506102216102ec366004611200565b6001600160a01b03165f908152600b602052604090205490565b348015610311575f80fd5b5061031a610513565b005b348015610327575f80fd5b50600554610184906001600160a01b031681565b348015610346575f80fd5b505f546001600160a01b0316610184565b348015610362575f80fd5b5060408051808201909152600381526242545360e81b60208201526101cf565b34801561038d575f80fd5b5061031a610550565b3480156103a1575f80fd5b506101fb6103b0366004611198565b6105da565b3480156103c0575f80fd5b506102216105f0565b3480156103d4575f80fd5b506102216103e881565b3480156103e9575f80fd5b5061031a610608565b3480156103fd575f80fd5b506102215f81565b348015610410575f80fd5b506006546101fb90600160a01b900460ff1681565b348015610430575f80fd5b5061022161043f36600461121b565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610474575f80fd5b5061031a610483366004611200565b6106af565b5f610494338484610749565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f1914610500576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104fa908490611266565b90915550505b61050b848484610820565b949350505050565b5f546001600160a01b031633146105455760405162461bcd60e51b815260040161053c90611279565b60405180910390fd5b61054e5f610c56565b565b5f546001600160a01b031633146105795760405162461bcd60e51b815260040161053c90611279565b600654600160a01b900460ff16156105c55760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b604482015260640161053c565b6006805460ff60a01b1916600160a01b179055565b5f6105e6338484610820565b5060019392505050565b610605620186a0670de0b6b3a76400006112ae565b81565b5f546001600160a01b031633146106315760405162461bcd60e51b815260040161053c90611279565b600654600160b01b900460ff16156106845760405162461bcd60e51b8152602060048201526016602482015275416c72656164792072656d6f766564206c696d69747360501b604482015260640161053c565b670de0b6b3a76400006003556006805460ff60b01b1916600160b01b179055600a6001819055600255565b5f546001600160a01b031633146106d85760405162461bcd60e51b815260040161053c90611279565b6001600160a01b03811661073d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161053c565b61074681610c56565b50565b6001600160a01b03831661079f5760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161053c565b6001600160a01b0382166107f55760405162461bcd60e51b815260206004820152601f60248201527f436f756c646e7420617070726f7665206f6e205a65726f204164647265737300604482015260640161053c565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108795760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2044454144206164647265737300604482015260640161053c565b6001600160a01b0385166108d95760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f74207472616e736665722066726f6d2044454144206164647265736044820152607360f81b606482015260840161053c565b5f83116109405760405162461bcd60e51b815260206004820152602f60248201527f5472616e7366657220746f6b656e20616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b606482015260840161053c565b61094a8585610ca5565b15610a8057600654600160a01b900460ff1661099f5760405162461bcd60e51b8152602060048201526014602482015273151c985919481a5cc81b9bdd081cdd185c9d195960621b604482015260640161053c565b6001600160a01b0384165f908152600a602052604090205460ff161580156109d057506001600160a01b0385163014155b80156109e557506001600160a01b0384163014155b80610a0b57506109f58585610d74565b8015610a0b5750600654600160b01b900460ff16155b15610a805760035483610a32866001600160a01b03165f908152600b602052604090205490565b610a3c91906112cd565b1115610a805760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b604482015260640161053c565b610a8a8585610dba565b8015610aa05750600654600160a81b900460ff16155b8015610ab05750610ab085610dff565b15610b0657305f908152600b6020526040902054610ad9620186a0670de0b6b3a76400006112ae565b8110610b0457610af4620186a0670de0b6b3a76400006112ae565b841115610b0457610b0481610e34565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b4357506001600160a01b0384165f9081526008602052604090205460ff165b15610b4b57505f5b5f81610b575783610b75565b610b7586610b658888611028565b610b6f8989610dba565b8761106d565b90505f82610b9b57600654600160a01b900460ff1615610b95575f610b9d565b84610b9d565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610bc9908490611266565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bf59084906112cd565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4191815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610cb85f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610ce657505f546001600160a01b03848116911614155b8015610cfc57505f546001600160a01b03163314155b8015610d2057506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d4457506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d5857506001600160a01b03831615155b801561050b57506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff1615801561050b57505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff16801561050b57505050506001600160a01b03165f908152600a602052604090205460ff161590565b6004545f90819060ff168015610e2d57506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e7a57610e7a6112e0565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610ed1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef591906112f4565b81600181518110610f0857610f086112e0565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060055490941682529290915220545f1914610f6e57305f9081526007602090815260408083206005546001600160a01b0316845290915290205f1990555b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790610fa69085905f9086903090429060040161130f565b5f604051808303815f87803b158015610fbd575f80fd5b505af1925050508015610fce575060015b610fd85750611018565b4715611016576006546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015611014573d5f803e3d5ffd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff1615801561050b57505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f80841561107e5750600154611090565b831561108d5750600254611090565b505f5b805f036110a0578291505061050b565b5f6103e86110ae838661137e565b6110b891906112ae565b9050801561112457305f908152600b6020526040812080548392906110de9084906112cd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61112e8185611266565b979650505050505050565b5f6020808352835180828501525f5b8181101561116457858101830151858201604001528201611148565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610746575f80fd5b5f80604083850312156111a9575f80fd5b82356111b481611184565b946020939093013593505050565b5f805f606084860312156111d4575f80fd5b83356111df81611184565b925060208401356111ef81611184565b929592945050506040919091013590565b5f60208284031215611210575f80fd5b8135610e2d81611184565b5f806040838503121561122c575f80fd5b823561123781611184565b9150602083013561124781611184565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049857610498611252565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f826112c857634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561049857610498611252565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611304575f80fd5b8151610e2d81611184565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561135d5784516001600160a01b031683529383019391830191600101611338565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104985761049861125256fea2646970667358221220cb7d9c9dd3d090d2cdf3494138668e3877c0feaec1f1b1a86201530ffc36a49d64736f6c63430008150033

Deployed Bytecode Sourcemap

4895:8067:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5612:73;;;;;;;;;;;;5643:42;5612:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5612:73:0;;;;;;;;11058:80;;;;;;;;;;-1:-1:-1;11130:5:0;;;;;;;;;;;;-1:-1:-1;;;11130:5:0;;;;11058:80;;;;;;;:::i;7183:161::-;;;;;;;;;;-1:-1:-1;7183:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7183:161:0;1231:187:1;10714:125:0;;;;;;;;;;-1:-1:-1;5126:15:0;10714:125;;;1569:25:1;;;1557:2;1542:18;10714:125:0;1423:177:1;10020:306:0;;;;;;;;;;-1:-1:-1;10020:306:0;;;;;:::i;:::-;;:::i;10845:117::-;;;;;;;;;;-1:-1:-1;10845:117:0;;5077:1;2208:36:1;;2196:2;2181:18;10845:117:0;2066:184:1;5087:54:0;;;;;;;;;;;;5126:15;5087:54;;5498:21;;;;;;;;;;-1:-1:-1;5498:21:0;;;;;;;-1:-1:-1;;;;;5498:21:0;;;5319:32;;;;;;;;;;;;;;;;5358:28;;;;;;;;;;;;;;;;11375:117;;;;;;;;;;-1:-1:-1;11375:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;11468:16:0;11441:7;11468:16;;;:7;:16;;;;;;;11375:117;2049:94;;;;;;;;;;;;;:::i;:::-;;5526:37;;;;;;;;;;-1:-1:-1;5526:37:0;;;;-1:-1:-1;;;;;5526:37:0;;;11150:80;;;;;;;;;;-1:-1:-1;11202:7:0;1899:6;-1:-1:-1;;;;;1899:6:0;11150:80;;10968:84;;;;;;;;;;-1:-1:-1;11042:7:0;;;;;;;;;;;;-1:-1:-1;;;11042:7:0;;;;10968:84;;10338:129;;;;;;;;;;;;;:::i;7006:165::-;;;;;;;;;;-1:-1:-1;7006:165:0;;;;;:::i;:::-;;:::i;5148:69::-;;;;;;;;;;;;;:::i;5266:46::-;;;;;;;;;;;;5307:5;5266:46;;10479:223;;;;;;;;;;;;;:::i;5224:35::-;;;;;;;;;;;;5258:1;5224:35;;5692:32;;;;;;;;;;-1:-1:-1;5692:32:0;;;;-1:-1:-1;;;5692:32:0;;;;;;11236:133;;;;;;;;;;-1:-1:-1;11236:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;11338:19:0;;;11320:7;11338:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11236:133;2151:192;;;;;;;;;;-1:-1:-1;2151:192:0;;;;;:::i;:::-;;:::i;7183:161::-;7260:4;7277:37;7286:10;7298:7;7307:6;7277:8;:37::i;:::-;-1:-1:-1;7332:4:0;7183:161;;;;;:::o;10020:306::-;-1:-1:-1;;;;;10141:19:0;;10120:4;10141:19;;;:11;:19;;;;;;;;10161:10;10141:31;;;;;;;;-1:-1:-1;;10141:52:0;10137:126;;-1:-1:-1;;;;;10210:19:0;;;;;;:11;:19;;;;;;;;10230:10;10210:31;;;;;;;:41;;10245:6;;10210:19;:41;;10245:6;;10210:41;:::i;:::-;;;;-1:-1:-1;;10137:126:0;10282:36;10292:6;10300:9;10311:6;10282:9;:36::i;:::-;10275:43;10020:306;-1:-1:-1;;;;10020:306:0:o;2049:94::-;1872:7;1899:6;-1:-1:-1;;;;;1899:6:0;1455:10;1961:23;1953:68;;;;-1:-1:-1;;;1953:68:0;;;;;;;:::i;:::-;;;;;;;;;2114:21:::1;2132:1;2114:9;:21::i;:::-;2049:94::o:0;10338:129::-;1872:7;1899:6;-1:-1:-1;;;;;1899:6:0;1455:10;1961:23;1953:68;;;;-1:-1:-1;;;1953:68:0;;;;;;;:::i;:::-;10397:12:::1;::::0;-1:-1:-1;;;10397:12:0;::::1;;;10396:13;10388:41;;;::::0;-1:-1:-1;;;10388:41:0;;3960:2:1;10388:41:0::1;::::0;::::1;3942:21:1::0;3999:2;3979:18;;;3972:30;-1:-1:-1;;;4018:18:1;;;4011:45;4073:18;;10388:41:0::1;3758:339:1::0;10388:41:0::1;10440:12;:19:::0;;-1:-1:-1;;;;10440:19:0::1;-1:-1:-1::0;;;10440:19:0::1;::::0;;10338:129::o;7006:165::-;7084:4;7101:40;7111:10;7123:9;7134:6;7101:9;:40::i;:::-;-1:-1:-1;7159:4:0;;7006:165;-1:-1:-1;;;7006:165:0:o;5148:69::-;5195:22;5210:7;5126:15;5195:22;:::i;:::-;5148:69;:::o;10479:223::-;1872:7;1899:6;-1:-1:-1;;;;;1899:6:0;1455:10;1961:23;1953:68;;;;-1:-1:-1;;;1953:68:0;;;;;;;:::i;:::-;10544:9:::1;::::0;-1:-1:-1;;;10544:9:0;::::1;;;10543:10;10535:44;;;::::0;-1:-1:-1;;;10535:44:0;;4526:2:1;10535:44:0::1;::::0;::::1;4508:21:1::0;4565:2;4545:18;;;4538:30;-1:-1:-1;;;4584:18:1;;;4577:52;4646:18;;10535:44:0::1;4324:346:1::0;10535:44:0::1;5126:15;10590:12;:27:::0;10628:9:::1;:16:::0;;-1:-1:-1;;;;10628:16:0::1;-1:-1:-1::0;;;10628:16:0::1;::::0;;10669:2:::1;10640:4;10655:16:::0;;;-1:-1:-1;10682:12:0;10479:223::o;2151:192::-;1872:7;1899:6;-1:-1:-1;;;;;1899:6:0;1455:10;1961:23;1953:68;;;;-1:-1:-1;;;1953:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2240:22:0;::::1;2232:73;;;::::0;-1:-1:-1;;;2232:73:0;;4877:2:1;2232:73:0::1;::::0;::::1;4859:21:1::0;4916:2;4896:18;;;4889:30;4955:34;4935:18;;;4928:62;-1:-1:-1;;;5006:18:1;;;4999:36;5052:19;;2232:73:0::1;4675:402:1::0;2232:73:0::1;2316:19;2326:8;2316:9;:19::i;:::-;2151:192:::0;:::o;9723:285::-;-1:-1:-1;;;;;9818:20:0;;9810:64;;;;-1:-1:-1;;;9810:64:0;;5284:2:1;9810:64:0;;;5266:21:1;5323:2;5303:18;;;5296:30;5362:33;5342:18;;;5335:61;5413:18;;9810:64:0;5082:355:1;9810:64:0;-1:-1:-1;;;;;9893:21:0;;9885:65;;;;-1:-1:-1;;;9885:65:0;;5284:2:1;9885:65:0;;;5266:21:1;5323:2;5303:18;;;5296:30;5362:33;5342:18;;;5335:61;5413:18;;9885:65:0;5082:355:1;9885:65:0;-1:-1:-1;;;;;9963:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9723:285::o;7532:1414::-;7612:4;7644;-1:-1:-1;;;;;7667:16:0;;7659:60;;;;-1:-1:-1;;;7659:60:0;;5644:2:1;7659:60:0;;;5626:21:1;5683:2;5663:18;;;5656:30;5722:33;5702:18;;;5695:61;5773:18;;7659:60:0;5442:355:1;7659:60:0;-1:-1:-1;;;;;7738:18:0;;7730:64;;;;-1:-1:-1;;;7730:64:0;;6004:2:1;7730:64:0;;;5986:21:1;6043:2;6023:18;;;6016:30;6082:34;6062:18;;;6055:62;-1:-1:-1;;;6133:18:1;;;6126:31;6174:19;;7730:64:0;5802:397:1;7730:64:0;7822:1;7813:6;:10;7805:70;;;;-1:-1:-1;;;7805:70:0;;6406:2:1;7805:70:0;;;6388:21:1;6445:2;6425:18;;;6418:30;6484:34;6464:18;;;6457:62;-1:-1:-1;;;6535:18:1;;;6528:45;6590:19;;7805:70:0;6204:411:1;7805:70:0;7892:22;7906:4;7911:2;7892:13;:22::i;:::-;7888:292;;;7939:12;;-1:-1:-1;;;7939:12:0;;;;7931:44;;;;-1:-1:-1;;;7931:44:0;;6822:2:1;7931:44:0;;;6804:21:1;6861:2;6841:18;;;6834:30;-1:-1:-1;;;6880:18:1;;;6873:50;6940:18;;7931:44:0;6620:344:1;7931:44:0;-1:-1:-1;;;;;8002:19:0;;;;;;:15;:19;;;;;;;;8001:20;:45;;;;-1:-1:-1;;;;;;8025:21:0;;8041:4;8025:21;;8001:45;:68;;;;-1:-1:-1;;;;;;8050:19:0;;8064:4;8050:19;;8001:68;:101;;;;8073:15;8080:4;8085:2;8073:6;:15::i;:::-;:29;;;;-1:-1:-1;8093:9:0;;-1:-1:-1;;;8093:9:0;;;;8092:10;8073:29;7998:181;;;8141:12;;8131:6;8115:13;8125:2;-1:-1:-1;;;;;11468:16:0;11441:7;11468:16;;;:7;:16;;;;;;;11375:117;8115:13;:22;;;;:::i;:::-;:38;;8107:69;;;;-1:-1:-1;;;8107:69:0;;7301:2:1;8107:69:0;;;7283:21:1;7340:2;7320:18;;;7313:30;-1:-1:-1;;;7359:18:1;;;7352:49;7418:18;;8107:69:0;7099:343:1;8107:69:0;8197:18;8206:4;8212:2;8197:8;:18::i;:::-;:32;;;;-1:-1:-1;8221:8:0;;-1:-1:-1;;;8221:8:0;;;;8220:9;8197:32;:55;;;;;8233:19;8247:4;8233:13;:19::i;:::-;8194:281;;;8311:4;8271:19;11468:16;;;:7;:16;;;;;;5195:22;5210:7;5126:15;5195:22;:::i;:::-;8335:11;:35;8332:132;;5195:22;5210:7;5126:15;5195:22;:::i;:::-;8395:6;:29;8392:55;;;8426:21;8435:11;8426:8;:21::i;:::-;8254:221;8194:281;-1:-1:-1;;;;;8491:22:0;;;;;;:16;:22;;;;;;;;;:46;;-1:-1:-1;;;;;;8517:20:0;;;;;;:16;:20;;;;;;;;8491:46;8487:93;;;-1:-1:-1;8563:5:0;8487:93;8590:22;8616:7;8615:98;;8707:6;8615:98;;;8627:77;8647:4;8653:22;8666:4;8672:2;8653:12;:22::i;:::-;8677:18;8686:4;8692:2;8677:8;:18::i;:::-;8697:6;8627:19;:77::i;:::-;8590:123;;8724:23;8751:7;8750:49;;8773:12;;-1:-1:-1;;;8773:12:0;;;;8772:13;:26;;8797:1;8750:49;;8772:26;8788:6;8750:49;;;8762:6;8750:49;-1:-1:-1;;;;;8810:13:0;;;;;;:7;:13;;;;;:32;;8724:75;;-1:-1:-1;8724:75:0;;8810:13;;;:32;;8724:75;;8810:32;:::i;:::-;;;;-1:-1:-1;;;;;;;8844:11:0;;;;;;:7;:11;;;;;:29;;8859:14;;8844:11;:29;;8859:14;;8844:29;:::i;:::-;;;;;;;;8895:2;-1:-1:-1;;;;;8880:34:0;8889:4;-1:-1:-1;;;;;8880:34:0;;8899:14;8880:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;8880:34:0;;;;;;;;-1:-1:-1;8934:4:0;;7532:1414;-1:-1:-1;;;;;;7532:1414:0:o;2351:173::-;2407:16;2426:6;;-1:-1:-1;;;;;2443:17:0;;;-1:-1:-1;;;;;;2443:17:0;;;;;;2476:40;;2426:6;;;;;;;2476:40;;2407:16;2476:40;2396:128;2351:173;:::o;8954:339::-;9026:4;9043:14;9067:7;1872;1899:6;-1:-1:-1;;;;;1899:6:0;;1826:87;9067:7;-1:-1:-1;;;;;9060:14:0;:3;-1:-1:-1;;;;;9060:14:0;;;:45;;;;-1:-1:-1;1872:7:0;1899:6;-1:-1:-1;;;;;9091:14:0;;;1899:6;;9091:14;;9060:45;:83;;;;-1:-1:-1;1872:7:0;1899:6;-1:-1:-1;;;;;1899:6:0;9122:10;:21;;9060:83;:122;;;;-1:-1:-1;;;;;;9161:21:0;;;;;;:16;:21;;;;;;;;9160:22;9060:122;:149;;;;-1:-1:-1;;;;;;9188:21:0;;;;;;:16;:21;;;;;;;;9187:22;9060:149;:170;;;;-1:-1:-1;;;;;;9213:17:0;;;;9060:170;:194;;;;-1:-1:-1;;;;;;9234:20:0;;9249:4;9234:20;;9043:211;8954:339;-1:-1:-1;;;;8954:339:0:o;11504:187::-;-1:-1:-1;;;;;11608:20:0;;11569:4;11608:20;;;:15;:20;;;;;;11569:4;;11608:20;;11607:21;:46;;;;-1:-1:-1;;;;;;;;;11633:20:0;;;;;:15;:20;;;;;;;;11632:21;;11504:187::o;9494:180::-;-1:-1:-1;;;;;9595:20:0;;9561:4;9595:20;;;:15;:20;;;;;;9561:4;;9595:20;;:45;;;;-1:-1:-1;;;;;;;;;9620:20:0;;;;;:15;:20;;;;;;;;9619:21;;9494:180::o;7356:164::-;7447:14;;7415:4;;;;7447:14;;:40;;;;-1:-1:-1;;;;;;7466:21:0;;;;;;:16;:21;;;;;;;;7465:22;7447:40;7432:55;7356:164;-1:-1:-1;;;7356:164:0:o;12240:718::-;6128:8;:15;;-1:-1:-1;;;;6128:15:0;-1:-1:-1;;;6128:15:0;;;12334:16:::1;::::0;;12348:1:::1;12334:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12334:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12334:16:0::1;12310:40;;12379:4;12361;12366:1;12361:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12361:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12405:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;12405:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;12361:7;;12405:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12395:4;12400:1;12395:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12395:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;12462:4:::1;12442:26;::::0;;;:11:::1;:26:::0;;;;;;12477:13:::1;::::0;;;::::1;12442:50:::0;;;;;;;;-1:-1:-1;;12442:71:0::1;12438:174;;12550:4;12530:26;::::0;;;:11:::1;:26;::::0;;;;;;;12565:13:::1;::::0;-1:-1:-1;;;;;12565:13:0::1;12530:50:::0;;;;;;;-1:-1:-1;;12530:70:0;;12438:174:::1;12628:13;::::0;:194:::1;::::0;-1:-1:-1;;;12628:194:0;;-1:-1:-1;;;;;12628:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;12707:11;;12628:13:::1;::::0;12749:4;;12776::::1;::::0;12796:15:::1;::::0;12628:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;12624:241;;12847:7;;;12624:241;12880:21;:25:::0;12877:73:::1;;12907:11;::::0;:43:::1;::::0;-1:-1:-1;;;;;12907:11:0;;::::1;::::0;12928:21:::1;12907:43:::0;::::1;;;::::0;:11:::1;:43:::0;:11;:43;12928:21;12907:11;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12877:73;12299:659;6154:1;-1:-1:-1::0;6166:8:0;:16;;-1:-1:-1;;;;6166:16:0;;;12240:718::o;9305:181::-;-1:-1:-1;;;;;9409:20:0;;9376:4;9409:20;;;:15;:20;;;;;;9376:4;;9409:20;;9408:21;:45;;;;-1:-1:-1;;;;;;;;;9433:20:0;;;;;:15;:20;;;;;;;;;9305:181::o;11703:525::-;11805:7;11825:11;11851:5;11847:85;;;-1:-1:-1;11865:11:0;;11847:85;;;11888:6;11884:48;;;-1:-1:-1;11903:7:0;;11884:48;;;-1:-1:-1;5258:1:0;11884:48;11948:3;11955:1;11948:8;11944:28;;11966:6;11959:13;;;;;11944:28;11984:17;5307:5;12004:12;12013:3;12004:6;:12;:::i;:::-;:29;;;;:::i;:::-;11984:49;-1:-1:-1;12048:13:0;;12044:141;;12094:4;12078:22;;;;:7;:22;;;;;:35;;12104:9;;12078:22;:35;;12104:9;;12078:35;:::i;:::-;;;;-1:-1:-1;;12133:40:0;;1569:25:1;;;12156:4:0;;-1:-1:-1;;;;;12133:40:0;;;;;1557:2:1;1542:18;12133:40:0;;;;;;;12044:141;12202:18;12211:9;12202:6;:18;:::i;:::-;12195:25;11703:525;-1:-1:-1;;;;;;;11703:525:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;4102:217::-;4142:1;4168;4158:132;;4212:10;4207:3;4203:20;4200:1;4193:31;4247:4;4244:1;4237:15;4275:4;4272:1;4265:15;4158:132;-1:-1:-1;4304:9:1;;4102:217::o;6969:125::-;7034:9;;;7055:10;;;7052:36;;;7068:18;;:::i;7579:127::-;7640:10;7635:3;7631:20;7628:1;7621:31;7671:4;7668:1;7661:15;7695:4;7692:1;7685:15;7711:251;7781:6;7834:2;7822:9;7813:7;7809:23;7805:32;7802:52;;;7850:1;7847;7840:12;7802:52;7882:9;7876:16;7901:31;7926:5;7901:31;:::i;7967:980::-;8229:4;8277:3;8266:9;8262:19;8308:6;8297:9;8290:25;8334:2;8372:6;8367:2;8356:9;8352:18;8345:34;8415:3;8410:2;8399:9;8395:18;8388:31;8439:6;8474;8468:13;8505:6;8497;8490:22;8543:3;8532:9;8528:19;8521:26;;8582:2;8574:6;8570:15;8556:29;;8603:1;8613:195;8627:6;8624:1;8621:13;8613:195;;;8692:13;;-1:-1:-1;;;;;8688:39:1;8676:52;;8783:15;;;;8748:12;;;;8724:1;8642:9;8613:195;;;-1:-1:-1;;;;;;;8864:32:1;;;;8859:2;8844:18;;8837:60;-1:-1:-1;;;8928:3:1;8913:19;8906:35;8825:3;7967:980;-1:-1:-1;;;7967:980:1:o;8952:168::-;9025:9;;;9056;;9073:15;;;9067:22;;9053:37;9043:71;;9094:18;;:::i

Swarm Source

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