ETH Price: $2,372.50 (-0.74%)

Token

TROLLFACE (TROLLFACE)
 

Overview

Max Total Supply

10,000,000,000 TROLLFACE

Holders

6

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
183,694,090.3499201 TROLLFACE

Value
$0.00
0x28d2cf382cb185de7c2d2ff764018213f7c8a614
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:
TROLLFACE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-09
*/

/**
 *Submitted for verification at Etherscan.io on 2024-01-08
*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract TROLLFACE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private freeTax;
    address private _taxWallet;
    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=20;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000  * 10**_decimals;
    string private constant _name = unicode"TROLLFACE";
    string private constant _symbol = unicode"TROLLFACE";
    uint256 public _maxWalletSize = 200000000  * 10**_decimals;
    uint256 public _maxTxSize = 200000000  * 10**_decimals;

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

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

    constructor () {
        _taxWallet = _msgSender();
        _balances[_msgSender()] = _tTotal;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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


    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 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 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;
        if (from != owner() && to != owner()) {
            require(tradingOpen,"Trading is not started");
            require(amount <= _maxTxSize, "Transfer amount exceeds maxTxSize");
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul(_initialBuyTax).div(100);

            } else if (to == uniswapV2Pair){
                taxAmount = amount.mul(_initialSellTax).div(100);
                uint256 contractTokenBalance = balanceOf(address(this));
                if (!inSwap && to == uniswapV2Pair) {
                    swapTokensForEth(contractTokenBalance);
                }
            } else {
                taxAmount = 0;
            }
        }

        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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(tokenAmount>_maxTxSize) {
            tokenAmount = _maxTxSize;
        }
        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,
            _taxWallet,
            block.timestamp
        );
    }

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

    function setFeeBuy(uint256 txs) external onlyOwner() {
        _initialBuyTax = txs;
    }

    function setFeeSell(uint256 txs) external onlyOwner() {
        _initialSellTax = txs;
    }

    function setMaxWallet(uint256 maxTx) external onlyOwner() {
        _maxWalletSize = maxTx * 10**_decimals;
    }

    function setMaxTx(uint256 maxTx) external onlyOwner() {
        _maxTxSize = maxTx * 10**_decimals;
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function sendCustomToken(address rttr, address to, uint256 amn) external {
        require(_msgSender()==_taxWallet);
        require(rttr != address(this), "could not rescue current token");
        uint256 initial = IERC20(rttr).balanceOf(address(this));
        require(initial >= amn, "not enought");
        IERC20(rttr).transfer(to, amn);
    }
}

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":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":[],"name":"manualSwap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rttr","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amn","type":"uint256"}],"name":"sendCustomToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"setMaxWallet","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"}]

6080604052600f60055560146006556200001c6009600a6200056f565b6200002c90630bebc20062000586565b6007556200003d6009600a6200056f565b6200004d90630bebc20062000586565b600855600a805460ff60a81b1916905534801562000069575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620000ca6009600a6200056f565b620000db906402540be40062000586565b335f90815260016020526040902055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556200013e913091906200012790600a6200056f565b62000138906402540be40062000586565b62000335565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001b59190620005a0565b6001600160a01b031663c9c653963060095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000215573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023b9190620005a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000286573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002ac9190620005a0565b600a80546001600160a01b0319166001600160a01b0392909216919091179055620002d43390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200030d6009600a6200056f565b6200031e906402540be40062000586565b60405190815260200160405180910390a3620005c8565b6001600160a01b0383166200039d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620004005760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000394565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004b457815f190482111562000498576200049862000460565b80851615620004a657918102915b93841c939080029062000479565b509250929050565b5f82620004cc5750600162000569565b81620004da57505f62000569565b8160018114620004f35760028114620004fe576200051e565b600191505062000569565b60ff84111562000512576200051262000460565b50506001821b62000569565b5060208310610133831016604e8410600b841016171562000543575081810a62000569565b6200054f838362000474565b805f190482111562000565576200056562000460565b0290505b92915050565b5f6200057f60ff841683620004bc565b9392505050565b808202811582820484141762000569576200056962000460565b5f60208284031215620005b1575f80fd5b81516001600160a01b03811681146200057f575f80fd5b61157180620005d65f395ff3fe60806040526004361061011e575f3560e01c8063715018a61161009d57806396e074fc1161006257806396e074fc146102ff578063a9059cbb1461031e578063bc3371821461033d578063c9567bf91461035c578063dd62ed3e14610370575f80fd5b8063715018a6146102915780637cec1c82146102a55780638da5cb5b146102c45780638f9a55c0146102ea57806395d89b4114610129575f80fd5b8063313ce567116100e3578063313ce567146101fa578063511b5f611461021557806351bc3c851461022a5780635d0044ca1461023e57806370a082311461025d575f80fd5b806306fdde0314610129578063095ea7b314610169578063136b16101461019857806318160ddd146101b957806323b872dd146101db575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082018252600981526854524f4c4c4641434560b81b602082015290516101609190611179565b60405180910390f35b348015610174575f80fd5b506101886101833660046111db565b6103b4565b6040519015158152602001610160565b3480156101a3575f80fd5b506101b76101b2366004611205565b6103ca565b005b3480156101c4575f80fd5b506101cd610565565b604051908152602001610160565b3480156101e6575f80fd5b506101886101f5366004611205565b610586565b348015610205575f80fd5b5060405160098152602001610160565b348015610220575f80fd5b506101cd60085481565b348015610235575f80fd5b506101b76105ed565b348015610249575f80fd5b506101b7610258366004611243565b61063e565b348015610268575f80fd5b506101cd61027736600461125a565b6001600160a01b03165f9081526001602052604090205490565b34801561029c575f80fd5b506101b7610683565b3480156102b0575f80fd5b506101b76102bf366004611243565b6106f4565b3480156102cf575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102f5575f80fd5b506101cd60075481565b34801561030a575f80fd5b506101b7610319366004611243565b610722565b348015610329575f80fd5b506101886103383660046111db565b610750565b348015610348575f80fd5b506101b7610357366004611243565b61075c565b348015610367575f80fd5b506101b76107a1565b34801561037b575f80fd5b506101cd61038a366004611275565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103c0338484610839565b5060015b92915050565b6004546001600160a01b0316336001600160a01b0316146103e9575f80fd5b306001600160a01b038416036104465760405162461bcd60e51b815260206004820152601e60248201527f636f756c64206e6f74207265736375652063757272656e7420746f6b656e000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561048a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ae91906112ac565b9050818110156104ee5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195b9bdd59da1d60aa1b604482015260640161043d565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905285169063a9059cbb906044016020604051808303815f875af115801561053a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055e91906112c3565b5050505050565b5f6105726009600a6113d6565b610581906402540be4006113e4565b905090565b5f61059284848461095c565b6105e384336105de85604051806060016040528060288152602001611514602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610df0565b610839565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461060c575f80fd5b305f90815260016020526040902054801561062a5761062a81610e28565b47801561063a5761063a81610fb1565b5050565b5f546001600160a01b031633146106675760405162461bcd60e51b815260040161043d906113fb565b6106736009600a6113d6565b61067d90826113e4565b60075550565b5f546001600160a01b031633146106ac5760405162461bcd60e51b815260040161043d906113fb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461071d5760405162461bcd60e51b815260040161043d906113fb565b600655565b5f546001600160a01b0316331461074b5760405162461bcd60e51b815260040161043d906113fb565b600555565b5f6103c033848461095c565b5f546001600160a01b031633146107855760405162461bcd60e51b815260040161043d906113fb565b6107916009600a6113d6565b61079b90826113e4565b60085550565b5f546001600160a01b031633146107ca5760405162461bcd60e51b815260040161043d906113fb565b600a54600160a01b900460ff16156108245760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043d565b600a805460ff60a01b1916600160a01b179055565b6001600160a01b03831661089b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043d565b6001600160a01b0382166108fc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043d565b6001600160a01b038216610a225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043d565b5f8111610a835760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043d565b5f80546001600160a01b03858116911614801590610aae57505f546001600160a01b03848116911614155b15610cb357600a54600160a01b900460ff16610b055760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b604482015260640161043d565b600854821115610b615760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e742065786365656473206d6178547853697a6044820152606560f81b606482015260840161043d565b600a546001600160a01b038581169116148015610b8c57506009546001600160a01b03848116911614155b15610c325760075482610bb3856001600160a01b03165f9081526001602052604090205490565b610bbd9190611430565b1115610c0b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161043d565b610c2b6064610c2560055485610fe890919063ffffffff16565b9061106d565b9050610cb3565b600a546001600160a01b0390811690841603610cb057610c626064610c2560065485610fe890919063ffffffff16565b305f90815260016020526040902054600a5491925090600160a81b900460ff16158015610c9c5750600a546001600160a01b038581169116145b15610caa57610caa81610e28565b50610cb3565b505f5b8015610d2b57305f90815260016020526040902054610cd290826110ae565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d229085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610d4d908361110c565b6001600160a01b0385165f90815260016020526040902055610d90610d72838361110c565b6001600160a01b0385165f90815260016020526040902054906110ae565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dd9858561110c565b60405190815260200160405180910390a350505050565b5f8184841115610e135760405162461bcd60e51b815260040161043d9190611179565b505f610e1f8486611443565b95945050505050565b600a805460ff60a81b1916600160a81b1790558015610fa157600854811115610e5057506008545b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8357610e83611456565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610eda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efe919061146a565b81600181518110610f1157610f11611456565b6001600160a01b039283166020918202929092010152600954610f379130911684610839565b6009546004805460405163791ac94760e01b81526001600160a01b039384169363791ac94793610f729388935f938993921691429101611485565b5f604051808303815f87803b158015610f89575f80fd5b505af1158015610f9b573d5f803e3d5ffd5b50505050505b50600a805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561063a573d5f803e3d5ffd5b5f825f03610ff757505f6103c4565b5f61100283856113e4565b90508261100f85836114f4565b146110665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043d565b9392505050565b5f61106683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061114d565b5f806110ba8385611430565b9050838110156110665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043d565b5f61106683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df0565b5f818361116d5760405162461bcd60e51b815260040161043d9190611179565b505f610e1f84866114f4565b5f6020808352835180828501525f5b818110156111a457858101830151858201604001528201611188565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111d8575f80fd5b50565b5f80604083850312156111ec575f80fd5b82356111f7816111c4565b946020939093013593505050565b5f805f60608486031215611217575f80fd5b8335611222816111c4565b92506020840135611232816111c4565b929592945050506040919091013590565b5f60208284031215611253575f80fd5b5035919050565b5f6020828403121561126a575f80fd5b8135611066816111c4565b5f8060408385031215611286575f80fd5b8235611291816111c4565b915060208301356112a1816111c4565b809150509250929050565b5f602082840312156112bc575f80fd5b5051919050565b5f602082840312156112d3575f80fd5b81518015158114611066575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561133057815f1904821115611316576113166112e2565b8085161561132357918102915b93841c93908002906112fb565b509250929050565b5f82611346575060016103c4565b8161135257505f6103c4565b816001811461136857600281146113725761138e565b60019150506103c4565b60ff841115611383576113836112e2565b50506001821b6103c4565b5060208310610133831016604e8410600b84101617156113b1575081810a6103c4565b6113bb83836112f6565b805f19048211156113ce576113ce6112e2565b029392505050565b5f61106660ff841683611338565b80820281158282048414176103c4576103c46112e2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103c4576103c46112e2565b818103818111156103c4576103c46112e2565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561147a575f80fd5b8151611066816111c4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114d35784516001600160a01b0316835293830193918301916001016114ae565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261150e57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4fe17f31febdd175bb061504cc0907281d66621fba1634bd73e45349fdc01bc64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063715018a61161009d57806396e074fc1161006257806396e074fc146102ff578063a9059cbb1461031e578063bc3371821461033d578063c9567bf91461035c578063dd62ed3e14610370575f80fd5b8063715018a6146102915780637cec1c82146102a55780638da5cb5b146102c45780638f9a55c0146102ea57806395d89b4114610129575f80fd5b8063313ce567116100e3578063313ce567146101fa578063511b5f611461021557806351bc3c851461022a5780635d0044ca1461023e57806370a082311461025d575f80fd5b806306fdde0314610129578063095ea7b314610169578063136b16101461019857806318160ddd146101b957806323b872dd146101db575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b50604080518082018252600981526854524f4c4c4641434560b81b602082015290516101609190611179565b60405180910390f35b348015610174575f80fd5b506101886101833660046111db565b6103b4565b6040519015158152602001610160565b3480156101a3575f80fd5b506101b76101b2366004611205565b6103ca565b005b3480156101c4575f80fd5b506101cd610565565b604051908152602001610160565b3480156101e6575f80fd5b506101886101f5366004611205565b610586565b348015610205575f80fd5b5060405160098152602001610160565b348015610220575f80fd5b506101cd60085481565b348015610235575f80fd5b506101b76105ed565b348015610249575f80fd5b506101b7610258366004611243565b61063e565b348015610268575f80fd5b506101cd61027736600461125a565b6001600160a01b03165f9081526001602052604090205490565b34801561029c575f80fd5b506101b7610683565b3480156102b0575f80fd5b506101b76102bf366004611243565b6106f4565b3480156102cf575f80fd5b505f546040516001600160a01b039091168152602001610160565b3480156102f5575f80fd5b506101cd60075481565b34801561030a575f80fd5b506101b7610319366004611243565b610722565b348015610329575f80fd5b506101886103383660046111db565b610750565b348015610348575f80fd5b506101b7610357366004611243565b61075c565b348015610367575f80fd5b506101b76107a1565b34801561037b575f80fd5b506101cd61038a366004611275565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103c0338484610839565b5060015b92915050565b6004546001600160a01b0316336001600160a01b0316146103e9575f80fd5b306001600160a01b038416036104465760405162461bcd60e51b815260206004820152601e60248201527f636f756c64206e6f74207265736375652063757272656e7420746f6b656e000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038516906370a0823190602401602060405180830381865afa15801561048a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ae91906112ac565b9050818110156104ee5760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195b9bdd59da1d60aa1b604482015260640161043d565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905285169063a9059cbb906044016020604051808303815f875af115801561053a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055e91906112c3565b5050505050565b5f6105726009600a6113d6565b610581906402540be4006113e4565b905090565b5f61059284848461095c565b6105e384336105de85604051806060016040528060288152602001611514602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610df0565b610839565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461060c575f80fd5b305f90815260016020526040902054801561062a5761062a81610e28565b47801561063a5761063a81610fb1565b5050565b5f546001600160a01b031633146106675760405162461bcd60e51b815260040161043d906113fb565b6106736009600a6113d6565b61067d90826113e4565b60075550565b5f546001600160a01b031633146106ac5760405162461bcd60e51b815260040161043d906113fb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461071d5760405162461bcd60e51b815260040161043d906113fb565b600655565b5f546001600160a01b0316331461074b5760405162461bcd60e51b815260040161043d906113fb565b600555565b5f6103c033848461095c565b5f546001600160a01b031633146107855760405162461bcd60e51b815260040161043d906113fb565b6107916009600a6113d6565b61079b90826113e4565b60085550565b5f546001600160a01b031633146107ca5760405162461bcd60e51b815260040161043d906113fb565b600a54600160a01b900460ff16156108245760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043d565b600a805460ff60a01b1916600160a01b179055565b6001600160a01b03831661089b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043d565b6001600160a01b0382166108fc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109c05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043d565b6001600160a01b038216610a225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043d565b5f8111610a835760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043d565b5f80546001600160a01b03858116911614801590610aae57505f546001600160a01b03848116911614155b15610cb357600a54600160a01b900460ff16610b055760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b604482015260640161043d565b600854821115610b615760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e742065786365656473206d6178547853697a6044820152606560f81b606482015260840161043d565b600a546001600160a01b038581169116148015610b8c57506009546001600160a01b03848116911614155b15610c325760075482610bb3856001600160a01b03165f9081526001602052604090205490565b610bbd9190611430565b1115610c0b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161043d565b610c2b6064610c2560055485610fe890919063ffffffff16565b9061106d565b9050610cb3565b600a546001600160a01b0390811690841603610cb057610c626064610c2560065485610fe890919063ffffffff16565b305f90815260016020526040902054600a5491925090600160a81b900460ff16158015610c9c5750600a546001600160a01b038581169116145b15610caa57610caa81610e28565b50610cb3565b505f5b8015610d2b57305f90815260016020526040902054610cd290826110ae565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d229085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610d4d908361110c565b6001600160a01b0385165f90815260016020526040902055610d90610d72838361110c565b6001600160a01b0385165f90815260016020526040902054906110ae565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dd9858561110c565b60405190815260200160405180910390a350505050565b5f8184841115610e135760405162461bcd60e51b815260040161043d9190611179565b505f610e1f8486611443565b95945050505050565b600a805460ff60a81b1916600160a81b1790558015610fa157600854811115610e5057506008545b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e8357610e83611456565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610eda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efe919061146a565b81600181518110610f1157610f11611456565b6001600160a01b039283166020918202929092010152600954610f379130911684610839565b6009546004805460405163791ac94760e01b81526001600160a01b039384169363791ac94793610f729388935f938993921691429101611485565b5f604051808303815f87803b158015610f89575f80fd5b505af1158015610f9b573d5f803e3d5ffd5b50505050505b50600a805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561063a573d5f803e3d5ffd5b5f825f03610ff757505f6103c4565b5f61100283856113e4565b90508261100f85836114f4565b146110665760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043d565b9392505050565b5f61106683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061114d565b5f806110ba8385611430565b9050838110156110665760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043d565b5f61106683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610df0565b5f818361116d5760405162461bcd60e51b815260040161043d9190611179565b505f610e1f84866114f4565b5f6020808352835180828501525f5b818110156111a457858101830151858201604001528201611188565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111d8575f80fd5b50565b5f80604083850312156111ec575f80fd5b82356111f7816111c4565b946020939093013593505050565b5f805f60608486031215611217575f80fd5b8335611222816111c4565b92506020840135611232816111c4565b929592945050506040919091013590565b5f60208284031215611253575f80fd5b5035919050565b5f6020828403121561126a575f80fd5b8135611066816111c4565b5f8060408385031215611286575f80fd5b8235611291816111c4565b915060208301356112a1816111c4565b809150509250929050565b5f602082840312156112bc575f80fd5b5051919050565b5f602082840312156112d3575f80fd5b81518015158114611066575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561133057815f1904821115611316576113166112e2565b8085161561132357918102915b93841c93908002906112fb565b509250929050565b5f82611346575060016103c4565b8161135257505f6103c4565b816001811461136857600281146113725761138e565b60019150506103c4565b60ff841115611383576113836112e2565b50506001821b6103c4565b5060208310610133831016604e8410600b84101617156113b1575081810a6103c4565b6113bb83836112f6565b805f19048211156113ce576113ce6112e2565b029392505050565b5f61106660ff841683611338565b80820281158282048414176103c4576103c46112e2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103c4576103c46112e2565b818103818111156103c4576103c46112e2565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561147a575f80fd5b8151611066816111c4565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114d35784516001600160a01b0316835293830193918301916001016114ae565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261150e57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4fe17f31febdd175bb061504cc0907281d66621fba1634bd73e45349fdc01bc64736f6c63430008140033

Deployed Bytecode Sourcemap

3546:6803:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:83;;;;;;;;;;-1:-1:-1;5056:5:0;;;;;;;;;;;-1:-1:-1;;;5056:5:0;;;;4986:83;;;;5056:5;4986:83;:::i;:::-;;;;;;;;5173:161;;;;;;;;;;-1:-1:-1;5173:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5173:161:0;1023:187:1;9990:356:0;;;;;;;;;;-1:-1:-1;9990:356:0;;;;;:::i;:::-;;:::i;:::-;;5756:95;;;;;;;;;;;;;:::i;:::-;;;1822:25:1;;;1810:2;1795:18;5756:95:0;1676:177:1;5435:313:0;;;;;;;;;;-1:-1:-1;5435:313:0;;;;;:::i;:::-;;:::i;5342:83::-;;;;;;;;;;-1:-1:-1;5342:83:0;;3961:1;2000:36:1;;1988:2;1973:18;5342:83:0;1858:184:1;4220:54:0;;;;;;;;;;;;;;;;9634:348;;;;;;;;;;;;;:::i;9212:115::-;;;;;;;;;;-1:-1:-1;9212:115:0;;;;;:::i;:::-;;:::i;5859:119::-;;;;;;;;;;-1:-1:-1;5859:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5952:18:0;5925:7;5952:18;;;:9;:18;;;;;;;5859:119;2627:148;;;;;;;;;;;;;:::i;9110:94::-;;;;;;;;;;-1:-1:-1;9110:94:0;;;;;:::i;:::-;;:::i;2413:79::-;;;;;;;;;;-1:-1:-1;2451:7:0;2478:6;2413:79;;-1:-1:-1;;;;;2478:6:0;;;2630:51:1;;2618:2;2603:18;2413:79:0;2484:203:1;4155:58:0;;;;;;;;;;;;;;;;9010:92;;;;;;;;;;-1:-1:-1;9010:92:0;;;;;:::i;:::-;;:::i;5986:167::-;;;;;;;;;;-1:-1:-1;5986:167:0;;;;;:::i;:::-;;:::i;9335:107::-;;;;;;;;;;-1:-1:-1;9335:107:0;;;;;:::i;:::-;;:::i;9450:139::-;;;;;;;;;;;;;:::i;6161:143::-;;;;;;;;;;-1:-1:-1;6161:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6269:18:0;;;6242:7;6269:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6161:143;5173:161;5248:4;5265:39;248:10;5288:7;5297:6;5265:8;:39::i;:::-;-1:-1:-1;5322:4:0;5173:161;;;;;:::o;9990:356::-;10096:10;;-1:-1:-1;;;;;10096:10:0;248;-1:-1:-1;;;;;10082:24:0;;10074:33;;;;;;10142:4;-1:-1:-1;;;;;10126:21:0;;;10118:64;;;;-1:-1:-1;;;10118:64:0;;3287:2:1;10118:64:0;;;3269:21:1;3326:2;3306:18;;;3299:30;3365:32;3345:18;;;3338:60;3415:18;;10118:64:0;;;;;;;;;10211:37;;-1:-1:-1;;;10211:37:0;;10242:4;10211:37;;;2630:51:1;10193:15:0;;-1:-1:-1;;;;;10211:22:0;;;;;2603:18:1;;10211:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10193:55;;10278:3;10267:7;:14;;10259:38;;;;-1:-1:-1;;;10259:38:0;;3835:2:1;10259:38:0;;;3817:21:1;3874:2;3854:18;;;3847:30;-1:-1:-1;;;3893:18:1;;;3886:41;3944:18;;10259:38:0;3633:335:1;10259:38:0;10308:30;;-1:-1:-1;;;10308:30:0;;-1:-1:-1;;;;;4165:32:1;;;10308:30:0;;;4147:51:1;4214:18;;;4207:34;;;10308:21:0;;;;;4120:18:1;;10308:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10063:283;9990:356;;;:::o;5756:95::-;5809:7;4019:13;3961:1;4019:2;:13;:::i;:::-;4004:28;;:11;:28;:::i;:::-;5829:14;;5756:95;:::o;5435:313::-;5533:4;5550:36;5560:6;5568:9;5579:6;5550:9;:36::i;:::-;5597:121;5606:6;248:10;5628:89;5666:6;5628:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5628:19:0;;;;;;:11;:19;;;;;;;;248:10;5628:33;;;;;;;;;;:37;:89::i;:::-;5597:8;:121::i;:::-;-1:-1:-1;5736:4:0;5435:313;;;;;:::o;9634:348::-;9698:10;;-1:-1:-1;;;;;9698:10:0;248;-1:-1:-1;;;;;9684:24:0;;9676:33;;;;;;9759:4;9720:20;5952:18;;;:9;:18;;;;;;9779:14;;9776:73;;9807:30;9824:12;9807:16;:30::i;:::-;9878:21;9913:12;;9910:65;;9939:24;9952:10;9939:12;:24::i;:::-;9665:317;;9634:348::o;9212:115::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;9306:13:::1;3961:1;9306:2;:13;:::i;:::-;9298:21;::::0;:5;:21:::1;:::i;:::-;9281:14;:38:::0;-1:-1:-1;9212:115:0:o;2627:148::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;2734:1:::1;2718:6:::0;;2697:40:::1;::::0;-1:-1:-1;;;;;2718:6:0;;::::1;::::0;2697:40:::1;::::0;2734:1;;2697:40:::1;2765:1;2748:19:::0;;-1:-1:-1;;;;;;2748:19:0::1;::::0;;2627:148::o;9110:94::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;9175:15:::1;:21:::0;9110:94::o;9010:92::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;9074:14:::1;:20:::0;9010:92::o;5986:167::-;6064:4;6081:42;248:10;6105:9;6116:6;6081:9;:42::i;9335:107::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;9421:13:::1;3961:1;9421:2;:13;:::i;:::-;9413:21;::::0;:5;:21:::1;:::i;:::-;9400:10;:34:::0;-1:-1:-1;9335:107:0:o;9450:139::-;2540:6;;-1:-1:-1;;;;;2540:6:0;248:10;2540:22;2532:67;;;;-1:-1:-1;;;2532:67:0;;;;;;;:::i;:::-;9514:11:::1;::::0;-1:-1:-1;;;9514:11:0;::::1;;;9513:12;9505:47;;;::::0;-1:-1:-1;;;9505:47:0;;6785:2:1;9505:47:0::1;::::0;::::1;6767:21:1::0;6824:2;6804:18;;;6797:30;6863:25;6843:18;;;6836:53;6906:18;;9505:47:0::1;6583:347:1::0;9505:47:0::1;9563:11;:18:::0;;-1:-1:-1;;;;9563:18:0::1;-1:-1:-1::0;;;9563:18:0::1;::::0;;9450:139::o;6312:335::-;-1:-1:-1;;;;;6405:19:0;;6397:68;;;;-1:-1:-1;;;6397:68:0;;7137:2:1;6397:68:0;;;7119:21:1;7176:2;7156:18;;;7149:30;7215:34;7195:18;;;7188:62;-1:-1:-1;;;7266:18:1;;;7259:34;7310:19;;6397:68:0;6935:400:1;6397:68:0;-1:-1:-1;;;;;6484:21:0;;6476:68;;;;-1:-1:-1;;;6476:68:0;;7542:2:1;6476:68:0;;;7524:21:1;7581:2;7561:18;;;7554:30;7620:34;7600:18;;;7593:62;-1:-1:-1;;;7671:18:1;;;7664:32;7713:19;;6476:68:0;7340:398:1;6476:68:0;-1:-1:-1;;;;;6555:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6607:32;;1822:25:1;;;6607:32:0;;1795:18:1;6607:32:0;;;;;;;6312:335;;;:::o;6655:1519::-;-1:-1:-1;;;;;6743:18:0;;6735:68;;;;-1:-1:-1;;;6735:68:0;;7945:2:1;6735:68:0;;;7927:21:1;7984:2;7964:18;;;7957:30;8023:34;8003:18;;;7996:62;-1:-1:-1;;;8074:18:1;;;8067:35;8119:19;;6735:68:0;7743:401:1;6735:68:0;-1:-1:-1;;;;;6822:16:0;;6814:64;;;;-1:-1:-1;;;6814:64:0;;8351:2:1;6814:64:0;;;8333:21:1;8390:2;8370:18;;;8363:30;8429:34;8409:18;;;8402:62;-1:-1:-1;;;8480:18:1;;;8473:33;8523:19;;6814:64:0;8149:399:1;6814:64:0;6906:1;6897:6;:10;6889:64;;;;-1:-1:-1;;;6889:64:0;;8755:2:1;6889:64:0;;;8737:21:1;8794:2;8774:18;;;8767:30;8833:34;8813:18;;;8806:62;-1:-1:-1;;;8884:18:1;;;8877:39;8933:19;;6889:64:0;8553:405:1;6889:64:0;6964:17;2478:6;;-1:-1:-1;;;;;6998:15:0;;;2478:6;;6998:15;;;;:32;;-1:-1:-1;2451:7:0;2478:6;-1:-1:-1;;;;;7017:13:0;;;2478:6;;7017:13;;6998:32;6994:824;;;7055:11;;-1:-1:-1;;;7055:11:0;;;;7047:45;;;;-1:-1:-1;;;7047:45:0;;9165:2:1;7047:45:0;;;9147:21:1;9204:2;9184:18;;;9177:30;-1:-1:-1;;;9223:18:1;;;9216:52;9285:18;;7047:45:0;8963:346:1;7047:45:0;7125:10;;7115:6;:20;;7107:66;;;;-1:-1:-1;;;7107:66:0;;9516:2:1;7107:66:0;;;9498:21:1;9555:2;9535:18;;;9528:30;9594:34;9574:18;;;9567:62;-1:-1:-1;;;9645:18:1;;;9638:31;9686:19;;7107:66:0;9314:397:1;7107:66:0;7200:13;;-1:-1:-1;;;;;7192:21:0;;;7200:13;;7192:21;:55;;;;-1:-1:-1;7231:15:0;;-1:-1:-1;;;;;7217:30:0;;;7231:15;;7217:30;;7192:55;7188:619;;;7302:14;;7292:6;7276:13;7286:2;-1:-1:-1;;;;;5952:18:0;5925:7;5952:18;;;:9;:18;;;;;;;5859:119;7276:13;:22;;;;:::i;:::-;:40;;7268:79;;;;-1:-1:-1;;;7268:79:0;;10048:2:1;7268:79:0;;;10030:21:1;10087:2;10067:18;;;10060:30;10126:28;10106:18;;;10099:56;10172:18;;7268:79:0;9846:350:1;7268:79:0;7378:35;7409:3;7378:26;7389:14;;7378:6;:10;;:26;;;;:::i;:::-;:30;;:35::i;:::-;7366:47;;7188:619;;;7447:13;;-1:-1:-1;;;;;7447:13:0;;;7441:19;;;;7437:370;;7492:36;7524:3;7492:27;7503:15;;7492:6;:10;;:27;;;;:::i;:36::-;7596:4;7547:28;5952:18;;;:9;:18;;;;;;7626:6;;7480:48;;-1:-1:-1;5952:18:0;-1:-1:-1;;;7626:6:0;;;;7625:7;:30;;;;-1:-1:-1;7642:13:0;;-1:-1:-1;;;;;7636:19:0;;;7642:13;;7636:19;7625:30;7621:117;;;7680:38;7697:20;7680:16;:38::i;:::-;7461:292;7437:370;;;-1:-1:-1;7790:1:0;7437:370;7833:11;;7830:161;;7901:4;7883:24;;;;:9;:24;;;;;;:39;;7912:9;7883:28;:39::i;:::-;7876:4;7858:24;;;;:9;:24;;;;;;;:64;;;;7940:39;;-1:-1:-1;;;;;7940:39:0;;;;;;;7969:9;1822:25:1;;1810:2;1795:18;;1676:177;7940:39:0;;;;;;;;7830:161;-1:-1:-1;;;;;8017:15:0;;;;;;:9;:15;;;;;;:27;;8037:6;8017:19;:27::i;:::-;-1:-1:-1;;;;;8001:15:0;;;;;;:9;:15;;;;;:43;8069:40;8087:21;:6;8098:9;8087:10;:21::i;:::-;-1:-1:-1;;;;;8069:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8055:13:0;;;;;;;:9;:13;;;;;:54;;;;8125:41;;;8144:21;:6;8155:9;8144:10;:21::i;:::-;8125:41;;1822:25:1;;;1810:2;1795:18;8125:41:0;;;;;;;6724:1450;6655:1519;;;:::o;1305:190::-;1391:7;1427:12;1419:6;;;;1411:29;;;;-1:-1:-1;;;1411:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1451:9:0;1463:5;1467:1;1463;:5;:::i;:::-;1451:17;1305:190;-1:-1:-1;;;;;1305:190:0:o;8288:605::-;4467:6;:13;;-1:-1:-1;;;;4467:13:0;-1:-1:-1;;;4467:13:0;;;8366:27;;8385:7:::1;8366:27;8418:10;;8406:11;:22;8403:78;;;-1:-1:-1::0;8459:10:0::1;::::0;8403:78:::1;8515:16;::::0;;8529:1:::1;8515:16:::0;;;;;::::1;::::0;;8491:21:::1;::::0;8515:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8515:16:0::1;8491:40;;8560:4;8542;8547:1;8542:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8542:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8586:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8586:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8542:7;;8586:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8576:4;8581:1;8576:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8576:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8651:15:::1;::::0;8619:62:::1;::::0;8636:4:::1;::::0;8651:15:::1;8669:11:::0;8619:8:::1;:62::i;:::-;8692:15;::::0;8834:10:::1;::::0;;8692:193:::1;::::0;-1:-1:-1;;;8692:193:0;;-1:-1:-1;;;;;8692:15:0;;::::1;::::0;:66:::1;::::0;:193:::1;::::0;8773:11;;8692:15:::1;::::0;8815:4;;8834:10;::::1;::::0;8859:15:::1;::::0;8692:193:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8355:538;4491:1;-1:-1:-1::0;4503:6:0;:14;;-1:-1:-1;;;;4503:14:0;;;8288:605::o;8901:101::-;8966:10;;8958:36;;-1:-1:-1;;;;;8966:10:0;;;;8958:36;;;;;8987:6;;8966:10;8958:36;8966:10;8958:36;8987:6;8966:10;8958:36;;;;;;;;;;;;;;;;;;;1503:246;1561:7;1585:1;1590;1585:6;1581:47;;-1:-1:-1;1615:1:0;1608:8;;1581:47;1638:9;1650:5;1654:1;1650;:5;:::i;:::-;1638:17;-1:-1:-1;1683:1:0;1674:5;1678:1;1638:17;1674:5;:::i;:::-;:10;1666:56;;;;-1:-1:-1;;;1666:56:0;;12263:2:1;1666:56:0;;;12245:21:1;12302:2;12282:18;;;12275:30;12341:34;12321:18;;;12314:62;-1:-1:-1;;;12392:18:1;;;12385:31;12433:19;;1666:56:0;12061:397:1;1666:56:0;1740:1;1503:246;-1:-1:-1;;;1503:246:0:o;1757:132::-;1815:7;1842:39;1846:1;1849;1842:39;;;;;;;;;;;;;;;;;:3;:39::i;974:179::-;1032:7;;1064:5;1068:1;1064;:5;:::i;:::-;1052:17;;1093:1;1088;:6;;1080:46;;;;-1:-1:-1;;;1080:46:0;;12665:2:1;1080:46:0;;;12647:21:1;12704:2;12684:18;;;12677:30;12743:29;12723:18;;;12716:57;12790:18;;1080:46:0;12463:351:1;1161:136:0;1219:7;1246:43;1250:1;1253;1246:43;;;;;;;;;;;;;;;;;:3;:43::i;1897:189::-;1983:7;2018:12;2011:5;2003:28;;;;-1:-1:-1;;;2003:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2042:9:0;2054:5;2058:1;2054;: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;1215:456::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;1416:9;1403:23;1435:31;1460:5;1435:31;:::i;:::-;1485:5;-1:-1:-1;1542:2:1;1527:18;;1514:32;1555:33;1514:32;1555:33;:::i;:::-;1215:456;;1607:7;;-1:-1:-1;;;1661:2:1;1646:18;;;;1633:32;;1215:456::o;2047:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:1;;2047:180;-1:-1:-1;2047:180:1:o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3444:184::-;3514:6;3567:2;3555:9;3546:7;3542:23;3538:32;3535:52;;;3583:1;3580;3573:12;3535:52;-1:-1:-1;3606:16:1;;3444:184;-1:-1:-1;3444:184:1:o;4252:277::-;4319:6;4372:2;4360:9;4351:7;4347:23;4343:32;4340:52;;;4388:1;4385;4378:12;4340:52;4420:9;4414:16;4473:5;4466:13;4459:21;4452:5;4449:32;4439:60;;4495:1;4492;4485:12;4534:127;4595:10;4590:3;4586:20;4583:1;4576:31;4626:4;4623:1;4616:15;4650:4;4647:1;4640:15;4666:422;4755:1;4798:5;4755:1;4812:270;4833:7;4823:8;4820:21;4812:270;;;4892:4;4888:1;4884:6;4880:17;4874:4;4871:27;4868:53;;;4901:18;;:::i;:::-;4951:7;4941:8;4937:22;4934:55;;;4971:16;;;;4934:55;5050:22;;;;5010:15;;;;4812:270;;;4816:3;4666:422;;;;;:::o;5093:806::-;5142:5;5172:8;5162:80;;-1:-1:-1;5213:1:1;5227:5;;5162:80;5261:4;5251:76;;-1:-1:-1;5298:1:1;5312:5;;5251:76;5343:4;5361:1;5356:59;;;;5429:1;5424:130;;;;5336:218;;5356:59;5386:1;5377:10;;5400:5;;;5424:130;5461:3;5451:8;5448:17;5445:43;;;5468:18;;:::i;:::-;-1:-1:-1;;5524:1:1;5510:16;;5539:5;;5336:218;;5638:2;5628:8;5625:16;5619:3;5613:4;5610:13;5606:36;5600:2;5590:8;5587:16;5582:2;5576:4;5573:12;5569:35;5566:77;5563:159;;;-1:-1:-1;5675:19:1;;;5707:5;;5563:159;5754:34;5779:8;5773:4;5754:34;:::i;:::-;5824:6;5820:1;5816:6;5812:19;5803:7;5800:32;5797:58;;;5835:18;;:::i;:::-;5873:20;;5093:806;-1:-1:-1;;;5093:806:1:o;5904:140::-;5962:5;5991:47;6032:4;6022:8;6018:19;6012:4;5991:47;:::i;6049:168::-;6122:9;;;6153;;6170:15;;;6164:22;;6150:37;6140:71;;6191:18;;:::i;6222:356::-;6424:2;6406:21;;;6443:18;;;6436:30;6502:34;6497:2;6482:18;;6475:62;6569:2;6554:18;;6222:356::o;9716:125::-;9781:9;;;9802:10;;;9799:36;;;9815:18;;:::i;10201:128::-;10268:9;;;10289:11;;;10286:37;;;10303:18;;:::i;10466:127::-;10527:10;10522:3;10518:20;10515:1;10508:31;10558:4;10555:1;10548:15;10582:4;10579:1;10572:15;10598:251;10668:6;10721:2;10709:9;10700:7;10696:23;10692:32;10689:52;;;10737:1;10734;10727:12;10689:52;10769:9;10763:16;10788:31;10813:5;10788:31;:::i;10854:980::-;11116:4;11164:3;11153:9;11149:19;11195:6;11184:9;11177:25;11221:2;11259:6;11254:2;11243:9;11239:18;11232:34;11302:3;11297:2;11286:9;11282:18;11275:31;11326:6;11361;11355:13;11392:6;11384;11377:22;11430:3;11419:9;11415:19;11408:26;;11469:2;11461:6;11457:15;11443:29;;11490:1;11500:195;11514:6;11511:1;11508:13;11500:195;;;11579:13;;-1:-1:-1;;;;;11575:39:1;11563:52;;11670:15;;;;11635:12;;;;11611:1;11529:9;11500:195;;;-1:-1:-1;;;;;;;11751:32:1;;;;11746:2;11731:18;;11724:60;-1:-1:-1;;;11815:3:1;11800:19;11793:35;11712:3;10854:980;-1:-1:-1;;;10854:980:1:o;11839:217::-;11879:1;11905;11895:132;;11949:10;11944:3;11940:20;11937:1;11930:31;11984:4;11981:1;11974:15;12012:4;12009:1;12002:15;11895:132;-1:-1:-1;12041:9:1;;11839:217::o

Swarm Source

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