ETH Price: $3,247.99 (-2.58%)
 

Overview

Max Total Supply

1,000,000,000 LN

Holders

38

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
Swap Bitcoin and Stacks Safely with Lightning.

Website: https://www.lnswap.tech
Telegram: https://t.me/lnswap_erc
Twitter: https://twitter.com/lnswap_erc
Dapp: https://app.lnswap.tech
 */

pragma solidity 0.8.19;

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

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address uniswapPair);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

contract LN is IERC20, Ownable {
    using SafeMath for uint256;

    string constant _name = "LNSwap";
    string constant _symbol = "LN";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10 ** 9 * (10 ** _decimals);

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 18;
    uint256 _totalFee = liquidityFee + marketingFee;
    uint256 _denominator = 100;
    uint256 public _maxTxAmounts = (_totalSupply * 30) / 1000;
    address public taxWallet;
    IUniswapRouter public uniswapRouter;
    address public uniswapPair;

    bool public taxSwapEnabled = false;
    uint256 public swapFeeAt = _totalSupply / 100000; // 0.5%

    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;
    mapping (address => bool) isExcludedFromFees;
    mapping (address => bool) isExcludedFromMaxTx;
    bool _swapping;

    modifier lockSwap() { _swapping = true; _; _swapping = false; }

    constructor () Ownable(msg.sender) {
        uniswapRouter = IUniswapRouter(routerAddress);
        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;

        address _owner = owner;
        taxWallet = 0x7ef29158C45a58cA06dA5A73B1F4ba528ec8F304;
        isExcludedFromFees[taxWallet] = true;
        isExcludedFromMaxTx[_owner] = true;
        isExcludedFromMaxTx[taxWallet] = true;
        isExcludedFromMaxTx[DEAD] = true;

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
                
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(_swapping){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != uniswapPair && recipient != DEAD) {
            require(isExcludedFromMaxTx[recipient] || _balances[recipient] + amount <= _maxTxAmounts, "Transfer amount exceeds the bag size.");
        }        
        if(shouldSwapBack() && shouldTakeFee(sender) && recipient == uniswapPair && amount > swapFeeAt){ 
            swpaBack(); 
        } 
        bool shouldTax = shouldTakeFee(sender) || !taxSwapEnabled;
        if (shouldTax) {
            _balances[recipient] = _balances[recipient].add(chargeFees(sender, amount));
        } else {
            _balances[recipient] = _balances[recipient].add(amount);
        }

        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function chargeFees(address sender, uint256 amount) internal returns (uint256) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        uint256 feeAmount = amount.mul(_totalFee).div(_denominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }
        function shouldTakeFee(address sender) internal view returns (bool) {
        return !isExcludedFromFees[sender];
    }

    function setMaxTxAmount(uint256 amountPercent) external onlyOwner {
        _maxTxAmounts = (_totalSupply * amountPercent ) / 1000;
    }

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

    function shouldSwapBack() internal view returns (bool) {
        return !_swapping
        && taxSwapEnabled
        && _balances[address(this)] >= swapFeeAt;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

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

        return _transferFrom(sender, recipient, amount);
    }
    
    function swpaBack() internal lockSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(_totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

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


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

        if(amountToLiquify > 0){
            uniswapRouter.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                taxWallet,
                block.timestamp
            );
        }
    }
    
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }
    
    function setTax(uint256 liquidityFee_, uint256 marketingFee_) external onlyOwner {
         liquidityFee = liquidityFee_; 
         marketingFee = marketingFee_;
         _totalFee = liquidityFee + marketingFee;
    }    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee_","type":"uint256"},{"internalType":"uint256","name":"marketingFee_","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFeeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200048a565b6200002290633b9aca00620004a2565b60015560006002819055601260038190556200003e91620004bc565b60045560646005556103e8600154601e6200005a9190620004a2565b620000669190620004d2565b6006556009805460ff60a01b191690556001546200008990620186a090620004d2565b600a55600b80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17909155600c805490911661dead179055348015620000cf57600080fd5b5060008054336001600160a01b031991821617909155600b54600880546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200013c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001629190620004f5565b6001600160a01b031663c9c65396600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ea9190620004f5565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d9190620004f5565b600980546001600160a01b039283166001600160a01b031991821617909155306000908152600e602090815260408083206008548616845282528083206000199055825460078054909516737ef29158c45a58ca06da5a73b1f4ba528ec8f3041785557f1b123301b82290a186d6cb9fe067bdd0dca7c117c0ef141f0c40331e8b8c11ce805460ff1990811660019081179092559187168086526010855283862080548416831790559554871685528285208054831682179055600c5490961684528184208054909116861790559354838352600d82528483208190559351938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000520565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003cc578160001904821115620003b057620003b062000375565b80851615620003be57918102915b93841c939080029062000390565b509250929050565b600082620003e55750600162000484565b81620003f45750600062000484565b81600181146200040d5760028114620004185762000438565b600191505062000484565b60ff8411156200042c576200042c62000375565b50506001821b62000484565b5060208310610133831016604e8410600b84101617156200045d575081810a62000484565b6200046983836200038b565b806000190482111562000480576200048062000375565b0290505b92915050565b60006200049b60ff841683620003d4565b9392505050565b808202811582820484141762000484576200048462000375565b8082018082111562000484576200048462000375565b600082620004f057634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200050857600080fd5b81516001600160a01b03811681146200049b57600080fd5b6113ea80620005306000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063ac731f8e1161006f578063ac731f8e14610384578063c491a2ca1461039a578063c816841b146103b0578063dd62ed3e146103d0578063e01af92c14610416578063ec28438a1461043657600080fd5b8063715018a6146102e6578063735de9f7146102fb578063893d20e81461031b57806395d89b4114610339578063a9059cbb1461036457600080fd5b80632f54bf6e116100f25780632f54bf6e14610222578063313ce5671461025157806343bcf89e1461026d578063667f65261461028e57806370a08231146102b057600080fd5b806306fdde031461013a578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101ca5780632dc0562d146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600681526504c4e537761760d41b60208201525b60405161017291906110c7565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461112d565b610456565b6040519015158152602001610172565b3480156101b757600080fd5b506001545b604051908152602001610172565b3480156101d657600080fd5b5061019b6101e5366004611159565b6104c3565b3480156101f657600080fd5b5060075461020a906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b34801561022e57600080fd5b5061019b61023d36600461119a565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b5060405160098152602001610172565b34801561027957600080fd5b5060095461019b90600160a01b900460ff1681565b34801561029a57600080fd5b506102ae6102a93660046111b7565b610585565b005b3480156102bc57600080fd5b506101bc6102cb36600461119a565b6001600160a01b03166000908152600d602052604090205490565b3480156102f257600080fd5b506102ae6105d3565b34801561030757600080fd5b5060085461020a906001600160a01b031681565b34801561032757600080fd5b506000546001600160a01b031661020a565b34801561034557600080fd5b50604080518082019091526002815261262760f11b6020820152610165565b34801561037057600080fd5b5061019b61037f36600461112d565b610642565b34801561039057600080fd5b506101bc600a5481565b3480156103a657600080fd5b506101bc60065481565b3480156103bc57600080fd5b5060095461020a906001600160a01b031681565b3480156103dc57600080fd5b506101bc6103eb3660046111d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102ae610431366004611212565b61064f565b34801561044257600080fd5b506102ae610451366004611234565b610697565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610570576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e8252838120338252909152919091205461054b9184906106e2565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61057b84848461071c565b90505b9392505050565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af9061124d565b60405180910390fd5b600282905560038190556105cc8183611283565b6004555050565b6000546001600160a01b031633146105fd5760405162461bcd60e51b81526004016105af9061124d565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e33848461071c565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105af9061124d565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105af9061124d565b6103e8816001546106d29190611296565b6106dc91906112ad565b60065550565b600081848411156107065760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112cf565b95945050505050565b60115460009060ff161561073c5761073584848461098c565b905061057e565b6009546001600160a01b038481169116148015906107685750600c546001600160a01b03848116911614155b15610813576001600160a01b03831660009081526010602052604090205460ff16806107b957506006546001600160a01b0384166000908152600d60205260409020546107b6908490611283565b11155b6108135760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105af565b61081b610a72565b801561084057506001600160a01b0384166000908152600f602052604090205460ff16155b801561085957506009546001600160a01b038481169116145b80156108665750600a5482115b1561087357610873610ab3565b6001600160a01b0384166000908152600f602052604081205460ff1615806108a55750600954600160a01b900460ff16155b905080156108f7576108d96108ba8685610e29565b6001600160a01b0386166000908152600d602052604090205490610f34565b6001600160a01b0385166000908152600d6020526040902055610934565b6001600160a01b0384166000908152600d602052604090205461091a9084610f34565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097991815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109dd9184906106e2565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a0c9083610f34565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a609086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a915750600954600160a01b900460ff165b8015610aae5750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610afa6002610af4600454610af460025487610f9390919063ffffffff16565b90611015565b90506000610b088383611057565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4257610b426112e2565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbf91906112f8565b81600181518110610bd257610bd26112e2565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c1c908690600090879030904290600401611315565b600060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506000610c63824761105790919063ffffffff16565b90506000610c88610c7f6002805461101590919063ffffffff16565b60045490611057565b90506000610caa6002610af484610af460025488610f9390919063ffffffff16565b90506000610cc783610af460035487610f9390919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d1e576040519150601f19603f3d011682016040523d82523d6000602084013e610d23565b606091505b5050905080610d745760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105af565b8815610e135760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611386565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e7a9184906106e2565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eac9190610af4908690610f93565b306000908152600d6020526040902054909150610ec99082610f34565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1a9085815260200190565b60405180910390a3610f2c8382611057565b949350505050565b600080610f418385611283565b90508381101561057e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b600082600003610fa5575060006104bd565b6000610fb18385611296565b905082610fbe85836112ad565b1461057e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b600061057e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611099565b600061057e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e2565b600081836110ba5760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112ad565b600060208083528351808285015260005b818110156110f4578581018301518582016040015282016110d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112a57600080fd5b50565b6000806040838503121561114057600080fd5b823561114b81611115565b946020939093013593505050565b60008060006060848603121561116e57600080fd5b833561117981611115565b9250602084013561118981611115565b929592945050506040919091013590565b6000602082840312156111ac57600080fd5b813561057e81611115565b600080604083850312156111ca57600080fd5b50508035926020909101359150565b600080604083850312156111ec57600080fd5b82356111f781611115565b9150602083013561120781611115565b809150509250929050565b60006020828403121561122457600080fd5b8135801515811461057e57600080fd5b60006020828403121561124657600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104bd576104bd61126d565b80820281158282048414176104bd576104bd61126d565b6000826112ca57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104bd576104bd61126d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130a57600080fd5b815161057e81611115565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113655784516001600160a01b031683529383019391830191600101611340565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e51d83c5e0d181f1eb9fdd34d7ba19c3b65e83490ec8a50628115b84c02ffb064736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063ac731f8e1161006f578063ac731f8e14610384578063c491a2ca1461039a578063c816841b146103b0578063dd62ed3e146103d0578063e01af92c14610416578063ec28438a1461043657600080fd5b8063715018a6146102e6578063735de9f7146102fb578063893d20e81461031b57806395d89b4114610339578063a9059cbb1461036457600080fd5b80632f54bf6e116100f25780632f54bf6e14610222578063313ce5671461025157806343bcf89e1461026d578063667f65261461028e57806370a08231146102b057600080fd5b806306fdde031461013a578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101ca5780632dc0562d146101ea57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600681526504c4e537761760d41b60208201525b60405161017291906110c7565b60405180910390f35b34801561018757600080fd5b5061019b61019636600461112d565b610456565b6040519015158152602001610172565b3480156101b757600080fd5b506001545b604051908152602001610172565b3480156101d657600080fd5b5061019b6101e5366004611159565b6104c3565b3480156101f657600080fd5b5060075461020a906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b34801561022e57600080fd5b5061019b61023d36600461119a565b6000546001600160a01b0391821691161490565b34801561025d57600080fd5b5060405160098152602001610172565b34801561027957600080fd5b5060095461019b90600160a01b900460ff1681565b34801561029a57600080fd5b506102ae6102a93660046111b7565b610585565b005b3480156102bc57600080fd5b506101bc6102cb36600461119a565b6001600160a01b03166000908152600d602052604090205490565b3480156102f257600080fd5b506102ae6105d3565b34801561030757600080fd5b5060085461020a906001600160a01b031681565b34801561032757600080fd5b506000546001600160a01b031661020a565b34801561034557600080fd5b50604080518082019091526002815261262760f11b6020820152610165565b34801561037057600080fd5b5061019b61037f36600461112d565b610642565b34801561039057600080fd5b506101bc600a5481565b3480156103a657600080fd5b506101bc60065481565b3480156103bc57600080fd5b5060095461020a906001600160a01b031681565b3480156103dc57600080fd5b506101bc6103eb3660046111d9565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561042257600080fd5b506102ae610431366004611212565b61064f565b34801561044257600080fd5b506102ae610451366004611234565b610697565b336000818152600e602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b19086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600e6020908152604080832033845290915281205460001914610570576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600e8252838120338252909152919091205461054b9184906106e2565b6001600160a01b0385166000908152600e602090815260408083203384529091529020555b61057b84848461071c565b90505b9392505050565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af9061124d565b60405180910390fd5b600282905560038190556105cc8183611283565b6004555050565b6000546001600160a01b031633146105fd5760405162461bcd60e51b81526004016105af9061124d565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e33848461071c565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105af9061124d565b60098054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106c15760405162461bcd60e51b81526004016105af9061124d565b6103e8816001546106d29190611296565b6106dc91906112ad565b60065550565b600081848411156107065760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112cf565b95945050505050565b60115460009060ff161561073c5761073584848461098c565b905061057e565b6009546001600160a01b038481169116148015906107685750600c546001600160a01b03848116911614155b15610813576001600160a01b03831660009081526010602052604090205460ff16806107b957506006546001600160a01b0384166000908152600d60205260409020546107b6908490611283565b11155b6108135760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105af565b61081b610a72565b801561084057506001600160a01b0384166000908152600f602052604090205460ff16155b801561085957506009546001600160a01b038481169116145b80156108665750600a5482115b1561087357610873610ab3565b6001600160a01b0384166000908152600f602052604081205460ff1615806108a55750600954600160a01b900460ff16155b905080156108f7576108d96108ba8685610e29565b6001600160a01b0386166000908152600d602052604090205490610f34565b6001600160a01b0385166000908152600d6020526040902055610934565b6001600160a01b0384166000908152600d602052604090205461091a9084610f34565b6001600160a01b0385166000908152600d60205260409020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161097991815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600d909152918220546109dd9184906106e2565b6001600160a01b038086166000908152600d60205260408082209390935590851681522054610a0c9083610f34565b6001600160a01b038085166000818152600d602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a609086815260200190565b60405180910390a35060019392505050565b60115460009060ff16158015610a915750600954600160a01b900460ff165b8015610aae5750600a54306000908152600d602052604090205410155b905090565b6011805460ff19166001179055306000908152600d602052604081205490506000610afa6002610af4600454610af460025487610f9390919063ffffffff16565b90611015565b90506000610b088383611057565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610b4257610b426112e2565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbf91906112f8565b81600181518110610bd257610bd26112e2565b6001600160a01b03928316602091820292909201015260085460405163791ac94760e01b81524792919091169063791ac94790610c1c908690600090879030904290600401611315565b600060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506000610c63824761105790919063ffffffff16565b90506000610c88610c7f6002805461101590919063ffffffff16565b60045490611057565b90506000610caa6002610af484610af460025488610f9390919063ffffffff16565b90506000610cc783610af460035487610f9390919063ffffffff16565b6007546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610d1e576040519150601f19603f3d011682016040523d82523d6000602084013e610d23565b606091505b5050905080610d745760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e73666572000060448201526064016105af565b8815610e135760085460075460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e0f9190611386565b5050505b50506011805460ff191690555050505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0385166000908152600d90915291822054610e7a9184906106e2565b6001600160a01b0384166000908152600d6020526040812091909155600554600454610eac9190610af4908690610f93565b306000908152600d6020526040902054909150610ec99082610f34565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1a9085815260200190565b60405180910390a3610f2c8382611057565b949350505050565b600080610f418385611283565b90508381101561057e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105af565b600082600003610fa5575060006104bd565b6000610fb18385611296565b905082610fbe85836112ad565b1461057e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105af565b600061057e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611099565b600061057e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506106e2565b600081836110ba5760405162461bcd60e51b81526004016105af91906110c7565b50600061071384866112ad565b600060208083528351808285015260005b818110156110f4578581018301518582016040015282016110d8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112a57600080fd5b50565b6000806040838503121561114057600080fd5b823561114b81611115565b946020939093013593505050565b60008060006060848603121561116e57600080fd5b833561117981611115565b9250602084013561118981611115565b929592945050506040919091013590565b6000602082840312156111ac57600080fd5b813561057e81611115565b600080604083850312156111ca57600080fd5b50508035926020909101359150565b600080604083850312156111ec57600080fd5b82356111f781611115565b9150602083013561120781611115565b809150509250929050565b60006020828403121561122457600080fd5b8135801515811461057e57600080fd5b60006020828403121561124657600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156104bd576104bd61126d565b80820281158282048414176104bd576104bd61126d565b6000826112ca57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156104bd576104bd61126d565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561130a57600080fd5b815161057e81611115565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113655784516001600160a01b031683529383019391830191600101611340565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561139b57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212205e51d83c5e0d181f1eb9fdd34d7ba19c3b65e83490ec8a50628115b84c02ffb064736f6c63430008130033

