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

Token

KAKASHICOIN (KAKASHI)
 

Overview

Max Total Supply

1,000,000,000 KAKASHI

Holders

103

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
johnpalmer.eth
Balance
10,522,314.604149425 KAKASHI

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:
KAKASHI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
Investing in $KAKASHI is not just a financial decision, it's a statement of support for the values that Kakashi represents. With a limited supply of 100 million tokens, $KAKASHI is poised to become the next big thing in the crypto world. So, join us on this journey and let's make Kakashi proud.

Web: https://kakashicoin.xyz
X: https://twitter.com/kakashicoin_erc
Tg: https://t.me/kakashicoin_group
 */

pragma solidity 0.8.19;

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

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 Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IRouter {
    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 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 KAKASHI is IERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "KAKASHICOIN";
    string constant _symbol = "KAKASHI";
    uint8 constant _decimals = 9;

    uint256 _tTotal = 10 ** 9 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_tTotal * 2) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isExemptFees;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 29;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public development = 0x477D6289Cd4394EE05f3B48DD944AC7eC82c7b2F;

    IRouter public router;
    address public pair;

    bool public swapEnabled = false;
    uint256 public taxSwapThreshold = _tTotal / 10000; // 0.5%
    bool swapping;
    modifier lockSwap() { swapping = true; _; swapping = false; }

    constructor () Ownable(msg.sender) {
        router = IRouter(routerAdress);
        pair = IFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isExemptFees[development] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[development] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _tTotal;
        emit Transfer(address(0), _owner, _tTotal);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _tTotal; }
    function decimals() external pure override returns (uint8) { 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 balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, 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] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(swapping){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack() && shouldTakeFee(sender) && recipient == pair && amount > taxSwapThreshold){ swapBack(); } 


        uint256 amountReceived = shouldTakeFee(sender) || !swapEnabled ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isExemptFees[sender];
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_tTotal * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    

    function setSwapEnabled(bool value) external onlyOwner {
        swapEnabled = value;
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return !swapping
        && swapEnabled
        && _balances[address(this)] >= taxSwapThreshold;
    }

    function swapBack() internal lockSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(development).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0x8697116BEe02a91D87Ce7FC22AA8a623f0208FD0,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","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":"development","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200047b565b6200005890633b9aca0062000493565b600355606460035460026200006e919062000493565b6200007a9190620004ad565b60045560006009819055601d600a8190556200009691620004d0565b600b556064600c55600d80546001600160a01b03191673477d6289cd4394ee05f3b48dd944ac7ec82c7b2f179055600f805460ff60a01b19169055600354620000e39061271090620004ad565b601055348015620000f357600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000160573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001869190620004e6565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020e9190620004e6565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af11580156200025b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002819190620004e6565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e5485168452825280832060001990558254600d80548616855260078452828520805460ff19908116600190811790925592871680875260088652848720805485168317905591548716865283862080548416821790556002549096168552828520805490921690951790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000511565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003bd578160001904821115620003a157620003a162000366565b80851615620003af57918102915b93841c939080029062000381565b509250929050565b600082620003d65750600162000475565b81620003e55750600062000475565b8160018114620003fe5760028114620004095762000429565b600191505062000475565b60ff8411156200041d576200041d62000366565b50506001821b62000475565b5060208310610133831016604e8410600b84101617156200044e575081810a62000475565b6200045a83836200037c565b806000190482111562000471576200047162000366565b0290505b92915050565b60006200048c60ff841683620003c5565b9392505050565b808202811582820484141762000475576200047562000366565b600082620004cb57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000475576200047562000366565b600060208284031215620004f957600080fd5b81516001600160a01b03811681146200048c57600080fd5b6113f880620005216000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b311461037a578063a9059cbb1461039a578063dd62ed3e146103ba578063e01af92c14610400578063f1d5f51714610420578063f887ea401461044057600080fd5b806370a08231146102a9578063715018a6146102df5780637b929c27146102f4578063893d20e81461032c57806395d89b411461034a57600080fd5b8063313ce567116100f2578063313ce5671461021e57806352f7c9881461023a5780635e7b655c1461025c5780636c0a24eb146102725780636ddd17131461028857600080fd5b806306fdde031461013a578063095ea7b31461018057806318160ddd146101b057806323b872dd146101cf5780632f54bf6e146101ef57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a25a0a5a0a9a424a1a7a4a760a91b60208201525b60405161017791906110d5565b60405180910390f35b34801561018c57600080fd5b506101a061019b36600461113b565b610460565b6040519015158152602001610177565b3480156101bc57600080fd5b506003545b604051908152602001610177565b3480156101db57600080fd5b506101a06101ea366004611167565b6104cd565b3480156101fb57600080fd5b506101a061020a3660046111a8565b6000546001600160a01b0391821691161490565b34801561022a57600080fd5b5060405160098152602001610177565b34801561024657600080fd5b5061025a6102553660046111c5565b61058f565b005b34801561026857600080fd5b506101c160105481565b34801561027e57600080fd5b506101c160045481565b34801561029457600080fd5b50600f546101a090600160a01b900460ff1681565b3480156102b557600080fd5b506101c16102c43660046111a8565b6001600160a01b031660009081526005602052604090205490565b3480156102eb57600080fd5b5061025a6105dd565b34801561030057600080fd5b50600d54610314906001600160a01b031681565b6040516001600160a01b039091168152602001610177565b34801561033857600080fd5b506000546001600160a01b0316610314565b34801561035657600080fd5b506040805180820190915260078152664b414b4153484960c81b602082015261016a565b34801561038657600080fd5b50600f54610314906001600160a01b031681565b3480156103a657600080fd5b506101a06103b536600461113b565b61064c565b3480156103c657600080fd5b506101c16103d53660046111e7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040c57600080fd5b5061025a61041b366004611220565b610659565b34801561042c57600080fd5b5061025a61043b366004611242565b6106a1565b34801561044c57600080fd5b50600e54610314906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104bb9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461057a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105559184906106ec565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610585848484610726565b90505b9392505050565b6000546001600160a01b031633146105c25760405162461bcd60e51b81526004016105b99061125b565b60405180910390fd5b6009829055600a8190556105d68183611291565b600b555050565b6000546001600160a01b031633146106075760405162461bcd60e51b81526004016105b99061125b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610588338484610726565b6000546001600160a01b031633146106835760405162461bcd60e51b81526004016105b99061125b565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016105b99061125b565b6103e8816003546106dc91906112a4565b6106e691906112bb565b60045550565b600081848411156107105760405162461bcd60e51b81526004016105b991906110d5565b50600061071d84866112dd565b95945050505050565b60115460009060ff16156107465761073f848484610950565b9050610588565b600f546001600160a01b0384811691161480159061077257506002546001600160a01b03848116911614155b1561081d576001600160a01b03831660009081526008602052604090205460ff16806107c357506004546001600160a01b0384166000908152600560205260409020546107c0908490611291565b11155b61081d5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b9565b610825610a36565b801561084a57506001600160a01b03841660009081526007602052604090205460ff16155b80156108635750600f546001600160a01b038481169116145b8015610870575060105482115b1561087d5761087d610a77565b6001600160a01b03841660009081526007602052604081205460ff1615806108af5750600f54600160a01b900460ff16155b6108b957826108c3565b6108c38584610e37565b6001600160a01b0385166000908152600560205260409020549091506108e99082610f42565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061093d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109a19184906106ec565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109d09083610f42565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a249086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a555750600f54600160a01b900460ff165b8015610a7257506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610abe6002610ab8600b54610ab860095487610fa190919063ffffffff16565b90611023565b90506000610acc8383611065565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b0657610b066112f0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190611306565b81600181518110610b9657610b966112f0565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610be0908690600090879030904290600401611323565b600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506000610c27824761106590919063ffffffff16565b90506000610c4d610c44600260095461102390919063ffffffff16565b600b5490611065565b90506000610c6f6002610ab884610ab860095488610fa190919063ffffffff16565b90506000610c8c83610ab8600a5487610fa190919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ce3576040519150601f19603f3d011682016040523d82523d6000602084013e610ce8565b606091505b5050905080610d395760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b9565b8815610e2157600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152738697116bee02a91d87ce7fc22aa8a623f0208fd060848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de49190611394565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600590915291822054610e889184906106ec565b6001600160a01b038416600090815260056020526040812091909155600c54600b54610eba9190610ab8908690610fa1565b30600090815260056020526040902054909150610ed79082610f42565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f289085815260200190565b60405180910390a3610f3a8382611065565b949350505050565b600080610f4f8385611291565b9050838110156105885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b9565b600082600003610fb3575060006104c7565b6000610fbf83856112a4565b905082610fcc85836112bb565b146105885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b9565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a7565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106ec565b600081836110c85760405162461bcd60e51b81526004016105b991906110d5565b50600061071d84866112bb565b600060208083528351808285015260005b81811015611102578581018301518582016040015282016110e6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113857600080fd5b50565b6000806040838503121561114e57600080fd5b823561115981611123565b946020939093013593505050565b60008060006060848603121561117c57600080fd5b833561118781611123565b9250602084013561119781611123565b929592945050506040919091013590565b6000602082840312156111ba57600080fd5b813561058881611123565b600080604083850312156111d857600080fd5b50508035926020909101359150565b600080604083850312156111fa57600080fd5b823561120581611123565b9150602083013561121581611123565b809150509250929050565b60006020828403121561123257600080fd5b8135801515811461058857600080fd5b60006020828403121561125457600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c7576104c761127b565b80820281158282048414176104c7576104c761127b565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c7576104c761127b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561131857600080fd5b815161058881611123565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113735784516001600160a01b03168352938301939183019160010161134e565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156113a957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220313e7cbaa9b3dab65909eefc9b530e572317cc9b11257853f1edc58f90cb509864736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b311461037a578063a9059cbb1461039a578063dd62ed3e146103ba578063e01af92c14610400578063f1d5f51714610420578063f887ea401461044057600080fd5b806370a08231146102a9578063715018a6146102df5780637b929c27146102f4578063893d20e81461032c57806395d89b411461034a57600080fd5b8063313ce567116100f2578063313ce5671461021e57806352f7c9881461023a5780635e7b655c1461025c5780636c0a24eb146102725780636ddd17131461028857600080fd5b806306fdde031461013a578063095ea7b31461018057806318160ddd146101b057806323b872dd146101cf5780632f54bf6e146101ef57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600b81526a25a0a5a0a9a424a1a7a4a760a91b60208201525b60405161017791906110d5565b60405180910390f35b34801561018c57600080fd5b506101a061019b36600461113b565b610460565b6040519015158152602001610177565b3480156101bc57600080fd5b506003545b604051908152602001610177565b3480156101db57600080fd5b506101a06101ea366004611167565b6104cd565b3480156101fb57600080fd5b506101a061020a3660046111a8565b6000546001600160a01b0391821691161490565b34801561022a57600080fd5b5060405160098152602001610177565b34801561024657600080fd5b5061025a6102553660046111c5565b61058f565b005b34801561026857600080fd5b506101c160105481565b34801561027e57600080fd5b506101c160045481565b34801561029457600080fd5b50600f546101a090600160a01b900460ff1681565b3480156102b557600080fd5b506101c16102c43660046111a8565b6001600160a01b031660009081526005602052604090205490565b3480156102eb57600080fd5b5061025a6105dd565b34801561030057600080fd5b50600d54610314906001600160a01b031681565b6040516001600160a01b039091168152602001610177565b34801561033857600080fd5b506000546001600160a01b0316610314565b34801561035657600080fd5b506040805180820190915260078152664b414b4153484960c81b602082015261016a565b34801561038657600080fd5b50600f54610314906001600160a01b031681565b3480156103a657600080fd5b506101a06103b536600461113b565b61064c565b3480156103c657600080fd5b506101c16103d53660046111e7565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561040c57600080fd5b5061025a61041b366004611220565b610659565b34801561042c57600080fd5b5061025a61043b366004611242565b6106a1565b34801561044c57600080fd5b50600e54610314906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104bb9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526006602090815260408083203384529091528120546000191461057a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526006825283812033825290915291909120546105559184906106ec565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b610585848484610726565b90505b9392505050565b6000546001600160a01b031633146105c25760405162461bcd60e51b81526004016105b99061125b565b60405180910390fd5b6009829055600a8190556105d68183611291565b600b555050565b6000546001600160a01b031633146106075760405162461bcd60e51b81526004016105b99061125b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000610588338484610726565b6000546001600160a01b031633146106835760405162461bcd60e51b81526004016105b99061125b565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106cb5760405162461bcd60e51b81526004016105b99061125b565b6103e8816003546106dc91906112a4565b6106e691906112bb565b60045550565b600081848411156107105760405162461bcd60e51b81526004016105b991906110d5565b50600061071d84866112dd565b95945050505050565b60115460009060ff16156107465761073f848484610950565b9050610588565b600f546001600160a01b0384811691161480159061077257506002546001600160a01b03848116911614155b1561081d576001600160a01b03831660009081526008602052604090205460ff16806107c357506004546001600160a01b0384166000908152600560205260409020546107c0908490611291565b11155b61081d5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105b9565b610825610a36565b801561084a57506001600160a01b03841660009081526007602052604090205460ff16155b80156108635750600f546001600160a01b038481169116145b8015610870575060105482115b1561087d5761087d610a77565b6001600160a01b03841660009081526007602052604081205460ff1615806108af5750600f54600160a01b900460ff16155b6108b957826108c3565b6108c38584610e37565b6001600160a01b0385166000908152600560205260409020549091506108e99082610f42565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061093d9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526005909152918220546109a19184906106ec565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546109d09083610f42565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a249086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a555750600f54600160a01b900460ff165b8015610a7257506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610abe6002610ab8600b54610ab860095487610fa190919063ffffffff16565b90611023565b90506000610acc8383611065565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b0657610b066112f0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190611306565b81600181518110610b9657610b966112f0565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610be0908690600090879030904290600401611323565b600060405180830381600087803b158015610bfa57600080fd5b505af1158015610c0e573d6000803e3d6000fd5b505050506000610c27824761106590919063ffffffff16565b90506000610c4d610c44600260095461102390919063ffffffff16565b600b5490611065565b90506000610c6f6002610ab884610ab860095488610fa190919063ffffffff16565b90506000610c8c83610ab8600a5487610fa190919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610ce3576040519150601f19603f3d011682016040523d82523d6000602084013e610ce8565b606091505b5050905080610d395760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105b9565b8815610e2157600e5460405163f305d71960e01b8152306004820152602481018b90526000604482018190526064820152738697116bee02a91d87ce7fc22aa8a623f0208fd060848201524260a48201526001600160a01b039091169063f305d71990859060c40160606040518083038185885af1158015610dbf573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610de49190611394565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600590915291822054610e889184906106ec565b6001600160a01b038416600090815260056020526040812091909155600c54600b54610eba9190610ab8908690610fa1565b30600090815260056020526040902054909150610ed79082610f42565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f289085815260200190565b60405180910390a3610f3a8382611065565b949350505050565b600080610f4f8385611291565b9050838110156105885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b9565b600082600003610fb3575060006104c7565b6000610fbf83856112a4565b905082610fcc85836112bb565b146105885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b9565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110a7565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106ec565b600081836110c85760405162461bcd60e51b81526004016105b991906110d5565b50600061071d84866112bb565b600060208083528351808285015260005b81811015611102578581018301518582016040015282016110e6565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461113857600080fd5b50565b6000806040838503121561114e57600080fd5b823561115981611123565b946020939093013593505050565b60008060006060848603121561117c57600080fd5b833561118781611123565b9250602084013561119781611123565b929592945050506040919091013590565b6000602082840312156111ba57600080fd5b813561058881611123565b600080604083850312156111d857600080fd5b50508035926020909101359150565b600080604083850312156111fa57600080fd5b823561120581611123565b9150602083013561121581611123565b809150509250929050565b60006020828403121561123257600080fd5b8135801515811461058857600080fd5b60006020828403121561125457600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104c7576104c761127b565b80820281158282048414176104c7576104c761127b565b6000826112d857634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104c7576104c761127b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561131857600080fd5b815161058881611123565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113735784516001600160a01b03168352938301939183019160010161134e565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156113a957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220313e7cbaa9b3dab65909eefc9b530e572317cc9b11257853f1edc58f90cb509864736f6c63430008130033

