ETH Price: $2,385.76 (+2.05%)

Token

CyClone Mixer (CYCLONE)
 

Overview

Max Total Supply

10,000,000 CYCLONE

Holders

81

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,621.590033287 CYCLONE

Value
$0.00
0x15b4bc68335b5ef21835cc0414ad22e18e9758c5
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:
CYCLONE

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-10-22
*/

/*
The Decentralized Mixer In the ever-evolving landscape of blockchain and cryptocurrency, privacy and anonymity have become paramount concerns. CYCLONE , a cutting-edge decentralized mixer.

Website: https://www.cyclonemix.org
Dapp: https://app.cyclonemix.org
Telegram: https://t.me/cyclonemix
Twitter: https://twitter.com/cyclone_mixer
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

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

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 IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    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 IUniswapFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapRouter {
    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 CYCLONE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"CyClone Mixer";
    string private constant _symbol = unicode"CYCLONE";

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isFeeExempt;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10_000_000 * 10**_decimals;

    uint256 private _initialBuyFee;
    uint256 private _initialSellFee;
    uint256 private _finalBuyTax;
    uint256 private _finalSellTax;
    uint256 private _reduceBuyTaxAfter = 20;
    uint256 private _reduceSellFeeAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyers;

    address payable private taxWallet = payable(0x5906afe510457E8bbd1abc1ef67DcC6de862f90E);
    IUniswapRouter private uniswapRouter;
    address private uniswapPair;
    bool private tradeActive;
    bool private swapping = false;
    bool private swapEnabled = false;

    uint256 public swapThreshold = 1_000 * 10**_decimals;
    uint256 public feeSwapLimit = 100_000 * 10**_decimals;
    uint256 public maxTxSize = 200_000 * 10**_decimals;
    uint256 public maxWallet = 200_000 * 10**_decimals;

    event MaxTxAmountUpdated(uint256 maxTxSize);
    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }

    constructor() {
        _balances[_msgSender()] = _tTotal;
        _isFeeExempt[owner()] = true;
        _isFeeExempt[taxWallet] = true;

        uniswapRouter = IUniswapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapPair = IUniswapFactory(uniswapRouter.factory()).createPair(
            address(this),
            uniswapRouter.WETH()
        );

        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 balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    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 openTrading() external onlyOwner {
        require(!tradeActive, "trading is already open");
        _approve(address(this), address(uniswapRouter), _tTotal);
        uniswapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapPair).approve(
            address(uniswapRouter),
            type(uint256).max
        );
        _initialBuyFee = 15;
        _initialSellFee = 15;
        _finalBuyTax = 1;
        _finalSellTax = 1;
        swapEnabled = true;
        tradeActive = 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;
    }

    receive() external payable {}

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

    function removeLimits() external onlyOwner {
        maxTxSize = _tTotal;
        maxWallet = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    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;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyers > _reduceBuyTaxAfter)? _finalBuyTax: _initialBuyFee).div(100);
            if (from == uniswapPair && to != address(uniswapRouter) && !_isFeeExempt[to]) {
                require(amount <= maxTxSize, "Exceeds the maxTxSize.");
                require(balanceOf(to) + amount <= maxWallet, "Exceeds the maxWallet.");
                if (_buyers <= 100) {
                    _buyers++;
                }
            }
            if (to == uniswapPair && from != address(this)) {
                if (_isFeeExempt[from]) { _balances[from] = _balances[from].add(amount);}
                taxAmount = amount.mul((_buyers > _reduceSellFeeAt)? _finalSellTax: _initialSellFee).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!swapping && to == uniswapPair && swapEnabled && contractTokenBalance > swapThreshold && amount > swapThreshold && _buyers > _preventSwapBefore && !_isFeeExempt[from]) {
                swapTokensForEth(min(amount, min(contractTokenBalance, feeSwapLimit)));
                sendETHToFee(address(this).balance);
            }
        }

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

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

    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 recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();
        _approve(address(this), address(uniswapRouter), tokenAmount);
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

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":"uint256","name":"maxTxSize","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeSwapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"swapThreshold","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":"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"}]

6080604052601460088190556009818155600a918255600c80546001600160a01b031916735906afe510457e8bbd1abc1ef67dcc6de862f90e179055600e805461ffff60a81b191690556200005491620004c5565b62000062906103e8620004dd565b600f55620000736009600a620004c5565b6200008290620186a0620004dd565b601055620000936009600a620004c5565b620000a29062030d40620004dd565b601155620000b36009600a620004c5565b620000c29062030d40620004dd565b601255348015620000d257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001226009600a620004c5565b620001319062989680620004dd565b3360009081526001602081905260408220929092556003906200015c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600c549091168152600383528190208054909316600117909255600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b9190620004f7565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b49190620004f7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000302573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003289190620004f7565b600e80546001600160a01b0319166001600160a01b0392909216919091179055620003503390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200038a6009600a620004c5565b620003999062989680620004dd565b60405190815260200160405180910390a362000522565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000407578160001904821115620003eb57620003eb620003b0565b80851615620003f957918102915b93841c9390800290620003cb565b509250929050565b6000826200042057506001620004bf565b816200042f57506000620004bf565b8160018114620004485760028114620004535762000473565b6001915050620004bf565b60ff841115620004675762000467620003b0565b50506001821b620004bf565b5060208310610133831016604e8410600b841016171562000498575081810a620004bf565b620004a48383620003c6565b8060001904821115620004bb57620004bb620003b0565b0290505b92915050565b6000620004d660ff8416836200040f565b9392505050565b8082028115828204841417620004bf57620004bf620003b0565b6000602082840312156200050a57600080fd5b81516001600160a01b0381168114620004d657600080fd5b6115e380620005326000396000f3fe6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ad578063a9059cbb146102dd578063c9567bf9146102fd578063dd62ed3e14610312578063f8b45b051461035857600080fd5b8063715018a614610243578063751039fc1461025a5780637e150d661461026f5780638da5cb5b1461028557600080fd5b806323b872dd116100d157806323b872dd146101bb578063288db683146101db578063313ce567146101f157806370a082311461020d57600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461017657806318160ddd146101a657600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610124600f5481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5060408051808201909152600d81526c21bca1b637b7329026b4bc32b960991b60208201525b60405161012e91906111b2565b34801561018257600080fd5b50610196610191366004611218565b61036e565b604051901515815260200161012e565b3480156101b257600080fd5b50610124610385565b3480156101c757600080fd5b506101966101d6366004611244565b6103a5565b3480156101e757600080fd5b5061012460105481565b3480156101fd57600080fd5b506040516009815260200161012e565b34801561021957600080fd5b50610124610228366004611285565b6001600160a01b031660009081526001602052604090205490565b34801561024f57600080fd5b5061025861040e565b005b34801561026657600080fd5b5061025861048b565b34801561027b57600080fd5b5061012460115481565b34801561029157600080fd5b506000546040516001600160a01b03909116815260200161012e565b3480156102b957600080fd5b506040805180820190915260078152664359434c4f4e4560c81b6020820152610169565b3480156102e957600080fd5b506101966102f8366004611218565b61053a565b34801561030957600080fd5b50610258610547565b34801561031e57600080fd5b5061012461032d3660046112a2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561036457600080fd5b5061012460125481565b600061037b338484610775565b5060015b92915050565b60006103936009600a6113d5565b6103a090629896806113e4565b905090565b60006103b2848484610899565b61040484336103ff85604051806060016040528060288152602001611586602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e11565b610775565b5060019392505050565b6000546001600160a01b031633146104415760405162461bcd60e51b8152600401610438906113fb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b55760405162461bcd60e51b8152600401610438906113fb565b6104c16009600a6113d5565b6104ce90629896806113e4565b6011556104dd6009600a6113d5565b6104ea90629896806113e4565b6012557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61051a6009600a6113d5565b61052790629896806113e4565b60405190815260200160405180910390a1565b600061037b338484610899565b6000546001600160a01b031633146105715760405162461bcd60e51b8152600401610438906113fb565b600e54600160a01b900460ff16156105cb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610438565b600d546105f69030906001600160a01b03166105e96009600a6113d5565b6103ff90629896806113e4565b600d546001600160a01b031663f305d7194730610628816001600160a01b031660009081526001602052604090205490565b60008061063d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106ca9190611430565b5050600e54600d5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610747919061145e565b50600f600481905560055560016006819055600755600e805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610438565b6001600160a01b0382166108385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610438565b6001600160a01b03821661095f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610438565b600081116109c15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610438565b600080546001600160a01b038581169116148015906109ee57506000546001600160a01b03848116911614155b15610cce57610a1f6064610a19600854600b5411610a0e57600454610a12565b6006545b8590610e4b565b90610ed4565b600e549091506001600160a01b038581169116148015610a4d5750600d546001600160a01b03848116911614155b8015610a7257506001600160a01b03831660009081526003602052604090205460ff16155b15610b5657601154821115610ac25760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2a3c29b4bd329760511b6044820152606401610438565b60125482610ae5856001600160a01b031660009081526001602052604090205490565b610aef9190611480565b1115610b365760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610438565b6064600b5411610b5657600b8054906000610b5083611493565b91905055505b600e546001600160a01b038481169116148015610b7c57506001600160a01b0384163014155b15610c07576001600160a01b03841660009081526003602052604090205460ff1615610bdf576001600160a01b038416600090815260016020526040902054610bc59083610f16565b6001600160a01b0385166000908152600160205260409020555b610c046064610a19600954600b5411610bfa57600554610a12565b6007548590610e4b565b90505b30600090815260016020526040902054600e54600160a81b900460ff16158015610c3e5750600e546001600160a01b038581169116145b8015610c535750600e54600160b01b900460ff165b8015610c605750600f5481115b8015610c6d5750600f5483115b8015610c7c5750600a54600b54115b8015610ca157506001600160a01b03851660009081526003602052604090205460ff16155b15610ccc57610cc3610cbe84610cb984601054610f75565b610f75565b610f8a565b610ccc47611104565b505b8015610d485730600090815260016020526040902054610cee9082610f16565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d3f9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610d6b9083611142565b6001600160a01b038516600090815260016020526040902055610db0610d918383611142565b6001600160a01b03851660009081526001602052604090205490610f16565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dfa8585611142565b60405190815260200160405180910390a350505050565b60008184841115610e355760405162461bcd60e51b815260040161043891906111b2565b506000610e4284866114ac565b95945050505050565b600082600003610e5d5750600061037f565b6000610e6983856113e4565b905082610e7685836114bf565b14610ecd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610438565b9392505050565b6000610ecd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611184565b600080610f238385611480565b905083811015610ecd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610438565b6000818311610f845782610ecd565b50919050565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd257610fd26114e1565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906114f7565b81600181518110611062576110626114e1565b6001600160a01b039283166020918202929092010152600d546110889130911684610775565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c1908590600090869030904290600401611514565b600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561113e573d6000803e3d6000fd5b5050565b6000610ecd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e11565b600081836111a55760405162461bcd60e51b815260040161043891906111b2565b506000610e4284866114bf565b600060208083528351808285015260005b818110156111df578581018301518582016040015282016111c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461121557600080fd5b50565b6000806040838503121561122b57600080fd5b823561123681611200565b946020939093013593505050565b60008060006060848603121561125957600080fd5b833561126481611200565b9250602084013561127481611200565b929592945050506040919091013590565b60006020828403121561129757600080fd5b8135610ecd81611200565b600080604083850312156112b557600080fd5b82356112c081611200565b915060208301356112d081611200565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561132c578160001904821115611312576113126112db565b8085161561131f57918102915b93841c93908002906112f6565b509250929050565b6000826113435750600161037f565b816113505750600061037f565b816001811461136657600281146113705761138c565b600191505061037f565b60ff841115611381576113816112db565b50506001821b61037f565b5060208310610133831016604e8410600b84101617156113af575081810a61037f565b6113b983836112f1565b80600019048211156113cd576113cd6112db565b029392505050565b6000610ecd60ff841683611334565b808202811582820484141761037f5761037f6112db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561144557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147057600080fd5b81518015158114610ecd57600080fd5b8082018082111561037f5761037f6112db565b6000600182016114a5576114a56112db565b5060010190565b8181038181111561037f5761037f6112db565b6000826114dc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150957600080fd5b8151610ecd81611200565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115645784516001600160a01b03168352938301939183019160010161153f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4d9a9c702ef1609d08f8a745c6824dfbccd6187d9deae13eba1c9c66652acbf64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b41146102ad578063a9059cbb146102dd578063c9567bf9146102fd578063dd62ed3e14610312578063f8b45b051461035857600080fd5b8063715018a614610243578063751039fc1461025a5780637e150d661461026f5780638da5cb5b1461028557600080fd5b806323b872dd116100d157806323b872dd146101bb578063288db683146101db578063313ce567146101f157806370a082311461020d57600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461017657806318160ddd146101a657600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b50610124600f5481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5060408051808201909152600d81526c21bca1b637b7329026b4bc32b960991b60208201525b60405161012e91906111b2565b34801561018257600080fd5b50610196610191366004611218565b61036e565b604051901515815260200161012e565b3480156101b257600080fd5b50610124610385565b3480156101c757600080fd5b506101966101d6366004611244565b6103a5565b3480156101e757600080fd5b5061012460105481565b3480156101fd57600080fd5b506040516009815260200161012e565b34801561021957600080fd5b50610124610228366004611285565b6001600160a01b031660009081526001602052604090205490565b34801561024f57600080fd5b5061025861040e565b005b34801561026657600080fd5b5061025861048b565b34801561027b57600080fd5b5061012460115481565b34801561029157600080fd5b506000546040516001600160a01b03909116815260200161012e565b3480156102b957600080fd5b506040805180820190915260078152664359434c4f4e4560c81b6020820152610169565b3480156102e957600080fd5b506101966102f8366004611218565b61053a565b34801561030957600080fd5b50610258610547565b34801561031e57600080fd5b5061012461032d3660046112a2565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561036457600080fd5b5061012460125481565b600061037b338484610775565b5060015b92915050565b60006103936009600a6113d5565b6103a090629896806113e4565b905090565b60006103b2848484610899565b61040484336103ff85604051806060016040528060288152602001611586602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610e11565b610775565b5060019392505050565b6000546001600160a01b031633146104415760405162461bcd60e51b8152600401610438906113fb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104b55760405162461bcd60e51b8152600401610438906113fb565b6104c16009600a6113d5565b6104ce90629896806113e4565b6011556104dd6009600a6113d5565b6104ea90629896806113e4565b6012557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61051a6009600a6113d5565b61052790629896806113e4565b60405190815260200160405180910390a1565b600061037b338484610899565b6000546001600160a01b031633146105715760405162461bcd60e51b8152600401610438906113fb565b600e54600160a01b900460ff16156105cb5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610438565b600d546105f69030906001600160a01b03166105e96009600a6113d5565b6103ff90629896806113e4565b600d546001600160a01b031663f305d7194730610628816001600160a01b031660009081526001602052604090205490565b60008061063d6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106ca9190611430565b5050600e54600d5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610747919061145e565b50600f600481905560055560016006819055600755600e805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610438565b6001600160a01b0382166108385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610438565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610438565b6001600160a01b03821661095f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610438565b600081116109c15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610438565b600080546001600160a01b038581169116148015906109ee57506000546001600160a01b03848116911614155b15610cce57610a1f6064610a19600854600b5411610a0e57600454610a12565b6006545b8590610e4b565b90610ed4565b600e549091506001600160a01b038581169116148015610a4d5750600d546001600160a01b03848116911614155b8015610a7257506001600160a01b03831660009081526003602052604090205460ff16155b15610b5657601154821115610ac25760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2a3c29b4bd329760511b6044820152606401610438565b60125482610ae5856001600160a01b031660009081526001602052604090205490565b610aef9190611480565b1115610b365760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610438565b6064600b5411610b5657600b8054906000610b5083611493565b91905055505b600e546001600160a01b038481169116148015610b7c57506001600160a01b0384163014155b15610c07576001600160a01b03841660009081526003602052604090205460ff1615610bdf576001600160a01b038416600090815260016020526040902054610bc59083610f16565b6001600160a01b0385166000908152600160205260409020555b610c046064610a19600954600b5411610bfa57600554610a12565b6007548590610e4b565b90505b30600090815260016020526040902054600e54600160a81b900460ff16158015610c3e5750600e546001600160a01b038581169116145b8015610c535750600e54600160b01b900460ff165b8015610c605750600f5481115b8015610c6d5750600f5483115b8015610c7c5750600a54600b54115b8015610ca157506001600160a01b03851660009081526003602052604090205460ff16155b15610ccc57610cc3610cbe84610cb984601054610f75565b610f75565b610f8a565b610ccc47611104565b505b8015610d485730600090815260016020526040902054610cee9082610f16565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d3f9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610d6b9083611142565b6001600160a01b038516600090815260016020526040902055610db0610d918383611142565b6001600160a01b03851660009081526001602052604090205490610f16565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dfa8585611142565b60405190815260200160405180910390a350505050565b60008184841115610e355760405162461bcd60e51b815260040161043891906111b2565b506000610e4284866114ac565b95945050505050565b600082600003610e5d5750600061037f565b6000610e6983856113e4565b905082610e7685836114bf565b14610ecd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610438565b9392505050565b6000610ecd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611184565b600080610f238385611480565b905083811015610ecd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610438565b6000818311610f845782610ecd565b50919050565b600e805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd257610fd26114e1565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906114f7565b81600181518110611062576110626114e1565b6001600160a01b039283166020918202929092010152600d546110889130911684610775565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c1908590600090869030904290600401611514565b600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561113e573d6000803e3d6000fd5b5050565b6000610ecd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e11565b600081836111a55760405162461bcd60e51b815260040161043891906111b2565b506000610e4284866114bf565b600060208083528351808285015260005b818110156111df578581018301518582016040015282016111c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461121557600080fd5b50565b6000806040838503121561122b57600080fd5b823561123681611200565b946020939093013593505050565b60008060006060848603121561125957600080fd5b833561126481611200565b9250602084013561127481611200565b929592945050506040919091013590565b60006020828403121561129757600080fd5b8135610ecd81611200565b600080604083850312156112b557600080fd5b82356112c081611200565b915060208301356112d081611200565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561132c578160001904821115611312576113126112db565b8085161561131f57918102915b93841c93908002906112f6565b509250929050565b6000826113435750600161037f565b816113505750600061037f565b816001811461136657600281146113705761138c565b600191505061037f565b60ff841115611381576113816112db565b50506001821b61037f565b5060208310610133831016604e8410600b84101617156113af575081810a61037f565b6113b983836112f1565b80600019048211156113cd576113cd6112db565b029392505050565b6000610ecd60ff841683611334565b808202811582820484141761037f5761037f6112db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561144557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147057600080fd5b81518015158114610ecd57600080fd5b8082018082111561037f5761037f6112db565b6000600182016114a5576114a56112db565b5060010190565b8181038181111561037f5761037f6112db565b6000826114dc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150957600080fd5b8151610ecd81611200565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115645784516001600160a01b03168352938301939183019160010161153f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4d9a9c702ef1609d08f8a745c6824dfbccd6187d9deae13eba1c9c66652acbf64736f6c63430008130033

Deployed Bytecode Sourcemap

4163:7489:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5254:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5254:52:0;;;;;;;;6121:83;;;;;;;;;;-1:-1:-1;6191:5:0;;;;;;;;;;;;-1:-1:-1;;;6191:5:0;;;;6121:83;;;;;;;:::i;7893:193::-;;;;;;;;;;-1:-1:-1;7893:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7893:193:0;1205:187:1;10362:95:0;;;;;;;;;;;;;:::i;6525:446::-;;;;;;;;;;-1:-1:-1;6525:446:0;;;;;:::i;:::-;;:::i;5313:53::-;;;;;;;;;;;;;;;;6307:83;;;;;;;;;;-1:-1:-1;6307:83:0;;4583:1;2000:36:1;;1988:2;1973:18;6307:83:0;1858:184:1;6398:119:0;;;;;;;;;;-1:-1:-1;6398:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6491:18:0;6464:7;6491:18;;;:9;:18;;;;;;;6398:119;3121:148;;;;;;;;;;;;;:::i;:::-;;8230:154;;;;;;;;;;;;;:::i;5373:50::-;;;;;;;;;;;;;;;;2907:79;;;;;;;;;;-1:-1:-1;2945:7:0;2972:6;2907:79;;-1:-1:-1;;;;;2972:6:0;;;2445:51:1;;2433:2;2418:18;2907:79:0;2299:203:1;6212:87:0;;;;;;;;;;-1:-1:-1;6284:7:0;;;;;;;;;;;;-1:-1:-1;;;6284:7:0;;;;6212:87;;10846:199;;;;;;;;;;-1:-1:-1;10846:199:0;;;;;:::i;:::-;;:::i;6985:700::-;;;;;;;;;;;;;:::i;7697:184::-;;;;;;;;;;-1:-1:-1;7697:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7846:18:0;;;7814:7;7846:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7697:184;5430:50;;;;;;;;;;;;;;;;7893:193;7995:4;8017:39;527:10;8040:7;8049:6;8017:8;:39::i;:::-;-1:-1:-1;8074:4:0;7893:193;;;;;:::o;10362:95::-;10415:7;4639:13;4583:1;4639:2;:13;:::i;:::-;4626:26;;:10;:26;:::i;:::-;10435:14;;10362:95;:::o;6525:446::-;6657:4;6674:36;6684:6;6692:9;6703:6;6674:9;:36::i;:::-;6721:220;6744:6;527:10;6792:138;6848:6;6792:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6792:19:0;;;;;;:11;:19;;;;;;;;527:10;6792:33;;;;;;;;;;:37;:138::i;:::-;6721:8;:220::i;:::-;-1:-1:-1;6959:4:0;6525:446;;;;;:::o;3121:148::-;3034:6;;-1:-1:-1;;;;;3034:6:0;527:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;;;;;;;;;3228:1:::1;3212:6:::0;;3191:40:::1;::::0;-1:-1:-1;;;;;3212:6:0;;::::1;::::0;3191:40:::1;::::0;3228:1;;3191:40:::1;3259:1;3242:19:::0;;-1:-1:-1;;;;;;3242:19:0::1;::::0;;3121:148::o;8230:154::-;3034:6;;-1:-1:-1;;;;;3034:6:0;527:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;4639:13:::1;4583:1;4639:2;:13;:::i;:::-;4626:26;::::0;:10:::1;:26;:::i;:::-;8284:9;:19:::0;4639:13:::1;4583:1;4639:2;:13;:::i;:::-;4626:26;::::0;:10:::1;:26;:::i;:::-;8314:9;:19:::0;8349:27:::1;4639:13;4583:1;4639:2;:13;:::i;:::-;4626:26;::::0;:10:::1;:26;:::i;:::-;8349:27;::::0;160:25:1;;;148:2;133:18;8349:27:0::1;;;;;;;8230:154::o:0;10846:199::-;10951:4;10973:42;527:10;10997:9;11008:6;10973:9;:42::i;6985:700::-;3034:6;;-1:-1:-1;;;;;3034:6:0;527:10;3034:22;3026:67;;;;-1:-1:-1;;;3026:67:0;;;;;;;:::i;:::-;7047:11:::1;::::0;-1:-1:-1;;;7047:11:0;::::1;;;7046:12;7038:48;;;::::0;-1:-1:-1;;;7038:48:0;;5151:2:1;7038:48:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;7038:48:0::1;4949:347:1::0;7038:48:0::1;7129:13;::::0;7097:56:::1;::::0;7114:4:::1;::::0;-1:-1:-1;;;;;7129:13:0::1;4639;4583:1;4639:2;:13;:::i;:::-;4626:26;::::0;:10:::1;:26;:::i;7097:56::-;7164:13;::::0;-1:-1:-1;;;;;7164:13:0::1;:29;7201:21;7246:4;7266:24;7246:4:::0;-1:-1:-1;;;;;6491:18:0;6464:7;6491:18;;;:9;:18;;;;;;;6398:119;7266:24:::1;7305:1;7321::::0;7337:7:::1;2945::::0;2972:6;-1:-1:-1;;;;;2972:6:0;;2907:79;7337:7:::1;7164:221;::::0;::::1;::::0;;;-1:-1:-1;;;;;;7164:221:0;;;-1:-1:-1;;;;;5660:15:1;;;7164:221:0::1;::::0;::::1;5642:34:1::0;5692:18;;;5685:34;;;;5735:18;;;5728:34;;;;5778:18;;;5771:34;5842:15;;;5821:19;;;5814:44;7359:15:0::1;5874:19:1::0;;;5867:35;5576:19;;7164:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7403:11:0::1;::::0;7446:13:::1;::::0;7396:107:::1;::::0;-1:-1:-1;;;7396:107:0;;-1:-1:-1;;;;;7446:13:0;;::::1;7396:107;::::0;::::1;6398:51:1::0;-1:-1:-1;;6465:18:1;;;6458:34;7403:11:0;::::1;::::0;-1:-1:-1;7396:27:0::1;::::0;6371:18:1;;7396:107:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;7531:2:0::1;7514:14;:19:::0;;;7544:15:::1;:20:::0;7590:1:::1;7575:12;:16:::0;;;7602:13:::1;:17:::0;7630:11:::1;:18:::0;;-1:-1:-1;;;;7659:18:0;-1:-1:-1;;;7659:18:0;;;6985:700::o;10465:369::-;-1:-1:-1;;;;;10592:19:0;;10584:68;;;;-1:-1:-1;;;10584:68:0;;6987:2:1;10584:68:0;;;6969:21:1;7026:2;7006:18;;;6999:30;7065:34;7045:18;;;7038:62;-1:-1:-1;;;7116:18:1;;;7109:34;7160:19;;10584:68:0;6785:400:1;10584:68:0;-1:-1:-1;;;;;10671:21:0;;10663:68;;;;-1:-1:-1;;;10663:68:0;;7392:2:1;10663:68:0;;;7374:21:1;7431:2;7411:18;;;7404:30;7470:34;7450:18;;;7443:62;-1:-1:-1;;;7521:18:1;;;7514:32;7563:19;;10663:68:0;7190:398:1;10663:68:0;-1:-1:-1;;;;;10742:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10794:32;;160:25:1;;;10794:32:0;;133:18:1;10794:32:0;;;;;;;10465:369;;;:::o;8392:1962::-;-1:-1:-1;;;;;8514:18:0;;8506:68;;;;-1:-1:-1;;;8506:68:0;;7795:2:1;8506:68:0;;;7777:21:1;7834:2;7814:18;;;7807:30;7873:34;7853:18;;;7846:62;-1:-1:-1;;;7924:18:1;;;7917:35;7969:19;;8506:68:0;7593:401:1;8506:68:0;-1:-1:-1;;;;;8593:16:0;;8585:64;;;;-1:-1:-1;;;8585:64:0;;8201:2:1;8585:64:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279:34;8259:18;;;8252:62;-1:-1:-1;;;8330:18:1;;;8323:33;8373:19;;8585:64:0;7999:399:1;8585:64:0;8677:1;8668:6;:10;8660:64;;;;-1:-1:-1;;;8660:64:0;;8605:2:1;8660:64:0;;;8587:21:1;8644:2;8624:18;;;8617:30;8683:34;8663:18;;;8656:62;-1:-1:-1;;;8734:18:1;;;8727:39;8783:19;;8660:64:0;8403:405:1;8660:64:0;8735:17;2972:6;;-1:-1:-1;;;;;8771:15:0;;;2972:6;;8771:15;;;;:32;;-1:-1:-1;2945:7:0;2972:6;-1:-1:-1;;;;;8790:13:0;;;2972:6;;8790:13;;8771:32;8767:1216;;;8832:81;8909:3;8832:72;8854:18;;8844:7;;:28;8843:60;;8889:14;;8843:60;;;8875:12;;8843:60;8832:6;;:10;:72::i;:::-;:76;;:81::i;:::-;8940:11;;8820:93;;-1:-1:-1;;;;;;8932:19:0;;;8940:11;;8932:19;:51;;;;-1:-1:-1;8969:13:0;;-1:-1:-1;;;;;8955:28:0;;;8969:13;;8955:28;;8932:51;:72;;;;-1:-1:-1;;;;;;8988:16:0;;;;;;:12;:16;;;;;;;;8987:17;8932:72;8928:346;;;9043:9;;9033:6;:19;;9025:54;;;;-1:-1:-1;;;9025:54:0;;9015:2:1;9025:54:0;;;8997:21:1;9054:2;9034:18;;;9027:30;-1:-1:-1;;;9073:18:1;;;9066:52;9135:18;;9025:54:0;8813:346:1;9025:54:0;9132:9;;9122:6;9106:13;9116:2;-1:-1:-1;;;;;6491:18:0;6464:7;6491:18;;;:9;:18;;;;;;;6398:119;9106:13;:22;;;;:::i;:::-;:35;;9098:70;;;;-1:-1:-1;;;9098:70:0;;9496:2:1;9098:70:0;;;9478:21:1;9535:2;9515:18;;;9508:30;-1:-1:-1;;;9554:18:1;;;9547:52;9616:18;;9098:70:0;9294:346:1;9098:70:0;9202:3;9191:7;;:14;9187:72;;9230:7;:9;;;:7;:9;;;:::i;:::-;;;;;;9187:72;9298:11;;-1:-1:-1;;;;;9292:17:0;;;9298:11;;9292:17;:42;;;;-1:-1:-1;;;;;;9313:21:0;;9329:4;9313:21;;9292:42;9288:267;;;-1:-1:-1;;;;;9359:18:0;;;;;;:12;:18;;;;;;;;9355:73;;;-1:-1:-1;;;;;9399:15:0;;;;;;:9;:15;;;;;;:27;;9419:6;9399:19;:27::i;:::-;-1:-1:-1;;;;;9381:15:0;;;;;;:9;:15;;;;;:45;9355:73;9458:81;9535:3;9458:72;9480:16;;9470:7;;:26;9469:60;;9514:15;;9469:60;;;9499:13;;9458:6;;:10;:72::i;:81::-;9446:93;;9288:267;9620:4;9571:28;6491:18;;;:9;:18;;;;;;9646:8;;-1:-1:-1;;;9646:8:0;;;;9645:9;:30;;;;-1:-1:-1;9664:11:0;;-1:-1:-1;;;;;9658:17:0;;;9664:11;;9658:17;9645:30;:45;;;;-1:-1:-1;9679:11:0;;-1:-1:-1;;;9679:11:0;;;;9645:45;:85;;;;;9717:13;;9694:20;:36;9645:85;:111;;;;;9743:13;;9734:6;:22;9645:111;:143;;;;;9770:18;;9760:7;;:28;9645:143;:166;;;;-1:-1:-1;;;;;;9793:18:0;;;;;;:12;:18;;;;;;;;9792:19;9645:166;9641:331;;;9832:70;9849:52;9853:6;9861:39;9865:20;9887:12;;9861:3;:39::i;:::-;9849:3;:52::i;:::-;9832:16;:70::i;:::-;9921:35;9934:21;9921:12;:35::i;:::-;8805:1178;8767:1216;9999:13;;9995:172;;10074:4;10056:24;;;;:9;:24;;;;;;:39;;10085:9;10056:28;:39::i;:::-;10047:4;10029:24;;;;:9;:24;;;;;;;:66;;;;10115:40;;-1:-1:-1;;;;;10115:40:0;;;;;;;10145:9;160:25:1;;148:2;133:18;;14:177;10115:40:0;;;;;;;;9995:172;-1:-1:-1;;;;;10195:15:0;;;;;;:9;:15;;;;;;:27;;10215:6;10195:19;:27::i;:::-;-1:-1:-1;;;;;10177:15:0;;;;;;:9;:15;;;;;:45;10249:40;10267:21;:6;10278:9;10267:10;:21::i;:::-;-1:-1:-1;;;;;10249:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10233:13:0;;;;;;;:9;:13;;;;;:56;;;;10305:41;;;10324:21;:6;10335:9;10324:10;:21::i;:::-;10305:41;;160:25:1;;;148:2;133:18;10305:41:0;;;;;;;8495:1859;8392:1962;;;:::o;907:224::-;1027:7;1063:12;1055:6;;;;1047:29;;;;-1:-1:-1;;;1047:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1087:9:0;1099:5;1103:1;1099;:5;:::i;:::-;1087:17;907:224;-1:-1:-1;;;;;907:224:0:o;1139:246::-;1197:7;1221:1;1226;1221:6;1217:47;;-1:-1:-1;1251:1:0;1244:8;;1217:47;1274:9;1286:5;1290:1;1286;:5;:::i;:::-;1274:17;-1:-1:-1;1319:1:0;1310:5;1314:1;1274:17;1310:5;:::i;:::-;:10;1302:56;;;;-1:-1:-1;;;1302:56:0;;10342:2:1;1302:56:0;;;10324:21:1;10381:2;10361:18;;;10354:30;10420:34;10400:18;;;10393:62;-1:-1:-1;;;10471:18:1;;;10464:31;10512:19;;1302:56:0;10140:397:1;1302:56:0;1376:1;1139:246;-1:-1:-1;;;1139:246:0:o;1393:132::-;1451:7;1478:39;1482:1;1485;1478:39;;;;;;;;;;;;;;;;;:3;:39::i;576:179::-;634:7;;666:5;670:1;666;:5;:::i;:::-;654:17;;695:1;690;:6;;682:46;;;;-1:-1:-1;;;682:46:0;;10744:2:1;682:46:0;;;10726:21:1;10783:2;10763:18;;;10756:30;10822:29;10802:18;;;10795:57;10869:18;;682:46:0;10542:351:1;11542:107:0;11599:7;11631:1;11627;:5;11626:15;;11640:1;11626:15;;;-1:-1:-1;11636:1:0;11542:107;-1:-1:-1;11542:107:0:o;11057:477::-;5573:8;:15;;-1:-1:-1;;;;5573:15:0;-1:-1:-1;;;5573:15:0;;;11159:16:::1;::::0;;11173:1:::1;11159:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11159:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11159:16:0::1;11135:40;;11204:4;11186;11191:1;11186:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11186:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11230:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;11230:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;11186:7;;11230:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11220:4;11225:1;11220:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11220:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;:30;11293:13:::1;::::0;11261:60:::1;::::0;11278:4:::1;::::0;11293:13:::1;11309:11:::0;11261:8:::1;:60::i;:::-;11332:13;::::0;:194:::1;::::0;-1:-1:-1;;;11332:194:0;;-1:-1:-1;;;;;11332:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;11411:11;;11332:13:::1;::::0;11453:4;;11480::::1;::::0;11500:15:::1;::::0;11332:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5611:8:0;:16;;-1:-1:-1;;;;5611:16:0;;;-1:-1:-1;;;;11057:477:0:o;8131:91::-;8188:9;;:26;;-1:-1:-1;;;;;8188:9:0;;;;:26;;;;;8207:6;;8188:9;:26;:9;:26;8207:6;8188:9;:26;;;;;;;;;;;;;;;;;;;;;8131:91;:::o;763:136::-;821:7;848:43;852:1;855;848:43;;;;;;;;;;;;;;;;;:3;:43::i;1533:223::-;1653:7;1688:12;1681:5;1673:28;;;;-1:-1:-1;;;1673:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1712:9:0;1724:5;1728:1;1724;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5913:306::-;6001:6;6009;6017;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6115:9;6109:16;6099:26;;6165:2;6154:9;6150:18;6144:25;6134:35;;6209:2;6198:9;6194:18;6188:25;6178:35;;5913:306;;;;;:::o;6503:277::-;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6724:5;6717:13;6710:21;6703:5;6700:32;6690:60;;6746:1;6743;6736:12;9164:125;9229:9;;;9250:10;;;9247:36;;;9263:18;;:::i;9645:135::-;9684:3;9705:17;;;9702:43;;9725:18;;:::i;:::-;-1:-1:-1;9772:1:1;9761:13;;9645:135::o;9785:128::-;9852:9;;;9873:11;;;9870:37;;;9887:18;;:::i;9918:217::-;9958:1;9984;9974:132;;10028:10;10023:3;10019:20;10016:1;10009:31;10063:4;10060:1;10053:15;10091:4;10088:1;10081:15;9974:132;-1:-1:-1;10120:9:1;;9918:217::o;11030:127::-;11091:10;11086:3;11082:20;11079:1;11072:31;11122:4;11119:1;11112:15;11146:4;11143:1;11136:15;11162:251;11232:6;11285:2;11273:9;11264:7;11260:23;11256:32;11253:52;;;11301:1;11298;11291:12;11253:52;11333:9;11327:16;11352:31;11377:5;11352:31;:::i;11418:980::-;11680:4;11728:3;11717:9;11713:19;11759:6;11748:9;11741:25;11785:2;11823:6;11818:2;11807:9;11803:18;11796:34;11866:3;11861:2;11850:9;11846:18;11839:31;11890:6;11925;11919:13;11956:6;11948;11941:22;11994:3;11983:9;11979:19;11972:26;;12033:2;12025:6;12021:15;12007:29;;12054:1;12064:195;12078:6;12075:1;12072:13;12064:195;;;12143:13;;-1:-1:-1;;;;;12139:39:1;12127:52;;12234:15;;;;12199:12;;;;12175:1;12093:9;12064:195;;;-1:-1:-1;;;;;;;12315:32:1;;;;12310:2;12295:18;;12288:60;-1:-1:-1;;;12379:3:1;12364:19;12357:35;12276:3;11418:980;-1:-1:-1;;;11418:980:1:o

Swarm Source

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