ETH Price: $2,631.96 (+6.64%)

Token

Jito Labs (JITO)
 

Overview

Max Total Supply

1,000,000,000 JITO

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
311,811.282236207 JITO

Value
$0.00
0xab6afe5deddbcfcef351e301240d9f6ada575e54
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:
JITO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-13
*/

// SPDX-License-Identifier: Unlicensed

/**
Earn MEV rewards through liquid staking

Website: https://www.jitolabs.pro
Telegram: https://t.me/jito_erc
Twitter: https://twitter.com/jito_erc
 */

pragma solidity 0.8.19;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IUniswapRouter {
    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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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

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

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

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

    function set(address) external;
    function setSetter(address) external;
}

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

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

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

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

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) _isExcludedFromAll;
    mapping (address => bool) _isExcludedFromWalletLimit;
    mapping (address => bool) _isExcludedFromTxLimit;
    mapping (address => bool) _isPairAddress;
    
    string private _name = "Jito Labs";
    string private _symbol = "JITO";

    address payable _marketingAddress;
    address payable _devAddress;
        
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10 ** 9;
    uint256 public maxTxAmount = 20 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletAmount = 20 * 10 ** 6 * 10 ** 9;
    uint256 public swapThreshold = 10 ** 4 * 10 ** 9; 
    
    bool swapping;
    bool _swapFeeEnabled = true;
    bool _maxTxDisabled = false;
    bool _maxWalletDisabled = true;

    IUniswapRouter _uniswapRouter;
    address _pairAddress;

    uint256 _buyFeeLp = 0;
    uint256 _buyFeeMkt = 20;
    uint256 _devbuyFees = 0;
    uint256 _buyFee = 20;

    uint256 _feeSellLp = 0;
    uint256 _feeSellMkt = 20;
    uint256 _feeSellDev = 0;
    uint256 _sellFee = 20;

    uint256 _feeSeperateLp = 0;
    uint256 _feeSeperateMkt = 10;
    uint256 _feeSeperateDev = 0;
    uint256 _feeSeperateTotal = 10;

    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        _balances[_msgSender()] = _totalSupply;
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        _pairAddress = IUniswapFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _uniswapRouter = _uniswapV2Router;
        _allowances[address(this)][address(_uniswapRouter)] = _totalSupply;
        _marketingAddress = payable(0xD0B738749948bf044BdA8bAddD609406aCeC4D43);
        _devAddress = payable(0xD0B738749948bf044BdA8bAddD609406aCeC4D43);
        _buyFee = _buyFeeLp.add(_buyFeeMkt).add(_devbuyFees);
        _sellFee = _feeSellLp.add(_feeSellMkt).add(_feeSellDev);
        _feeSeperateTotal = _feeSeperateLp.add(_feeSeperateMkt).add(_feeSeperateDev);
        
        _isExcludedFromAll[owner()] = true;
        _isExcludedFromAll[_marketingAddress] = true;
        _isExcludedFromWalletLimit[owner()] = true;
        _isExcludedFromWalletLimit[address(_pairAddress)] = true;
        _isExcludedFromWalletLimit[address(this)] = true;
        _isExcludedFromTxLimit[owner()] = true;
        _isExcludedFromTxLimit[_marketingAddress] = true;
        _isExcludedFromTxLimit[address(this)] = true;
        _isPairAddress[address(_pairAddress)] = true;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
                
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
        
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function triggerSwap(uint256 tAmount) private lockSwap {
        uint256 lpFeetokens = tAmount.mul(_feeSeperateLp).div(_feeSeperateTotal).div(2);
        uint256 tokensToSwap = tAmount.sub(lpFeetokens);

        swapTokensForETH(tokensToSwap);
        uint256 ethCA = address(this).balance;

        uint256 totalETHFee = _feeSeperateTotal.sub(_feeSeperateLp.div(2));
        
        uint256 amountETHLiquidity = ethCA.mul(_feeSeperateLp).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = ethCA.mul(_feeSeperateDev).div(totalETHFee);
        uint256 amountETHMarketing = ethCA.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            sendFeeETH(_marketingAddress, amountETHMarketing);

        if(amountETHDevelopment > 0)
            sendFeeETH(_devAddress, amountETHDevelopment);
    }

    function getTransferringTokens(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 fee = 0;
        if(_isPairAddress[sender]) {fee = amount.mul(_buyFee).div(100);}
        else if(_isPairAddress[recipient]) {fee = amount.mul(_sellFee).div(100);}
        if(fee > 0) {
            _balances[address(this)] = _balances[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
        return amount.sub(fee);
    }
    
    receive() external payable {}
    
    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
        _maxWalletDisabled = false;
        _buyFeeMkt = 3;
        _feeSellMkt = 3;
        _buyFee = 3;
        _sellFee = 3;
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();

        _approve(address(this), address(_uniswapRouter), tokenAmount);

        // make the triggerSwap
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

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

    function sendFeeETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
        
    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if(swapping)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!_isExcludedFromTxLimit[sender] && !_isExcludedFromTxLimit[recipient]) {
                require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 swapAmount = balanceOf(address(this));
            bool minimumSwap = swapAmount >= swapThreshold;
            
            if (minimumSwap && !swapping && _isPairAddress[recipient] && _swapFeeEnabled && !_isExcludedFromAll[sender] && amount > swapThreshold) 
            {
                if(_maxTxDisabled)
                    swapAmount = swapThreshold;
                triggerSwap(swapAmount);    
            }

            uint256 finalAmount;                                         
            if (_isExcludedFromAll[sender] || _isExcludedFromAll[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = getTransferringTokens(sender, recipient, amount);
            }
            if(_maxWalletDisabled && !_isExcludedFromWalletLimit[recipient])
                require(balanceOf(recipient).add(finalAmount) <= maxWalletAmount);

            uint256 amountToReduce = (!_maxWalletDisabled && _isExcludedFromAll[sender]) ? amount.sub(finalAmount) : amount;
            _balances[sender] = _balances[sender].sub(amountToReduce, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(finalAmount);
            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405260096080908152684a69746f204c61627360b81b60a0526008906200002a908262000662565b506040805180820190915260048152634a49544f60e01b602082015260099062000055908262000662565b50600b805460ff60a01b1916600960a01b179055670de0b6b3a7640000600c5566470de4df820000600d819055600e556509184e72a000600f556010805463ffffff001916630100010017905560006012819055601460138190558181556015819055601682905560178190556018829055601955601a819055600a601b819055601c91909155601d55348015620000ec57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c543360009081526002602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa15801562000195573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bb91906200072e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000209573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022f91906200072e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200027d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a391906200072e565b601180546001600160a01b03199081166001600160a01b039384161790915560108054600160201b600160c01b03191664010000000085851681029190911791829055600c54306000908152600360209081526040808320949095049096168152919094522091909155600a805473d0b738749948bf044bda8baddd609406acec4d439083168117909155600b80549092161790556014546013546012546200035a92916200035391906200054e565b906200054e565b6015556018546017546016546200037892916200035391906200054e565b601955601c54601b54601a546200039692916200035391906200054e565b601d55600160046000620003b26000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600a5490911681526004909252812080549092166001908117909255600590620004126000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556011549091168152600590925280822080548416600190811790915530835290822080549093168117909255600690620004826000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600a54821681526006845282812080548616600190811790915530825283822080548716821790556011549092168152600790935291208054909216179055620004f73390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040516200053f91815260200190565b60405180910390a3506200077b565b6000806200055d838562000759565b905083811015620005b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005e857607f821691505b6020821081036200060957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200065d57600081815260208120601f850160051c81016020861015620006385750805b601f850160051c820191505b81811015620006595782815560010162000644565b5050505b505050565b81516001600160401b038111156200067e576200067e620005bd565b62000696816200068f8454620005d3565b846200060f565b602080601f831160018114620006ce5760008415620006b55750858301515b600019600386901b1c1916600185901b17855562000659565b600085815260208120601f198616915b82811015620006ff57888601518255948401946001909101908401620006de565b50858210156200071e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200074157600080fd5b81516001600160a01b0381168114620005b457600080fd5b80820180821115620005b757634e487b7160e01b600052601160045260246000fd5b611526806200078b6000396000f3fe6080604052600436106100f75760003560e01c8063751039fc1161008a578063a9059cbb11610059578063a9059cbb14610294578063aa4bde28146102b4578063dd62ed3e146102ca578063f2fde38b1461031057600080fd5b8063751039fc1461022c5780638c0b5e22146102415780638da5cb5b1461025757806395d89b411461027f57600080fd5b806323b872dd116100c657806323b872dd14610193578063313ce567146101b357806370a08231146101df578063715018a61461021557600080fd5b80630445b6671461010357806306fdde031461012c578063095ea7b31461014e57806318160ddd1461017e57600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50610119600f5481565b6040519081526020015b60405180910390f35b34801561013857600080fd5b50610141610330565b6040516101239190611217565b34801561015a57600080fd5b5061016e61016936600461127d565b6103c2565b6040519015158152602001610123565b34801561018a57600080fd5b50600c54610119565b34801561019f57600080fd5b5061016e6101ae3660046112a9565b6103d9565b3480156101bf57600080fd5b50600b54600160a01b900460ff1660405160ff9091168152602001610123565b3480156101eb57600080fd5b506101196101fa3660046112ea565b6001600160a01b031660009081526002602052604090205490565b34801561022157600080fd5b5061022a610444565b005b34801561023857600080fd5b5061022a6104c1565b34801561024d57600080fd5b50610119600d5481565b34801561026357600080fd5b506000546040516001600160a01b039091168152602001610123565b34801561028b57600080fd5b50610141610514565b3480156102a057600080fd5b5061016e6102af36600461127d565b610523565b3480156102c057600080fd5b50610119600e5481565b3480156102d657600080fd5b506101196102e5366004611307565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561031c57600080fd5b5061022a61032b3660046112ea565b610530565b60606008805461033f90611340565b80601f016020809104026020016040519081016040528092919081815260200182805461036b90611340565b80156103b85780601f1061038d576101008083540402835291602001916103b8565b820191906000526020600020905b81548152906001019060200180831161039b57829003601f168201915b5050505050905090565b60006103cf33848461061a565b5060015b92915050565b60006103e684848461073e565b506104398433610434856040518060600160405280602881526020016114c9602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610b92565b61061a565b5060015b9392505050565b6000546001600160a01b031633146104775760405162461bcd60e51b815260040161046e9061137a565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104eb5760405162461bcd60e51b815260040161046e9061137a565b600c54600d556010805463ff000000191690556003601381905560178190556015819055601955565b60606009805461033f90611340565b600061043933848461073e565b6000546001600160a01b0316331461055a5760405162461bcd60e51b815260040161046e9061137a565b6001600160a01b0381166105bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661067c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046e565b6001600160a01b0382166106dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046e565b6001600160a01b0383166108065760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046e565b60105460ff16156108235761081c848484610bcc565b905061043d565b6001600160a01b03841660009081526006602052604090205460ff1615801561086557506001600160a01b03831660009081526006602052604090205460ff16155b156108cd57600d548211156108cd5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161046e565b30600090815260026020526040902054600f54811080159081906108f4575060105460ff16155b801561091857506001600160a01b03851660009081526007602052604090205460ff165b801561092b5750601054610100900460ff165b801561095057506001600160a01b03861660009081526004602052604090205460ff16155b801561095d5750600f5484115b156109825760105462010000900460ff161561097957600f5491505b61098282610cb2565b6001600160a01b03861660009081526004602052604081205460ff16806109c157506001600160a01b03861660009081526004602052604090205460ff165b156109cd5750836109db565b6109d8878787610dc0565b90505b6010546301000000900460ff168015610a0d57506001600160a01b03861660009081526005602052604090205460ff16155b15610a4957600e54610a3e82610a38896001600160a01b031660009081526002602052604090205490565b90610ec6565b1115610a4957600080fd5b6010546000906301000000900460ff16158015610a7e57506001600160a01b03881660009081526004602052604090205460ff165b610a885785610a92565b610a928683610f25565b9050610afa8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600260008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610b929092919063ffffffff16565b6001600160a01b03808a166000908152600260205260408082209390935590891681522054610b299083610ec6565b6001600160a01b0380891660008181526002602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7d9086815260200190565b60405180910390a3600194505050505061043d565b60008184841115610bb65760405162461bcd60e51b815260040161046e9190611217565b506000610bc384866113c5565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610c1d918490610b92565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610c4c9083610ec6565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca09086815260200190565b60405180910390a35060019392505050565b6010805460ff19166001179055601d54601a54600091610ce291600291610cdc9182908790610f67565b90610fe9565b90506000610cf08383610f25565b9050610cfb8161102b565b601a544790600090610d1b90610d12906002610fe9565b601d5490610f25565b90506000610d3d6002610cdc84610cdc601a5488610f6790919063ffffffff16565b90506000610d5a83610cdc601c5487610f6790919063ffffffff16565b90506000610d7282610d6c8786610f25565b90610f25565b90508015610d9057600a54610d90906001600160a01b0316826111ae565b8115610dac57600b54610dac906001600160a01b0316836111ae565b50506010805460ff19169055505050505050565b6001600160a01b038316600090815260076020526040812054819060ff1615610e0457610dfd6064610cdc60155486610f6790919063ffffffff16565b9050610e42565b6001600160a01b03841660009081526007602052604090205460ff1615610e4257610e3f6064610cdc60195486610f6790919063ffffffff16565b90505b8015610ebc5730600090815260026020526040902054610e629082610ec6565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb39085815260200190565b60405180910390a35b610bc38382610f25565b600080610ed383856113d8565b90508381101561043d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046e565b600061043d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b92565b600082600003610f79575060006103d3565b6000610f8583856113eb565b905082610f928583611402565b1461043d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046e565b600061043d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111e9565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061106057611060611424565b60200260200101906001600160a01b031690816001600160a01b031681525050601060049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061143a565b8160018151811061110a5761110a611424565b6001600160a01b0392831660209182029290920101526010546111389130916401000000009004168461061a565b60105460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac94790611178908590600090869030904290600401611457565b600060405180830381600087803b15801561119257600080fd5b505af11580156111a6573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156111e4573d6000803e3d6000fd5b505050565b6000818361120a5760405162461bcd60e51b815260040161046e9190611217565b506000610bc38486611402565b600060208083528351808285015260005b8181101561124457858101830151858201604001528201611228565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127a57600080fd5b50565b6000806040838503121561129057600080fd5b823561129b81611265565b946020939093013593505050565b6000806000606084860312156112be57600080fd5b83356112c981611265565b925060208401356112d981611265565b929592945050506040919091013590565b6000602082840312156112fc57600080fd5b813561043d81611265565b6000806040838503121561131a57600080fd5b823561132581611265565b9150602083013561133581611265565b809150509250929050565b600181811c9082168061135457607f821691505b60208210810361137457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103d3576103d36113af565b808201808211156103d3576103d36113af565b80820281158282048414176103d3576103d36113af565b60008261141f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561144c57600080fd5b815161043d81611265565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a75784516001600160a01b031683529383019391830191600101611482565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220733565e2df7d923c7edf6e0946ad1fe90024f6fab1996dff92c73e81c6ce96f464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063751039fc1161008a578063a9059cbb11610059578063a9059cbb14610294578063aa4bde28146102b4578063dd62ed3e146102ca578063f2fde38b1461031057600080fd5b8063751039fc1461022c5780638c0b5e22146102415780638da5cb5b1461025757806395d89b411461027f57600080fd5b806323b872dd116100c657806323b872dd14610193578063313ce567146101b357806370a08231146101df578063715018a61461021557600080fd5b80630445b6671461010357806306fdde031461012c578063095ea7b31461014e57806318160ddd1461017e57600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b50610119600f5481565b6040519081526020015b60405180910390f35b34801561013857600080fd5b50610141610330565b6040516101239190611217565b34801561015a57600080fd5b5061016e61016936600461127d565b6103c2565b6040519015158152602001610123565b34801561018a57600080fd5b50600c54610119565b34801561019f57600080fd5b5061016e6101ae3660046112a9565b6103d9565b3480156101bf57600080fd5b50600b54600160a01b900460ff1660405160ff9091168152602001610123565b3480156101eb57600080fd5b506101196101fa3660046112ea565b6001600160a01b031660009081526002602052604090205490565b34801561022157600080fd5b5061022a610444565b005b34801561023857600080fd5b5061022a6104c1565b34801561024d57600080fd5b50610119600d5481565b34801561026357600080fd5b506000546040516001600160a01b039091168152602001610123565b34801561028b57600080fd5b50610141610514565b3480156102a057600080fd5b5061016e6102af36600461127d565b610523565b3480156102c057600080fd5b50610119600e5481565b3480156102d657600080fd5b506101196102e5366004611307565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561031c57600080fd5b5061022a61032b3660046112ea565b610530565b60606008805461033f90611340565b80601f016020809104026020016040519081016040528092919081815260200182805461036b90611340565b80156103b85780601f1061038d576101008083540402835291602001916103b8565b820191906000526020600020905b81548152906001019060200180831161039b57829003601f168201915b5050505050905090565b60006103cf33848461061a565b5060015b92915050565b60006103e684848461073e565b506104398433610434856040518060600160405280602881526020016114c9602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610b92565b61061a565b5060015b9392505050565b6000546001600160a01b031633146104775760405162461bcd60e51b815260040161046e9061137a565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104eb5760405162461bcd60e51b815260040161046e9061137a565b600c54600d556010805463ff000000191690556003601381905560178190556015819055601955565b60606009805461033f90611340565b600061043933848461073e565b6000546001600160a01b0316331461055a5760405162461bcd60e51b815260040161046e9061137a565b6001600160a01b0381166105bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661067c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046e565b6001600160a01b0382166106dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046e565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046e565b6001600160a01b0383166108065760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046e565b60105460ff16156108235761081c848484610bcc565b905061043d565b6001600160a01b03841660009081526006602052604090205460ff1615801561086557506001600160a01b03831660009081526006602052604090205460ff16155b156108cd57600d548211156108cd5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161046e565b30600090815260026020526040902054600f54811080159081906108f4575060105460ff16155b801561091857506001600160a01b03851660009081526007602052604090205460ff165b801561092b5750601054610100900460ff165b801561095057506001600160a01b03861660009081526004602052604090205460ff16155b801561095d5750600f5484115b156109825760105462010000900460ff161561097957600f5491505b61098282610cb2565b6001600160a01b03861660009081526004602052604081205460ff16806109c157506001600160a01b03861660009081526004602052604090205460ff165b156109cd5750836109db565b6109d8878787610dc0565b90505b6010546301000000900460ff168015610a0d57506001600160a01b03861660009081526005602052604090205460ff16155b15610a4957600e54610a3e82610a38896001600160a01b031660009081526002602052604090205490565b90610ec6565b1115610a4957600080fd5b6010546000906301000000900460ff16158015610a7e57506001600160a01b03881660009081526004602052604090205460ff165b610a885785610a92565b610a928683610f25565b9050610afa8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250600260008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610b929092919063ffffffff16565b6001600160a01b03808a166000908152600260205260408082209390935590891681522054610b299083610ec6565b6001600160a01b0380891660008181526002602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b7d9086815260200190565b60405180910390a3600194505050505061043d565b60008184841115610bb65760405162461bcd60e51b815260040161046e9190611217565b506000610bc384866113c5565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610c1d918490610b92565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610c4c9083610ec6565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca09086815260200190565b60405180910390a35060019392505050565b6010805460ff19166001179055601d54601a54600091610ce291600291610cdc9182908790610f67565b90610fe9565b90506000610cf08383610f25565b9050610cfb8161102b565b601a544790600090610d1b90610d12906002610fe9565b601d5490610f25565b90506000610d3d6002610cdc84610cdc601a5488610f6790919063ffffffff16565b90506000610d5a83610cdc601c5487610f6790919063ffffffff16565b90506000610d7282610d6c8786610f25565b90610f25565b90508015610d9057600a54610d90906001600160a01b0316826111ae565b8115610dac57600b54610dac906001600160a01b0316836111ae565b50506010805460ff19169055505050505050565b6001600160a01b038316600090815260076020526040812054819060ff1615610e0457610dfd6064610cdc60155486610f6790919063ffffffff16565b9050610e42565b6001600160a01b03841660009081526007602052604090205460ff1615610e4257610e3f6064610cdc60195486610f6790919063ffffffff16565b90505b8015610ebc5730600090815260026020526040902054610e629082610ec6565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb39085815260200190565b60405180910390a35b610bc38382610f25565b600080610ed383856113d8565b90508381101561043d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046e565b600061043d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b92565b600082600003610f79575060006103d3565b6000610f8583856113eb565b905082610f928583611402565b1461043d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046e565b600061043d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111e9565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061106057611060611424565b60200260200101906001600160a01b031690816001600160a01b031681525050601060049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f7919061143a565b8160018151811061110a5761110a611424565b6001600160a01b0392831660209182029290920101526010546111389130916401000000009004168461061a565b60105460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac94790611178908590600090869030904290600401611457565b600060405180830381600087803b15801561119257600080fd5b505af11580156111a6573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156111e4573d6000803e3d6000fd5b505050565b6000818361120a5760405162461bcd60e51b815260040161046e9190611217565b506000610bc38486611402565b600060208083528351808285015260005b8181101561124457858101830151858201604001528201611228565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127a57600080fd5b50565b6000806040838503121561129057600080fd5b823561129b81611265565b946020939093013593505050565b6000806000606084860312156112be57600080fd5b83356112c981611265565b925060208401356112d981611265565b929592945050506040919091013590565b6000602082840312156112fc57600080fd5b813561043d81611265565b6000806040838503121561131a57600080fd5b823561132581611265565b9150602083013561133581611265565b809150509250929050565b600181811c9082168061135457607f821691505b60208210810361137457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103d3576103d36113af565b808201808211156103d3576103d36113af565b80820281158282048414176103d3576103d36113af565b60008261141f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561144c57600080fd5b815161043d81611265565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114a75784516001600160a01b031683529383019391830191600101611482565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220733565e2df7d923c7edf6e0946ad1fe90024f6fab1996dff92c73e81c6ce96f464736f6c63430008130033

Deployed Bytecode Sourcemap

5036:9235:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5825:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5825:48:0;;;;;;;;7944:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8341:161::-;;;;;;;;;;-1:-1:-1;8341:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8341:161:0;1205:187:1;8221:100:0;;;;;;;;;;-1:-1:-1;8301:12:0;;8221:100;;9154:313;;;;;;;;;;-1:-1:-1;9154:313:0;;;;;:::i;:::-;;:::i;8130:83::-;;;;;;;;;;-1:-1:-1;8196:9:0;;-1:-1:-1;;;8196:9:0;;;;8130:83;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;8130:83:0;1858:184:1;8510:119:0;;;;;;;;;;-1:-1:-1;8510:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8603:18:0;8576:7;8603:18;;;:9;:18;;;;;;;8510:119;3166:148;;;;;;;;;;;;;:::i;:::-;;10900:221;;;;;;;;;;;;;:::i;5705:51::-;;;;;;;;;;;;;;;;2941:79;;;;;;;;;;-1:-1:-1;2979:7:0;3006:6;2941:79;;-1:-1:-1;;;;;3006:6:0;;;2445:51:1;;2433:2;2418:18;2941:79:0;2299:203:1;8035:87:0;;;;;;;;;;;;;:::i;12035:167::-;;;;;;;;;;-1:-1:-1;12035:167:0;;;;;:::i;:::-;;:::i;5763:55::-;;;;;;;;;;;;;;;;8999:143;;;;;;;;;;-1:-1:-1;8999:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9107:18:0;;;9080:7;9107:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8999:143;3322:244;;;;;;;;;;-1:-1:-1;3322:244:0;;;;;:::i;:::-;;:::i;7944:83::-;7981:13;8014:5;8007:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7944:83;:::o;8341:161::-;8416:4;8433:39;360:10;8456:7;8465:6;8433:8;:39::i;:::-;-1:-1:-1;8490:4:0;8341:161;;;;;:::o;9154:313::-;9252:4;9269:36;9279:6;9287:9;9298:6;9269:9;:36::i;:::-;-1:-1:-1;9316:121:0;9325:6;360:10;9347:89;9385:6;9347:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9347:19:0;;;;;;:11;:19;;;;;;;;360:10;9347:33;;;;;;;;;;:37;:89::i;:::-;9316:8;:121::i;:::-;-1:-1:-1;9455:4:0;9154:313;;;;;;:::o;3166:148::-;3075:6;;-1:-1:-1;;;;;3075:6:0;360:10;3075:22;3067:67;;;;-1:-1:-1;;;3067:67:0;;;;;;;:::i;:::-;;;;;;;;;3273:1:::1;3257:6:::0;;3236:40:::1;::::0;-1:-1:-1;;;;;3257:6:0;;::::1;::::0;3236:40:::1;::::0;3273:1;;3236:40:::1;3304:1;3287:19:::0;;-1:-1:-1;;;;;;3287:19:0::1;::::0;;3166:148::o;10900:221::-;3075:6;;-1:-1:-1;;;;;3075:6:0;360:10;3075:22;3067:67;;;;-1:-1:-1;;;3067:67:0;;;;;;;:::i;:::-;10968:12:::1;::::0;10954:11:::1;:26:::0;10991:18:::1;:26:::0;;-1:-1:-1;;10991:26:0::1;::::0;;:18:::1;11028:10;:14:::0;;;11053:11:::1;:15:::0;;;11079:7:::1;:11:::0;;;11101:8:::1;:12:::0;10900:221::o;8035:87::-;8074:13;8107:7;8100:14;;;;;:::i;12035:167::-;12113:4;12130:42;360:10;12154:9;12165:6;12130:9;:42::i;3322:244::-;3075:6;;-1:-1:-1;;;;;3075:6:0;360:10;3075:22;3067:67;;;;-1:-1:-1;;;3067:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3411:22:0;::::1;3403:73;;;::::0;-1:-1:-1;;;3403:73:0;;3848:2:1;3403:73:0::1;::::0;::::1;3830:21:1::0;3887:2;3867:18;;;3860:30;3926:34;3906:18;;;3899:62;-1:-1:-1;;;3977:18:1;;;3970:36;4023:19;;3403:73:0::1;3646:402:1::0;3403:73:0::1;3513:6;::::0;;3492:38:::1;::::0;-1:-1:-1;;;;;3492:38:0;;::::1;::::0;3513:6;::::1;::::0;3492:38:::1;::::0;::::1;3541:6;:17:::0;;-1:-1:-1;;;;;;3541:17:0::1;-1:-1:-1::0;;;;;3541:17:0;;;::::1;::::0;;;::::1;::::0;;3322:244::o;11129:337::-;-1:-1:-1;;;;;11222:19:0;;11214:68;;;;-1:-1:-1;;;11214:68:0;;4255:2:1;11214:68:0;;;4237:21:1;4294:2;4274:18;;;4267:30;4333:34;4313:18;;;4306:62;-1:-1:-1;;;4384:18:1;;;4377:34;4428:19;;11214:68:0;4053:400:1;11214:68:0;-1:-1:-1;;;;;11301:21:0;;11293:68;;;;-1:-1:-1;;;11293:68:0;;4660:2:1;11293:68:0;;;4642:21:1;4699:2;4679:18;;;4672:30;4738:34;4718:18;;;4711:62;-1:-1:-1;;;4789:18:1;;;4782:32;4831:19;;11293:68:0;4458:398:1;11293:68:0;-1:-1:-1;;;;;11374:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11426:32;;160:25:1;;;11426:32:0;;133:18:1;11426:32:0;;;;;;;11129:337;;;:::o;12342:1926::-;12429:4;-1:-1:-1;;;;;12454:20:0;;12446:70;;;;-1:-1:-1;;;12446:70:0;;5063:2:1;12446:70:0;;;5045:21:1;5102:2;5082:18;;;5075:30;5141:34;5121:18;;;5114:62;-1:-1:-1;;;5192:18:1;;;5185:35;5237:19;;12446:70:0;4861:401:1;12446:70:0;-1:-1:-1;;;;;12535:23:0;;12527:71;;;;-1:-1:-1;;;12527:71:0;;5469:2:1;12527:71:0;;;5451:21:1;5508:2;5488:18;;;5481:30;5547:34;5527:18;;;5520:62;-1:-1:-1;;;5598:18:1;;;5591:33;5641:19;;12527:71:0;5267:399:1;12527:71:0;12612:8;;;;12609:1652;;;12654:41;12669:6;12677:9;12688:6;12654:14;:41::i;:::-;12647:48;;;;12609:1652;-1:-1:-1;;;;;12751:30:0;;;;;;:22;:30;;;;;;;;12750:31;:69;;;;-1:-1:-1;;;;;;12786:33:0;;;;;;:22;:33;;;;;;;;12785:34;12750:69;12747:183;;;12858:11;;12848:6;:21;;12840:74;;;;-1:-1:-1;;;12840:74:0;;5873:2:1;12840:74:0;;;5855:21:1;5912:2;5892:18;;;5885:30;5951:34;5931:18;;;5924:62;-1:-1:-1;;;6002:18:1;;;5995:38;6050:19;;12840:74:0;5671:404:1;12840:74:0;12997:4;12958:18;8603;;;:9;:18;;;;;;13051:13;;13037:27;;;;;;;13097:24;;-1:-1:-1;13113:8:0;;;;13112:9;13097:24;:53;;;;-1:-1:-1;;;;;;13125:25:0;;;;;;:14;:25;;;;;;;;13097:53;:72;;;;-1:-1:-1;13154:15:0;;;;;;;13097:72;:103;;;;-1:-1:-1;;;;;;13174:26:0;;;;;;:18;:26;;;;;;;;13173:27;13097:103;:129;;;;;13213:13;;13204:6;:22;13097:129;13093:296;;;13264:14;;;;;;;13261:66;;;13314:13;;13301:26;;13261:66;13346:23;13358:10;13346:11;:23::i;:::-;-1:-1:-1;;;;;13484:26:0;;13405:19;13484:26;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;13514:29:0;;;;;;:18;:29;;;;;;;;13484:59;13480:223;;;-1:-1:-1;13578:6:0;13480:223;;;13639:48;13661:6;13669:9;13680:6;13639:21;:48::i;:::-;13625:62;;13480:223;13720:18;;;;;;;:60;;;;-1:-1:-1;;;;;;13743:37:0;;;;;;:26;:37;;;;;;;;13742:38;13720:60;13717:147;;;13848:15;;13807:37;13832:11;13807:20;13817:9;-1:-1:-1;;;;;8603:18:0;8576:7;8603:18;;;:9;:18;;;;;;;8510:119;13807:20;:24;;:37::i;:::-;:56;;13799:65;;;;;;13908:18;;13881:22;;13908:18;;;;;13907:19;:49;;;;-1:-1:-1;;;;;;13930:26:0;;;;;;:18;:26;;;;;;;;13907:49;13906:86;;13986:6;13906:86;;;13960:23;:6;13971:11;13960:10;:23::i;:::-;13881:111;;14027:61;14049:14;14027:61;;;;;;;;;;;;;-1:-1:-1;;;14027:61:0;;;:9;:17;14037:6;-1:-1:-1;;;;;14027:17:0;-1:-1:-1;;;;;14027:17:0;;;;;;;;;;;;;:21;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;14007:17:0;;;;;;;:9;:17;;;;;;:81;;;;14126:20;;;;;;;:37;;14151:11;14126:24;:37::i;:::-;-1:-1:-1;;;;;14103:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14183:40;;;;;;;;;;14211:11;160:25:1;;148:2;133:18;;14:177;14183:40:0;;;;;;;;14245:4;14238:11;;;;;;;;3930:192;4016:7;4052:12;4044:6;;;;4036:29;;;;-1:-1:-1;;;4036:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4076:9:0;4088:5;4092:1;4088;:5;:::i;:::-;4076:17;3930:192;-1:-1:-1;;;;;3930:192:0:o;8653:330::-;8783:53;;;;;;;;;;;-1:-1:-1;;;8783:53:0;;;;;;;;-1:-1:-1;;;;;8783:17:0;;8746:4;8783:17;;;:9;:17;;;;;;;:53;;8805:6;;8783:21;:53::i;:::-;-1:-1:-1;;;;;8763:17:0;;;;;;;:9;:17;;;;;;:73;;;;8870:20;;;;;;;:32;;8895:6;8870:24;:32::i;:::-;-1:-1:-1;;;;;8847:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8918:35;;;;;;;;;;8946:6;160:25:1;;148:2;133:18;;14:177;8918:35:0;;;;;;;;-1:-1:-1;8971:4:0;8653:330;;;;;:::o;9479:862::-;6486:8;:15;;-1:-1:-1;;6486:15:0;6497:4;6486:15;;;9599:17:::1;::::0;9579:14:::1;::::0;6486:8;;9567:57:::1;::::0;9622:1:::1;::::0;9567:50:::1;::::0;;;:7;;:11:::1;:27::i;:::-;:31:::0;::::1;:50::i;:57::-;9545:79:::0;-1:-1:-1;9635:20:0::1;9658:24;:7:::0;9545:79;9658:11:::1;:24::i;:::-;9635:47;;9695:30;9712:12;9695:16;:30::i;:::-;9830:14;::::0;9752:21:::1;::::0;9736:13:::1;::::0;9808:44:::1;::::0;9830:21:::1;::::0;9849:1:::1;9830:18;:21::i;:::-;9808:17;::::0;;:21:::1;:44::i;:::-;9786:66;;9873:26;9902:49;9949:1;9902:42;9932:11;9902:25;9912:14;;9902:5;:9;;:25;;;;:::i;:49::-;9873:78;;9962:28;9993:43;10024:11;9993:26;10003:15;;9993:5;:9;;:26;;;;:::i;:43::-;9962:74:::0;-1:-1:-1;10047:26:0::1;10076:55;9962:74:::0;10076:29:::1;:5:::0;10086:18;10076:9:::1;:29::i;:::-;:33:::0;::::1;:55::i;:::-;10047:84:::0;-1:-1:-1;10147:22:0;;10144:89:::1;;10195:17;::::0;10184:49:::1;::::0;-1:-1:-1;;;;;10195:17:0::1;10214:18:::0;10184:10:::1;:49::i;:::-;10249:24:::0;;10246:87:::1;;10299:11;::::0;10288:45:::1;::::0;-1:-1:-1;;;;;10299:11:0::1;10312:20:::0;10288:10:::1;:45::i;:::-;-1:-1:-1::0;;6524:8:0;:16;;-1:-1:-1;;6524:16:0;;;-1:-1:-1;;;;;;9479:862:0:o;10349:498::-;-1:-1:-1;;;;;10498:22:0;;10449:7;10498:22;;;:14;:22;;;;;;10449:7;;10498:22;;10495:147;;;10529:28;10553:3;10529:19;10540:7;;10529:6;:10;;:19;;;;:::i;:28::-;10523:34;;10495:147;;;-1:-1:-1;;;;;10577:25:0;;;;;;:14;:25;;;;;;;;10574:68;;;10611:29;10636:3;10611:20;10622:8;;10611:6;:10;;:20;;;;:::i;:29::-;10605:35;;10574:68;10655:7;;10652:155;;10724:4;10706:24;;;;:9;:24;;;;;;:33;;10735:3;10706:28;:33::i;:::-;10697:4;10679:24;;;;:9;:24;;;;;;;:60;;;;10759:36;;-1:-1:-1;;;;;10759:36:0;;;;;;;10791:3;160:25:1;;148:2;133:18;;14:177;10759:36:0;;;;;;;;10652:155;10824:15;:6;10835:3;10824:10;:15::i;3597:181::-;3655:7;;3687:5;3691:1;3687;:5;:::i;:::-;3675:17;;3716:1;3711;:6;;3703:46;;;;-1:-1:-1;;;3703:46:0;;6677:2:1;3703:46:0;;;6659:21:1;6716:2;6696:18;;;6689:30;6755:29;6735:18;;;6728:57;6802:18;;3703:46:0;6475:351:1;3786:136:0;3844:7;3871:43;3875:1;3878;3871:43;;;;;;;;;;;;;;;;;:3;:43::i;4130:250::-;4188:7;4212:1;4217;4212:6;4208:47;;-1:-1:-1;4242:1:0;4235:8;;4208:47;4267:9;4279:5;4283:1;4279;:5;:::i;:::-;4267:17;-1:-1:-1;4312:1:0;4303:5;4307:1;4267:17;4303:5;:::i;:::-;:10;4295:56;;;;-1:-1:-1;;;4295:56:0;;7428:2:1;4295:56:0;;;7410:21:1;7467:2;7447:18;;;7440:30;7506:34;7486:18;;;7479:62;-1:-1:-1;;;7557:18:1;;;7550:31;7598:19;;4295:56:0;7226:397:1;4388:132:0;4446:7;4473:39;4477:1;4480;4473:39;;;;;;;;;;;;;;;;;:3;:39::i;11478:549::-;11568:16;;;11582:1;11568:16;;;;;;;;11544:21;;11568:16;;;;;;;;;;-1:-1:-1;11568:16:0;11544:40;;11613:4;11595;11600:1;11595:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11595:23:0;;;-1:-1:-1;;;;;11595:23:0;;;;;11639:14;;;;;;;;;-1:-1:-1;;;;;11639:14:0;-1:-1:-1;;;;;11639:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11629:4;11634:1;11629:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11629:31:0;;;:7;;;;;;;;;:31;11705:14;;11673:61;;11690:4;;11705:14;;;;11722:11;11673:8;:61::i;:::-;11780:14;;:239;;-1:-1:-1;;;11780:239:0;;:14;;;;-1:-1:-1;;;;;11780:14:0;;:65;;:239;;11860:11;;11886:1;;11930:4;;11957;;11993:15;;11780:14;:239;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11533:494;11478:549;:::o;12210:116::-;12292:26;;-1:-1:-1;;;;;12292:18:0;;;:26;;;;;12311:6;;12292:26;;;;12311:6;12292:18;:26;;;;;;;;;;;;;;;;;;;;;12210:116;;:::o;4528:189::-;4614:7;4649:12;4642:5;4634:28;;;;-1:-1:-1;;;4634:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4673:9:0;4685:5;4689:1;4685;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:380::-;2979:1;2975:12;;;;3022;;;3043:61;;3097:4;3089:6;3085:17;3075:27;;3043:61;3150:2;3142:6;3139:14;3119:18;3116:38;3113:161;;3196:10;3191:3;3187:20;3184:1;3177:31;3231:4;3228:1;3221:15;3259:4;3256:1;3249:15;3113:161;;2900:380;;;:::o;3285:356::-;3487:2;3469:21;;;3506:18;;;3499:30;3565:34;3560:2;3545:18;;3538:62;3632:2;3617:18;;3285:356::o;6080:127::-;6141:10;6136:3;6132:20;6129:1;6122:31;6172:4;6169:1;6162:15;6196:4;6193:1;6186:15;6212:128;6279:9;;;6300:11;;;6297:37;;;6314:18;;:::i;6345:125::-;6410:9;;;6431:10;;;6428:36;;;6444:18;;:::i;6831:168::-;6904:9;;;6935;;6952:15;;;6946:22;;6932:37;6922:71;;6973:18;;:::i;7004:217::-;7044:1;7070;7060:132;;7114:10;7109:3;7105:20;7102:1;7095:31;7149:4;7146:1;7139:15;7177:4;7174:1;7167:15;7060:132;-1:-1:-1;7206:9:1;;7004:217::o;7760:127::-;7821:10;7816:3;7812:20;7809:1;7802:31;7852:4;7849:1;7842:15;7876:4;7873:1;7866:15;7892:251;7962:6;8015:2;8003:9;7994:7;7990:23;7986:32;7983:52;;;8031:1;8028;8021:12;7983:52;8063:9;8057:16;8082:31;8107:5;8082:31;:::i;8148:980::-;8410:4;8458:3;8447:9;8443:19;8489:6;8478:9;8471:25;8515:2;8553:6;8548:2;8537:9;8533:18;8526:34;8596:3;8591:2;8580:9;8576:18;8569:31;8620:6;8655;8649:13;8686:6;8678;8671:22;8724:3;8713:9;8709:19;8702:26;;8763:2;8755:6;8751:15;8737:29;;8784:1;8794:195;8808:6;8805:1;8802:13;8794:195;;;8873:13;;-1:-1:-1;;;;;8869:39:1;8857:52;;8964:15;;;;8929:12;;;;8905:1;8823:9;8794:195;;;-1:-1:-1;;;;;;;9045:32:1;;;;9040:2;9025:18;;9018:60;-1:-1:-1;;;9109:3:1;9094:19;9087:35;9006:3;8148:980;-1:-1:-1;;;8148:980:1:o

Swarm Source

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