Deployed Bytecode Sourcemap

4498:7178:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6491:80;;;;;;;;;;-1:-1:-1;6563:5:0;;;;;;;;;;;;-1:-1:-1;;;6563:5:0;;;;6491:80;;;;;;;:::i;:::-;;;;;;;;6913:216;;;;;;;;;;-1:-1:-1;6913:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6913:216:0;1023:187:1;6226:83:0;;;;;;;;;;-1:-1:-1;6299:7:0;;6226:83;;;1361:25:1;;;1349:2;1334:18;6226:83:0;1215:177:1;7301:370:0;;;;;;;;;;-1:-1:-1;7301:370:0;;;;;:::i;:::-;;:::i;2742:103::-;;;;;;;;;;-1:-1:-1;2742:103:0;;;;;:::i;:::-;2797:4;2832:5;-1:-1:-1;;;;;2821:16:0;;;2832:5;;2821:16;;2742:103;6315:80;;;;;;;;;;-1:-1:-1;6315:80:0;;4825:1;2252:36:1;;2240:2;2225:18;6315:80:0;2110:184:1;9098:220:0;;;;;;;;;;-1:-1:-1;9098:220:0;;;;;:::i;:::-;;:::i;:::-;;5487:49;;;;;;;;;;;;;;;;4887:53;;;;;;;;;;;;;;;;5449:31;;;;;;;;;;-1:-1:-1;5449:31:0;;;;-1:-1:-1;;;5449:31:0;;;;;;6661:105;;;;;;;;;;-1:-1:-1;6661:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6745:18:0;6727:7;6745:18;;;:9;:18;;;;;;;6661:105;2851:131;;;;;;;;;;;;;:::i;5313:71::-;;;;;;;;;;-1:-1:-1;5313:71:0;;;;-1:-1:-1;;;;;5313:71:0;;;;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;5313:71:0;2552:203:1;6577:78:0;;;;;;;;;;-1:-1:-1;6629:7:0;6647:5;-1:-1:-1;;;;;6647:5:0;6577:78;;6401:84;;;;;;;;;;-1:-1:-1;6475:7:0;;;;;;;;;;;;-1:-1:-1;;;6475:7:0;;;;6401:84;;5421:19;;;;;;;;;;-1:-1:-1;5421:19:0;;;;-1:-1:-1;;;;;5421:19:0;;;7137:156;;;;;;;;;;-1:-1:-1;7137:156:0;;;;;:::i;:::-;;:::i;6772:133::-;;;;;;;;;;-1:-1:-1;6772:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6874:19:0;;;6856:7;6874:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6772:133;9330:93;;;;;;;;;;-1:-1:-1;9330:93:0;;;;;:::i;:::-;;:::i;8953:137::-;;;;;;;;;;-1:-1:-1;8953:137:0;;;;;:::i;:::-;;:::i;5393:21::-;;;;;;;;;;-1:-1:-1;5393:21:0;;;;-1:-1:-1;;;;;5393:21:0;;;6913:216;7017:10;6988:4;7005:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7005:32:0;;;;;;;;;;:41;;;7062:37;6988:4;;7005:32;;7062:37;;;;7040:6;1361:25:1;;1349:2;1334:18;;1215:177;7062:37:0;;;;;;;;-1:-1:-1;7117:4:0;6913:216;;;;;:::o;7301:370::-;-1:-1:-1;;;;;7421:19:0;;7401:4;7421:19;;;:11;:19;;;;;;;;7441:10;7421:31;;;;;;;;-1:-1:-1;;7421:52:0;7418:186;;7523:69;;;;;;;;;;;-1:-1:-1;;;7523:69:0;;;;;;;;-1:-1:-1;;;;;7523:19:0;;-1:-1:-1;7523:19:0;;;:11;:19;;;;;7543:10;7523:31;;;;;;;;;;:69;;7559:6;;7523:35;:69::i;:::-;-1:-1:-1;;;;;7489:19:0;;;;;;:11;:19;;;;;;;;7509:10;7489:31;;;;;;;:103;7418:186;7623:40;7637:6;7645:9;7656:6;7623:13;:40::i;:::-;7616:47;;7301:370;;;;;;:::o;9098:220::-;2797:4;2832:5;-1:-1:-1;;;;;2832:5:0;2703:10;2821:16;2687:38;;;;-1:-1:-1;;;2687:38:0;;;;;;;:::i;:::-;;;;;;;;;9191:12:::1;:28:::0;;;9232:12:::1;:28:::0;;;9283:27:::1;9247:13:::0;9206;9283:27:::1;:::i;:::-;9272:8;:38:::0;-1:-1:-1;;9098:220:0:o;2851:131::-;2797:4;2832:5;-1:-1:-1;;;;;2832:5:0;2703:10;2821:16;2687:38;;;;-1:-1:-1;;;2687:38:0;;;;;;;:::i;:::-;2924:1:::1;2908:18:::0;;-1:-1:-1;;;;;;2908:18:0::1;::::0;;2942:32:::1;::::0;2698:51:1;;;2942:32:0::1;::::0;2686:2:1;2671:18;2942:32:0::1;;;;;;;2851:131::o:0;7137:156::-;7217:4;7241:44;7255:10;7267:9;7278:6;7241:13;:44::i;9330:93::-;2797:4;2832:5;-1:-1:-1;;;;;2832:5:0;2703:10;2821:16;2687:38;;;;-1:-1:-1;;;2687:38:0;;;;;;;:::i;:::-;9396:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;9396:19:0::1;-1:-1:-1::0;;;;9396:19:0;;::::1;::::0;;;::::1;::::0;;9330:93::o;8953:137::-;2797:4;2832:5;-1:-1:-1;;;;;2832:5:0;2703:10;2821:16;2687:38;;;;-1:-1:-1;;;2687:38:0;;;;;;;:::i;:::-;9078:4:::1;9060:13;9050:7;;:23;;;;:::i;:::-;9049:33;;;;:::i;:::-;9030:16;:52:::0;-1:-1:-1;8953:137:0:o;830:190::-;916:7;952:12;944:6;;;;936:29;;;;-1:-1:-1;;;936:29:0;;;;;;;;:::i;:::-;-1:-1:-1;976:9:0;988:5;992:1;988;:5;:::i;:::-;976:17;830:190;-1:-1:-1;;;;;830:190:0:o;7679:801::-;7791:8;;7771:4;;7791:8;;7788:65;;;7809:41;7824:6;7832:9;7843:6;7809:14;:41::i;:::-;7802:48;;;;7788:65;7890:4;;-1:-1:-1;;;;;7877:17:0;;;7890:4;;7877:17;;;;:38;;-1:-1:-1;7911:4:0;;-1:-1:-1;;;;;7898:17:0;;;7911:4;;7898:17;;7877:38;7873:200;;;-1:-1:-1;;;;;7940:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8003:16:0;;-1:-1:-1;;;;;7970:20:0;;;;;;:9;:20;;;;;;:29;;7993:6;;7970:29;:::i;:::-;:49;;7940:79;7932:129;;;;-1:-1:-1;;;7932:129:0;;5165:2:1;7932:129:0;;;5147:21:1;5204:2;5184:18;;;5177:30;5243:34;5223:18;;;5216:62;-1:-1:-1;;;5294:18:1;;;5287:35;5339:19;;7932:129:0;4963:401:1;7932:129:0;8096:16;:14;:16::i;:::-;:41;;;;-1:-1:-1;;;;;;8917:20:0;;8892:4;8917:20;;;:12;:20;;;;;;;;8916:21;8116;8096:62;;;;-1:-1:-1;8154:4:0;;-1:-1:-1;;;;;8141:17:0;;;8154:4;;8141:17;8096:62;:91;;;;;8171:16;;8162:6;:25;8096:91;8093:110;;;8190:10;:8;:10::i;:::-;-1:-1:-1;;;;;8917:20:0;;8218:22;8917:20;;;:12;:20;;;;;;;;8916:21;8243:37;;;-1:-1:-1;8269:11:0;;-1:-1:-1;;;8269:11:0;;;;8268:12;8243:37;:72;;8309:6;8243:72;;;8283:23;8291:6;8299;8283:7;:23::i;:::-;-1:-1:-1;;;;;8349:20:0;;;;;;:9;:20;;;;;;8218:97;;-1:-1:-1;8349:40:0;;8218:97;8349:24;:40::i;:::-;-1:-1:-1;;;;;8326:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8407:43;;;;;;;;;;8435:14;1361:25:1;;1349:2;1334:18;;1215:177;8407:43:0;;;;;;;;-1:-1:-1;8468:4:0;;7679:801;-1:-1:-1;;;;7679:801:0:o;8492:330::-;8622:53;;;;;;;;;;;-1:-1:-1;;;8622:53:0;;;;;;;;-1:-1:-1;;;;;8622:17:0;;8585:4;8622:17;;;:9;:17;;;;;;;:53;;8644:6;;8622:21;:53::i;:::-;-1:-1:-1;;;;;8602:17:0;;;;;;;:9;:17;;;;;;:73;;;;8709:20;;;;;;;:32;;8734:6;8709:24;:32::i;:::-;-1:-1:-1;;;;;8686:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8757:35;;;;;;;;;;8785:6;1361:25:1;;1349:2;1334:18;;1215:177;8757:35:0;;;;;;;;-1:-1:-1;8810:4:0;8492:330;;;;;:::o;9852:171::-;9926:8;;9901:4;;9926:8;;9925:9;:33;;;;-1:-1:-1;9947:11:0;;-1:-1:-1;;;9947:11:0;;;;9925:33;:90;;;;-1:-1:-1;9999:16:0;;9989:4;9971:24;;;;:9;:24;;;;;;:44;;9925:90;9918:97;;9852:171;:::o;10031:1574::-;5593:8;:15;;-1:-1:-1;;5593:15:0;5604:4;5593:15;;;10129:4:::1;-1:-1:-1::0;6745:18:0;;;:9;:18;;;;;;10080:55:::1;;10146:23;10172:59;10229:1;10172:52;10215:8;;10172:38;10197:12;;10172:20;:24;;:38;;;;:::i;:::-;:42:::0;::::1;:52::i;:59::-;10146:85:::0;-1:-1:-1;10242:20:0::1;10265:41;:20:::0;10146:85;10265:24:::1;:41::i;:::-;10343:16;::::0;;10357:1:::1;10343:16:::0;;;;;::::1;::::0;;10242:64;;-1:-1:-1;10319:21:0::1;::::0;10343:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10343:16:0::1;10319:40;;10388:4;10370;10375:1;10370:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10370:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10414:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10414:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10370:7;;10414:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10404:4;10409:1;10404:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10404:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10498:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10498:188:0;;10464:21:::1;::::0;10498:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10570:12;;10440:21:::1;::::0;10613:4;;10640::::1;::::0;10660:15:::1;::::0;10498:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10697:17;10717:40;10743:13;10717:21;:25;;:40;;;;:::i;:::-;10697:60;;10768:19;10790:33;10803:19;10820:1;10803:12;;:16;;:19;;;;:::i;:::-;10790:8;::::0;;:12:::1;:33::i;:::-;10768:55;;10834:26;10863:51;10912:1;10863:44;10895:11;10863:27;10877:12;;10863:9;:13;;:27;;;;:::i;:51::-;10834:80;;10925:26;10954:44;10986:11;10954:27;10968:12;;10954:9;:13;;:27;;;;:::i;:44::-;11072:11;::::0;11064:68:::1;::::0;10925:73;;-1:-1:-1;11014:21:0::1;::::0;-1:-1:-1;;;;;11072:11:0;;::::1;::::0;11122:5:::1;::::0;10925:73;;11014:21;11064:68;11014:21;11064:68;10925:73;11072:11;11122:5;11064:68:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11013:119;;;11151:16;11143:59;;;::::0;-1:-1:-1;;;11143:59:0;;7286:2:1;11143:59:0::1;::::0;::::1;7268:21:1::0;7325:2;7305:18;;;7298:30;7364:32;7344:18;;;7337:60;7414:18;;11143:59:0::1;7084:354:1::0;11143:59:0::1;11218:19:::0;;11215:383:::1;;11253:6;::::0;:265:::1;::::0;-1:-1:-1;;;11253:265:0;;11329:4:::1;11253:265;::::0;::::1;7784:34:1::0;7834:18;;;7827:34;;;11253:6:0::1;7877:18:1::0;;;7870:34;;;7920:18;;;7913:34;11427:42:0::1;7963:19:1::0;;;7956:44;11488:15:0::1;8016:19:1::0;;;8009:35;-1:-1:-1;;;;;11253:6:0;;::::1;::::0;:22:::1;::::0;11283:18;;7718:19:1;;11253:265:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11538:48:0::1;::::0;;8540:25:1;;;8596:2;8581:18;;8574:34;;;11538:48:0::1;::::0;-1:-1:-1;8513:18:1;11538:48:0::1;;;;;;;11215:383;-1:-1:-1::0;;5613:8:0;:16;;-1:-1:-1;;5613:16:0;;;-1:-1:-1;;;;;;;;10031:1574:0:o;9431:413::-;9538:53;;;;;;;;;;;-1:-1:-1;;;9538:53:0;;;;;;;;-1:-1:-1;;;;;9538:17:0;;9498:7;9538:17;;;:9;:17;;;;;;;:53;;9560:6;;9538:21;:53::i;:::-;-1:-1:-1;;;;;9518:17:0;;;;;;:9;:17;;;;;:73;;;;9647:14;;9633:8;;9622:40;;9647:14;9622:20;;:6;;:10;:20::i;:40::-;9718:4;9700:24;;;;:9;:24;;;;;;9602:60;;-1:-1:-1;9700:39:0;;9602:60;9700:28;:39::i;:::-;9691:4;9673:24;;;;:9;:24;;;;;;;:66;;;;9755:42;;-1:-1:-1;;;;;9755:42:0;;;;;;;9787:9;1361:25:1;;1349:2;1334:18;;1215:177;9755:42:0;;;;;;;;9815:21;:6;9826:9;9815:10;:21::i;:::-;9808:28;9431:413;-1:-1:-1;;;;9431:413:0:o;503:179::-;561:7;;593:5;597:1;593;:5;:::i;:::-;581:17;;622:1;617;:6;;609:46;;;;-1:-1:-1;;;609:46:0;;8821:2:1;609:46:0;;;8803:21:1;8860:2;8840:18;;;8833:30;8899:29;8879:18;;;8872:57;8946:18;;609:46:0;8619:351:1;1026:246:0;1084:7;1108:1;1113;1108:6;1104:47;;-1:-1:-1;1138:1:0;1131:8;;1104:47;1161:9;1173:5;1177:1;1173;:5;:::i;:::-;1161:17;-1:-1:-1;1206:1:0;1197:5;1201:1;1161:17;1197:5;:::i;:::-;:10;1189:56;;;;-1:-1:-1;;;1189:56:0;;9177:2:1;1189:56:0;;;9159:21:1;9216:2;9196:18;;;9189:30;9255:34;9235:18;;;9228:62;-1:-1:-1;;;9306:18:1;;;9299:31;9347:19;;1189:56:0;8975:397:1;1278:132:0;1336:7;1363:39;1367:1;1370;1363:39;;;;;;;;;;;;;;;;;:3;:39::i;688:136::-;746:7;773:43;777:1;780;773:43;;;;;;;;;;;;;;;;;:3;:43::i;1416:189::-;1502:7;1537:12;1530:5;1522:28;;;;-1:-1:-1;;;1522:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1561:9:0;1573:5;1577:1;1573;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:388::-;2828:6;2836;2889:2;2877:9;2868:7;2864:23;2860:32;2857:52;;;2905:1;2902;2895:12;2857:52;2944:9;2931:23;2963:31;2988:5;2963:31;:::i;:::-;3013:5;-1:-1:-1;3070:2:1;3055:18;;3042:32;3083:33;3042:32;3083:33;:::i;:::-;3135:7;3125:17;;;2760:388;;;;;:::o;3153:273::-;3209:6;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3370:5;3363:13;3356:21;3349:5;3346:32;3336:60;;3392:1;3389;3382:12;3431:180;3490:6;3543:2;3531:9;3522:7;3518:23;3514:32;3511:52;;;3559:1;3556;3549:12;3511:52;-1:-1:-1;3582:23:1;;3431:180;-1:-1:-1;3431:180:1:o;3839:329::-;4041:2;4023:21;;;4080:1;4060:18;;;4053:29;-1:-1:-1;;;4113:2:1;4098:18;;4091:36;4159:2;4144:18;;3839:329::o;4173:127::-;4234:10;4229:3;4225:20;4222:1;4215:31;4265:4;4262:1;4255:15;4289:4;4286:1;4279:15;4305:125;4370:9;;;4391:10;;;4388:36;;;4404:18;;:::i;4435:168::-;4508:9;;;4539;;4556:15;;;4550:22;;4536:37;4526:71;;4577:18;;:::i;4608:217::-;4648:1;4674;4664:132;;4718:10;4713:3;4709:20;4706:1;4699:31;4753:4;4750:1;4743:15;4781:4;4778:1;4771:15;4664:132;-1:-1:-1;4810:9:1;;4608:217::o;4830:128::-;4897:9;;;4918:11;;;4915:37;;;4932:18;;:::i;5501:127::-;5562:10;5557:3;5553:20;5550:1;5543:31;5593:4;5590:1;5583:15;5617:4;5614:1;5607:15;5633:251;5703:6;5756:2;5744:9;5735:7;5731:23;5727:32;5724:52;;;5772:1;5769;5762:12;5724:52;5804:9;5798:16;5823:31;5848:5;5823:31;:::i;5889:980::-;6151:4;6199:3;6188:9;6184:19;6230:6;6219:9;6212:25;6256:2;6294:6;6289:2;6278:9;6274:18;6267:34;6337:3;6332:2;6321:9;6317:18;6310:31;6361:6;6396;6390:13;6427:6;6419;6412:22;6465:3;6454:9;6450:19;6443:26;;6504:2;6496:6;6492:15;6478:29;;6525:1;6535:195;6549:6;6546:1;6543:13;6535:195;;;6614:13;;-1:-1:-1;;;;;6610:39:1;6598:52;;6705:15;;;;6670:12;;;;6646:1;6564:9;6535:195;;;-1:-1:-1;;;;;;;6786:32:1;;;;6781:2;6766:18;;6759:60;-1:-1:-1;;;6850:3:1;6835:19;6828:35;6747:3;5889:980;-1:-1:-1;;;5889:980:1:o;8055:306::-;8143:6;8151;8159;8212:2;8200:9;8191:7;8187:23;8183:32;8180:52;;;8228:1;8225;8218:12;8180:52;8257:9;8251:16;8241:26;;8307:2;8296:9;8292:18;8286:25;8276:35;;8351:2;8340:9;8336:18;8330:25;8320:35;;8055:306;;;;;:::o

Swarm Source

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