Deployed Bytecode Sourcemap

4305:7324:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6423:80;;;;;;;;;;-1:-1:-1;6495:5:0;;;;;;;;;;;;-1:-1:-1;;;6495:5:0;;;;6423:80;;;;;;;:::i;:::-;;;;;;;;9121:216;;;;;;;;;;-1:-1:-1;9121:216:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9121:216:0;1023:187:1;6153:88:0;;;;;;;;;;-1:-1:-1;6226:12:0;;6153:88;;;1361:25:1;;;1349:2;1334:18;6153:88:0;1215:177:1;9345:370:0;;;;;;;;;;-1:-1:-1;9345:370:0;;;;;:::i;:::-;;:::i;4765:24::-;;;;;;;;;;-1:-1:-1;4765:24:0;;;;-1:-1:-1;;;;;4765:24:0;;;;;;-1:-1:-1;;;;;2022:32:1;;;2004:51;;1992:2;1977:18;4765:24:0;1858:203:1;4008:103:0;;;;;;;;;;-1:-1:-1;4008:103:0;;;;;:::i;:::-;4063:4;4098:5;-1:-1:-1;;;;;4087:16:0;;;4098:5;;4087:16;;4008:103;6247:80;;;;;;;;;;-1:-1:-1;6247:80:0;;4481:1;2460:36:1;;2448:2;2433:18;6247:80:0;2318:184:1;4873:34:0;;;;;;;;;;-1:-1:-1;4873:34:0;;;;-1:-1:-1;;;4873:34:0;;;;;;11401:221;;;;;;;;;;-1:-1:-1;11401:221:0;;;;;:::i;:::-;;:::i;:::-;;6593:105;;;;;;;;;;-1:-1:-1;6593:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6677:18:0;6659:7;6677:18;;;:9;:18;;;;;;;6593:105;4117:131;;;;;;;;;;;;;:::i;4796:35::-;;;;;;;;;;-1:-1:-1;4796:35:0;;;;-1:-1:-1;;;;;4796:35:0;;;6509:78;;;;;;;;;;-1:-1:-1;6561:7:0;6579:5;-1:-1:-1;;;;;6579:5:0;6509:78;;6333:84;;;;;;;;;;-1:-1:-1;6407:7:0;;;;;;;;;;;;-1:-1:-1;;;6407:7:0;;;;6333:84;;11233:156;;;;;;;;;;-1:-1:-1;11233:156:0;;;;;:::i;:::-;;:::i;4914:48::-;;;;;;;;;;;;;;;;4701:57;;;;;;;;;;;;;;;;4838:26;;;;;;;;;;-1:-1:-1;4838:26:0;;;;-1:-1:-1;;;;;4838:26:0;;;6704:133;;;;;;;;;;-1:-1:-1;6704:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6806:19:0;;;6788:7;6806:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6704:133;8495:96;;;;;;;;;;-1:-1:-1;8495:96:0;;;;;:::i;:::-;;:::i;8348:139::-;;;;;;;;;;-1:-1:-1;8348:139:0;;;;;:::i;:::-;;:::i;9121:216::-;9225:10;9196:4;9213:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9213:32:0;;;;;;;;;;:41;;;9270:37;9196:4;;9213:32;;9270:37;;;;9248:6;1361:25:1;;1349:2;1334:18;;1215:177;9270:37:0;;;;;;;;-1:-1:-1;9325:4:0;9121:216;;;;;:::o;9345:370::-;-1:-1:-1;;;;;9465:19:0;;9445:4;9465:19;;;:11;:19;;;;;;;;9485:10;9465:31;;;;;;;;-1:-1:-1;;9465:52:0;9462:186;;9567:69;;;;;;;;;;;-1:-1:-1;;;9567:69:0;;;;;;;;-1:-1:-1;;;;;9567:19:0;;-1:-1:-1;9567:19:0;;;:11;:19;;;;;9587:10;9567:31;;;;;;;;;;:69;;9603:6;;9567:35;:69::i;:::-;-1:-1:-1;;;;;9533:19:0;;;;;;:11;:19;;;;;;;;9553:10;9533:31;;;;;;;:103;9462:186;9667:40;9681:6;9689:9;9700:6;9667:13;:40::i;:::-;9660:47;;9345:370;;;;;;:::o;11401:221::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;;;;;;;;;11494:12:::1;:28:::0;;;11535:12:::1;:28:::0;;;11587:27:::1;11550:13:::0;11509;11587:27:::1;:::i;:::-;11575:9;:39:::0;-1:-1:-1;;11401:221:0:o;4117:131::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;4190:1:::1;4174:18:::0;;-1:-1:-1;;;;;;4174:18:0::1;::::0;;4208:32:::1;::::0;2004:51:1;;;4208:32:0::1;::::0;1992:2:1;1977:18;4208:32:0::1;;;;;;;4117:131::o:0;11233:156::-;11313:4;11337:44;11351:10;11363:9;11374:6;11337:13;:44::i;8495:96::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;8561:14:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;8561:22:0::1;-1:-1:-1::0;;;;8561:22:0;;::::1;::::0;;;::::1;::::0;;8495:96::o;8348:139::-;4063:4;4098:5;-1:-1:-1;;;;;4098:5:0;3969:10;4087:16;3953:38;;;;-1:-1:-1;;;3953:38:0;;;;;;;:::i;:::-;8475:4:::1;8457:13;8442:12;;:28;;;;:::i;:::-;8441:38;;;;:::i;:::-;8425:13;:54:::0;-1:-1:-1;8348:139:0:o;1661:190::-;1747:7;1783:12;1775:6;;;;1767:29;;;;-1:-1:-1;;;1767:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1807:9:0;1819:5;1823:1;1819;:5;:::i;:::-;1807:17;1661:190;-1:-1:-1;;;;;1661:190:0:o;6861:921::-;6973:9;;6953:4;;6973:9;;6970:66;;;6992:41;7007:6;7015:9;7026:6;6992:14;:41::i;:::-;6985:48;;;;6970:66;7073:11;;-1:-1:-1;;;;;7060:24:0;;;7073:11;;7060:24;;;;:45;;-1:-1:-1;7101:4:0;;-1:-1:-1;;;;;7088:17:0;;;7101:4;;7088:17;;7060:45;7056:208;;;-1:-1:-1;;;;;7130:30:0;;;;;;:19;:30;;;;;;;;;:80;;-1:-1:-1;7197:13:0;;-1:-1:-1;;;;;7164:20:0;;;;;;:9;:20;;;;;;:29;;7187:6;;7164:29;:::i;:::-;:46;;7130:80;7122:130;;;;-1:-1:-1;;;7122:130:0;;5172:2:1;7122:130:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:35;5346:19;;7122:130:0;4970:401:1;7122:130:0;7285:16;:14;:16::i;:::-;:41;;;;-1:-1:-1;;;;;;8306:26:0;;8281:4;8306:26;;;:18;:26;;;;;;;;8305:27;7305:21;7285:69;;;;-1:-1:-1;7343:11:0;;-1:-1:-1;;;;;7330:24:0;;;7343:11;;7330:24;7285:69;:91;;;;;7367:9;;7358:6;:18;7285:91;7282:134;;;7393:10;:8;:10::i;:::-;-1:-1:-1;;;;;8306:26:0;;7427:14;8306:26;;;:18;:26;;;;;;;;8305:27;7444:40;;;-1:-1:-1;7470:14:0;;-1:-1:-1;;;7470:14:0;;;;7469:15;7444:40;7427:57;;7499:9;7495:205;;;7548:52;7573:26;7584:6;7592;7573:10;:26::i;:::-;-1:-1:-1;;;;;7548:20:0;;;;;;:9;:20;;;;;;;:24;:52::i;:::-;-1:-1:-1;;;;;7525:20:0;;;;;;:9;:20;;;;;:75;7495:205;;;-1:-1:-1;;;;;7656:20:0;;;;;;:9;:20;;;;;;:32;;7681:6;7656:24;:32::i;:::-;-1:-1:-1;;;;;7633:20:0;;;;;;:9;:20;;;;;:55;7495:205;7734:9;-1:-1:-1;;;;;7717:35:0;7726:6;-1:-1:-1;;;;;7717:35:0;;7745:6;7717:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;7717:35:0;;;;;;;;-1:-1:-1;7770:4:0;;6861:921;-1:-1:-1;;;;6861:921:0:o;8779:330::-;8909:53;;;;;;;;;;;-1:-1:-1;;;8909:53:0;;;;;;;;-1:-1:-1;;;;;8909:17:0;;8872:4;8909:17;;;:9;:17;;;;;;;:53;;8931:6;;8909:21;:53::i;:::-;-1:-1:-1;;;;;8889:17:0;;;;;;;:9;:17;;;;;;:73;;;;8996:20;;;;;;;:32;;9021:6;8996:24;:32::i;:::-;-1:-1:-1;;;;;8973:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9044:35;;;;;;;;;;9072:6;1361:25:1;;1349:2;1334:18;;1215:177;9044:35:0;;;;;;;;-1:-1:-1;9097:4:0;8779:330;;;;;:::o;8599:168::-;8673:9;;8648:4;;8673:9;;8672:10;:37;;;;-1:-1:-1;8695:14:0;;-1:-1:-1;;;8695:14:0;;;;8672:37;:87;;;;-1:-1:-1;8750:9:0;;8740:4;8722:24;;;;:9;:24;;;;;;:37;;8672:87;8665:94;;8599:168;:::o;9727:1494::-;5379:9;:16;;-1:-1:-1;;5379:16:0;5391:4;5379:16;;;9825:4:::1;-1:-1:-1::0;6677:18:0;;;:9;:18;;;;;;9776:55:::1;;9842:23;9868:60;9926:1;9868:53;9911:9;;9868:38;9893:12;;9868:20;:24;;:38;;;;:::i;:::-;:42:::0;::::1;:53::i;:60::-;9842:86:::0;-1:-1:-1;9939:20:0::1;9962:41;:20:::0;9842:86;9962:24:::1;:41::i;:::-;10040:16;::::0;;10054:1:::1;10040:16:::0;;;;;::::1;::::0;;9939:64;;-1:-1:-1;10016:21:0::1;::::0;10040:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10040:16:0::1;10016:40;;10085:4;10067;10072:1;10067:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10067:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10111:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;10111:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;10067:7;;10111:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10101:4;10106:1;10101:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10101:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;10202:13:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10202:195:0;;10168:21:::1;::::0;10202:13;;;::::1;::::0;:64:::1;::::0;:195:::1;::::0;10281:12;;10144:21:::1;::::0;10324:4;;10351::::1;::::0;10371:15:::1;::::0;10202:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10408:17;10428:40;10454:13;10428:21;:25;;:40;;;;:::i;:::-;10408:60;;10479:19;10501:34;10515:19;10532:1;10515:12:::0;::::1;:16;;:19;;;;:::i;:::-;10501:9;::::0;;:13:::1;:34::i;:::-;10479:56;;10546:26;10575:51;10624:1;10575:44;10607:11;10575:27;10589:12;;10575:9;:13;;:27;;;;:::i;:51::-;10546:80;;10637:26;10666:44;10698:11;10666:27;10680:12;;10666:9;:13;;:27;;;;:::i;:44::-;10784:9;::::0;10776:66:::1;::::0;10637:73;;-1:-1:-1;10726:21:0::1;::::0;-1:-1:-1;;;;;10784:9:0;;::::1;::::0;10832:5:::1;::::0;10637:73;;10726:21;10776:66;10726:21;10776:66;10637:73;10784:9;10832:5;10776:66:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10725:117;;;10861:16;10853:59;;;::::0;-1:-1:-1;;;10853:59:0;;7293:2:1;10853:59:0::1;::::0;::::1;7275:21:1::0;7332:2;7312:18;;;7305:30;7371:32;7351:18;;;7344:60;7421:18;;10853:59:0::1;7091:354:1::0;10853:59:0::1;10928:19:::0;;10925:289:::1;;10963:13;::::0;11144:9:::1;::::0;10963:239:::1;::::0;-1:-1:-1;;;10963:239:0;;11046:4:::1;10963:239;::::0;::::1;7791:34:1::0;7841:18;;;7834:34;;;10963:13:0::1;7884:18:1::0;;;7877:34;;;7927:18;;;7920:34;-1:-1:-1;;;;;11144:9:0;;::::1;7970:19:1::0;;;7963:44;11172:15:0::1;8023:19:1::0;;;8016:35;10963:13:0;::::1;::::0;:29:::1;::::0;11000:18;;7725:19:1;;10963:239:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10925:289;-1:-1:-1::0;;5400:9:0;:17;;-1:-1:-1;;5400:17:0;;;-1:-1:-1;;;;;;;;9727:1494:0:o;7794:415::-;7904:53;;;;;;;;;;;-1:-1:-1;;;7904:53:0;;;;;;;;-1:-1:-1;;;;;7904:17:0;;7864:7;7904:17;;;:9;:17;;;;;;;:53;;7926:6;;7904:21;:53::i;:::-;-1:-1:-1;;;;;7884:17:0;;;;;;:9;:17;;;;;:73;;;;8014:12;;7999:9;;7988:39;;8014:12;7988:21;;:6;;:10;:21::i;:39::-;8083:4;8065:24;;;;:9;:24;;;;;;7968:59;;-1:-1:-1;8065:39:0;;7968:59;8065:28;:39::i;:::-;8056:4;8038:24;;;;:9;:24;;;;;;;:66;;;;8120:42;;-1:-1:-1;;;;;8120:42:0;;;;;;;8152:9;1361:25:1;;1349:2;1334:18;;1215:177;8120:42:0;;;;;;;;8180:21;:6;8191:9;8180:10;:21::i;:::-;8173:28;7794:415;-1:-1:-1;;;;7794:415:0:o;1334:179::-;1392:7;;1424:5;1428:1;1424;:5;:::i;:::-;1412:17;;1453:1;1448;:6;;1440:46;;;;-1:-1:-1;;;1440:46:0;;8575:2:1;1440:46:0;;;8557:21:1;8614:2;8594:18;;;8587:30;8653:29;8633:18;;;8626:57;8700:18;;1440:46:0;8373:351:1;1857:246:0;1915:7;1939:1;1944;1939:6;1935:47;;-1:-1:-1;1969:1:0;1962:8;;1935:47;1992:9;2004:5;2008:1;2004;:5;:::i;:::-;1992:17;-1:-1:-1;2037:1:0;2028:5;2032:1;1992:17;2028:5;:::i;:::-;:10;2020:56;;;;-1:-1:-1;;;2020:56:0;;8931:2:1;2020:56:0;;;8913:21:1;8970:2;8950:18;;;8943:30;9009:34;8989:18;;;8982:62;-1:-1:-1;;;9060:18:1;;;9053:31;9101:19;;2020:56:0;8729:397:1;2109:132:0;2167:7;2194:39;2198:1;2201;2194:39;;;;;;;;;;;;;;;;;:3;:39::i;1519:136::-;1577:7;1604:43;1608:1;1611;1604:43;;;;;;;;;;;;;;;;;:3;:43::i;2247:189::-;2333:7;2368:12;2361:5;2353:28;;;;-1:-1:-1;;;2353:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2392:9:0;2404:5;2408:1;2404;: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;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:248::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;-1:-1:-1;;2675:23:1;;;2745:2;2730:18;;;2717:32;;-1:-1:-1;2507:248:1:o;2990:388::-;3058:6;3066;3119:2;3107:9;3098:7;3094:23;3090:32;3087:52;;;3135:1;3132;3125:12;3087:52;3174:9;3161:23;3193:31;3218:5;3193:31;:::i;:::-;3243:5;-1:-1:-1;3300:2:1;3285:18;;3272:32;3313:33;3272:32;3313:33;:::i;:::-;3365:7;3355:17;;;2990:388;;;;;:::o;3383:273::-;3439:6;3492:2;3480:9;3471:7;3467:23;3463:32;3460:52;;;3508:1;3505;3498:12;3460:52;3547:9;3534:23;3600:5;3593:13;3586:21;3579:5;3576:32;3566:60;;3622:1;3619;3612:12;3661:180;3720:6;3773:2;3761:9;3752:7;3748:23;3744:32;3741:52;;;3789:1;3786;3779:12;3741:52;-1:-1:-1;3812:23:1;;3661:180;-1:-1:-1;3661:180:1:o;3846:329::-;4048:2;4030:21;;;4087:1;4067:18;;;4060:29;-1:-1:-1;;;4120:2:1;4105:18;;4098:36;4166:2;4151:18;;3846:329::o;4180:127::-;4241:10;4236:3;4232:20;4229:1;4222:31;4272:4;4269:1;4262:15;4296:4;4293:1;4286:15;4312:125;4377:9;;;4398:10;;;4395:36;;;4411:18;;:::i;4442:168::-;4515:9;;;4546;;4563:15;;;4557:22;;4543:37;4533:71;;4584:18;;:::i;4615:217::-;4655:1;4681;4671:132;;4725:10;4720:3;4716:20;4713:1;4706:31;4760:4;4757:1;4750:15;4788:4;4785:1;4778:15;4671:132;-1:-1:-1;4817:9:1;;4615:217::o;4837:128::-;4904:9;;;4925:11;;;4922:37;;;4939:18;;:::i;5508:127::-;5569:10;5564:3;5560:20;5557:1;5550:31;5600:4;5597:1;5590:15;5624:4;5621:1;5614:15;5640:251;5710:6;5763:2;5751:9;5742:7;5738:23;5734:32;5731:52;;;5779:1;5776;5769:12;5731:52;5811:9;5805:16;5830:31;5855:5;5830:31;:::i;5896:980::-;6158:4;6206:3;6195:9;6191:19;6237:6;6226:9;6219:25;6263:2;6301:6;6296:2;6285:9;6281:18;6274:34;6344:3;6339:2;6328:9;6324:18;6317:31;6368:6;6403;6397:13;6434:6;6426;6419:22;6472:3;6461:9;6457:19;6450:26;;6511:2;6503:6;6499:15;6485:29;;6532:1;6542:195;6556:6;6553:1;6550:13;6542:195;;;6621:13;;-1:-1:-1;;;;;6617:39:1;6605:52;;6712:15;;;;6677:12;;;;6653:1;6571:9;6542:195;;;-1:-1:-1;;;;;;;6793:32:1;;;;6788:2;6773:18;;6766:60;-1:-1:-1;;;6857:3:1;6842:19;6835:35;6754:3;5896:980;-1:-1:-1;;;5896:980:1:o;8062:306::-;8150:6;8158;8166;8219:2;8207:9;8198:7;8194:23;8190:32;8187:52;;;8235:1;8232;8225:12;8187:52;8264:9;8258:16;8248:26;;8314:2;8303:9;8299:18;8293:25;8283:35;;8358:2;8347:9;8343:18;8337:25;8327:35;;8062:306;;;;;:::o

Swarm Source

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