ETH Price: $2,068.89 (+6.04%)
 

Overview

Max Total Supply

1,000,000,000 Etherdog

Holders

179

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Token

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-04-10
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.20;

/*

TG:https://t.me/EtherDog_ERC20
X:https://x.com/etherdog_erc20/status/1910188759817273790?s=46
WEB:https://github.com/ethereum/devp2p

CA:0x2fD272DB83a5Ec5D4F0eFb53cB30C25740D3f0Fa

    
*/


interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

interface IUniswapRouter {

    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

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

interface IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public mkt;
    address payable private team;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    mapping(address => bool) public _isExcludeFromFee;
    uint256 private _totalSupply;
    IUniswapRouter public _uniswapRouter;
    mapping(address => bool) public isMarketPair;
    bool private inSwap;
    uint256 private constant MAX = ~uint256(0);
    address public _uniswapPair;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (){

        _name = "Ethereum Dog";
        _symbol = "Etherdog";

        _decimals = 18;
        uint256 Supply = 1_000_000_000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        mkt = payable(receiveAddr);
        team = payable(receiveAddr);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;
        _isExcludeFromFee[team] = true;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setMKT(
        address payable newMKT,
        address payable newTeam
    ) public onlyOwner{
        mkt = newMKT;
        team = newTeam;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=2;
    uint256 private _initialSellTax=2;
    uint256 private _finalBuyTax=30;
    uint256 private _finalSellTax=30;
    uint256 private _reduceBuyTaxAt=29;
    uint256 private _reduceSellTaxAt=29;
    uint256 private _preventSwapBefore=40;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
            }

        }

        _transferToken(from, to, amount, takeFee);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }


    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        require(startTradeBlock == 0, "already start");
        startTradeBlock = block.number;
    }

    function antiBotTrade() public onlyOwner{
        startTradeBlock = 0;
    }

    function removeERC20(address _token) external {
        require(msg.sender == mkt);
        IERC20(_token).transfer(mkt, IERC20(_token).balanceOf(address(this)));
        mkt.transfer(address(this).balance);
    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 _bal = address(this).balance;
        if (_bal > 0.01 ether){
            mkt.transfer(_bal/10);
            team.transfer(address(this).balance);
        }
    }

    function setMarketingFreeTrade(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"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":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"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":[],"name":"antiBotTrade","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"},{"internalType":"address payable","name":"newTeam","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setMarketingFreeTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f600d556002600e556002600f55601e601055601e601155601d601255601d6013556028601455348015610036575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600c81526b457468657265756d20446f6760a01b60208201526005906100a79082610529565b506040805180820190915260088152674574686572646f6760c01b60208201526006906100d49082610529565b506007805460ff19166012908117909155633b9aca00906100f690600a6106dc565b61010090826106f1565b600981905561011290614e2090610708565b601555600954335f81815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03199081166001600160a01b03848116918217845560048054841683178155305f818152600860209081526040808320805460ff1990811660019081179092559784528184208054891682179055985486168352808320805488168a179055845490951682528482208054909616909717909455600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d96168617905583526002855281832084845285528183205f199055815163c45a015560e01b8152915193949293859363c45a01559380840193919291908290030181865afa15801561024b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026f9190610727565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e19190610727565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561032b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034f9190610727565b600c8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481165f908152600b6020908152604091829020805460ff19166001179055600a5482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa1580156103cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f39190610727565b600a5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610442573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610466919061074d565b50506001600160a01b03165f908152600860205260409020805460ff191660011790555061076c9050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104b957607f821691505b6020821081036104d757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561052457805f5260205f20601f840160051c810160208510156105025750805b601f840160051c820191505b81811015610521575f815560010161050e565b50505b505050565b81516001600160401b0381111561054257610542610491565b6105568161055084546104a5565b846104dd565b6020601f821160018114610588575f83156105715750848201515b5f19600385901b1c1916600184901b178455610521565b5f84815260208120601f198516915b828110156105b75787850151825560209485019460019092019101610597565b50848210156105d457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561063257808504811115610616576106166105e3565b600184161561062457908102905b60019390931c9280026105fb565b935093915050565b5f82610648575060016106d6565b8161065457505f6106d6565b816001811461066a576002811461067457610690565b60019150506106d6565b60ff841115610685576106856105e3565b50506001821b6106d6565b5060208310610133831016604e8410600b84101617156106b3575081810a6106d6565b6106bf5f1984846105f7565b805f19048211156106d2576106d26105e3565b0290505b92915050565b5f6106ea60ff84168361063a565b9392505050565b80820281158282048414176106d6576106d66105e3565b5f8261072257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610737575f80fd5b81516001600160a01b03811681146106ea575f80fd5b5f6020828403121561075d575f80fd5b815180151581146106ea575f80fd5b6114f3806107795f395ff3fe60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061116d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046111b9565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111e3565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d2610285366004611221565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b3366004611221565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611243565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f661035136600461127a565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a3366004611221565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a36600461129e565b6107cc565b34801561044a575f80fd5b506101f6610459366004611221565b61081f565b348015610469575f80fd5b506101d26104783660046111b9565b610951565b348015610488575f80fd5b506101f66104973660046112d5565b61095d565b3480156104a7575f80fd5b506102086104b63660046112d5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa366004611221565b6109b4565b60606005805461050e90611301565b80601f016020809104026020016040519081016040528092919081815260200182805461053a90611301565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611339565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611378565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce90611339565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce90611339565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce90611339565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce90611339565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e90611301565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce90611339565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa919061138b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091691906113a2565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce90611339565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce90611339565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce5836113bd565b91905055505b610b4885858584610f82565b6001600160a01b0383165f90815260016020526040812080548391908390610d20908490611378565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113d5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113e8565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6591906113fc565b81600181518110610e7857610e786113e8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f90869030904290600401611417565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f73576003546001600160a01b03166108fc610f15600a84611487565b6040518115909202915f818181858888f19350505050158015610f3a573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f71573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610fa5908390611378565b6001600160a01b0385165f9081526001602052604081209190915581156110e0576001600160a01b0384165f908152600b602052604081205460ff161561100457601354600d5411610ff957600f54610ffd565b6011545b905061103e565b6001600160a01b0386165f908152600b602052604090205460ff161561103e57601254600d541161103757600e5461103b565b6010545b90505b5f606461104b83876114a6565b6110559190611487565b905080156110dd5761106781846113d5565b305f908152600160205260409020549093506110849082906113d5565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d49085815260200190565b60405180910390a35b50505b6110ea8184611378565b6001600160a01b0385165f9081526001602052604090205461110c91906113d5565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111558487611378565b60405190815260200160405180910390a35050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146111b6575f80fd5b50565b5f80604083850312156111ca575f80fd5b82356111d5816111a2565b946020939093013593505050565b5f805f606084860312156111f5575f80fd5b8335611200816111a2565b92506020840135611210816111a2565b929592945050506040919091013590565b5f60208284031215611231575f80fd5b813561123c816111a2565b9392505050565b5f805f805f60a08688031215611257575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6020828403121561128a575f80fd5b5035919050565b80151581146111b6575f80fd5b5f80604083850312156112af575f80fd5b82356112ba816111a2565b915060208301356112ca81611291565b809150509250929050565b5f80604083850312156112e6575f80fd5b82356112f1816111a2565b915060208301356112ca816111a2565b600181811c9082168061131557607f821691505b60208210810361133357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611364565b5f6020828403121561139b575f80fd5b5051919050565b5f602082840312156113b2575f80fd5b815161123c81611291565b5f600182016113ce576113ce611364565b5060010190565b8082018082111561059f5761059f611364565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561140c575f80fd5b815161123c816111a2565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156114675783516001600160a01b0316835260209384019390920191600101611440565b50506001600160a01b039590951660608401525050608001529392505050565b5f826114a157634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61136456fea26469706673582212207841b64b530d86023c9bd7559c12b84b2a121fada4e4abf00307c955afc3c28d64736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061017e575f3560e01c806365b61b77116100cd57806395d89b4111610087578063a9059cbb11610062578063a9059cbb1461045e578063d242fbcc1461047d578063dd62ed3e1461049c578063f2fde38b146104e0575f80fd5b806395d89b411461040c578063a266e55e14610420578063a67755c21461043f575f80fd5b806365b61b77146103565780636c5808011461037557806370a0823114610389578063715018a6146103bd5780637cc5b1e6146103d15780638da5cb5b146103f0575f80fd5b8063313ce567116101385780633f80b6d7116101135780633f80b6d7146102c75780634bf28fd0146102e6578063553193ca146103225780636402511e14610337575f80fd5b8063313ce5671461024a57806336b2e0271461026b5780633ecad27114610299575f80fd5b806306fdde0314610189578063095ea7b3146101b35780630c062020146101e257806318160ddd146101f857806323b872dd1461021657806327b1a8e914610235575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104ff565b6040516101aa919061116d565b60405180910390f35b3480156101be575f80fd5b506101d26101cd3660046111b9565b61058f565b60405190151581526020016101aa565b3480156101ed575f80fd5b506101f66105a5565b005b348015610203575f80fd5b506009545b6040519081526020016101aa565b348015610221575f80fd5b506101d26102303660046111e3565b6105dd565b348015610240575f80fd5b50610208600d5481565b348015610255575f80fd5b5060075460405160ff90911681526020016101aa565b348015610276575f80fd5b506101d2610285366004611221565b60086020525f908152604090205460ff1681565b3480156102a4575f80fd5b506101d26102b3366004611221565b600b6020525f908152604090205460ff1681565b3480156102d2575f80fd5b506101f66102e1366004611243565b61066f565b3480156102f1575f80fd5b50600c5461030a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101aa565b34801561032d575f80fd5b5061020860165481565b348015610342575f80fd5b506101f661035136600461127a565b6106af565b348015610361575f80fd5b50600a5461030a906001600160a01b031681565b348015610380575f80fd5b506101f66106dd565b348015610394575f80fd5b506102086103a3366004611221565b6001600160a01b03165f9081526001602052604090205490565b3480156103c8575f80fd5b506101f661074c565b3480156103dc575f80fd5b5060035461030a906001600160a01b031681565b3480156103fb575f80fd5b505f546001600160a01b031661030a565b348015610417575f80fd5b5061019d6107bd565b34801561042b575f80fd5b506101f661043a36600461129e565b6107cc565b34801561044a575f80fd5b506101f6610459366004611221565b61081f565b348015610469575f80fd5b506101d26104783660046111b9565b610951565b348015610488575f80fd5b506101f66104973660046112d5565b61095d565b3480156104a7575f80fd5b506102086104b63660046112d5565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104eb575f80fd5b506101f66104fa366004611221565b6109b4565b60606005805461050e90611301565b80601f016020809104026020016040519081016040528092919081815260200182805461053a90611301565b80156105855780601f1061055c57610100808354040283529160200191610585565b820191905f5260205f20905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b5f61059b338484610a77565b5060015b92915050565b5f546001600160a01b031633146105d75760405162461bcd60e51b81526004016105ce90611339565b60405180910390fd5b5f601655565b5f6105e9848484610ad7565b6001600160a01b0384165f9081526002602090815260408083203384529091529020545f1914610665576001600160a01b0384165f908152600260209081526040808320338452909152902054610641908390611378565b6001600160a01b0385165f9081526002602090815260408083203384529091529020555b5060019392505050565b5f546001600160a01b031633146106985760405162461bcd60e51b81526004016105ce90611339565b601094909455601192909255601255601355601455565b5f546001600160a01b031633146106d85760405162461bcd60e51b81526004016105ce90611339565b601555565b5f546001600160a01b031633146107065760405162461bcd60e51b81526004016105ce90611339565b601654156107465760405162461bcd60e51b815260206004820152600d60248201526c185b1c9958591e481cdd185c9d609a1b60448201526064016105ce565b43601655565b5f546001600160a01b031633146107755760405162461bcd60e51b81526004016105ce90611339565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60606006805461050e90611301565b5f546001600160a01b031633146107f55760405162461bcd60e51b81526004016105ce90611339565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b6003546001600160a01b03163314610835575f80fd5b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108aa919061138b565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156108f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091691906113a2565b506003546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561094d573d5f803e3d5ffd5b5050565b5f61059b338484610ad7565b5f546001600160a01b031633146109865760405162461bcd60e51b81526004016105ce90611339565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b5f546001600160a01b031633146109dd5760405162461bcd60e51b81526004016105ce90611339565b6001600160a01b038116610a1e5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105ce565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604090205481811015610b325760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105ce565b600c5460ff1615610b4f57610b48848484610cf7565b5050505050565b6001600160a01b0383165f908152600b602052604081205460ff168015610b795750600c5460ff16155b8015610b9d57506001600160a01b0385165f9081526008602052604090205460ff16155b8015610bc157506001600160a01b0384165f9081526008602052604090205460ff16155b8015610bd05750601454600d54115b15610c1357305f908152600160205260409020548390811115610bfe5750305f908152600160205260409020545b601554811115610c1157610c1181610daa565b505b6001600160a01b0385165f9081526008602052604090205460ff16158015610c5357506001600160a01b0384165f9081526008602052604090205460ff16155b8015610c625750600c5460ff16155b15610ceb575f60165411610c74575f80fd5b506001600160a01b0384165f908152600b602052604090205460019060ff168015610cad5750600a546001600160a01b03858116911614155b8015610cd157506001600160a01b0384165f9081526008602052604090205460ff16155b15610ceb57600d8054905f610ce5836113bd565b91905055505b610b4885858584610f82565b6001600160a01b0383165f90815260016020526040812080548391908390610d20908490611378565b90915550506001600160a01b0383165f9081526001602052604081208054849290610d4c9084906113d5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9891815260200190565b60405180910390a35060019392505050565b600c805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dea57610dea6113e8565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6591906113fc565b81600181518110610e7857610e786113e8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac94790610ebd9085905f90869030904290600401611417565b5f604051808303815f87803b158015610ed4575f80fd5b505af1158015610ee6573d5f803e3d5ffd5b504792505050662386f26fc10000811115610f73576003546001600160a01b03166108fc610f15600a84611487565b6040518115909202915f818181858888f19350505050158015610f3a573d5f803e3d5ffd5b506004546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f71573d5f803e3d5ffd5b505b5050600c805460ff1916905550565b6001600160a01b0384165f90815260016020526040902054610fa5908390611378565b6001600160a01b0385165f9081526001602052604081209190915581156110e0576001600160a01b0384165f908152600b602052604081205460ff161561100457601354600d5411610ff957600f54610ffd565b6011545b905061103e565b6001600160a01b0386165f908152600b602052604090205460ff161561103e57601254600d541161103757600e5461103b565b6010545b90505b5f606461104b83876114a6565b6110559190611487565b905080156110dd5761106781846113d5565b305f908152600160205260409020549093506110849082906113d5565b305f81815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d49085815260200190565b60405180910390a35b50505b6110ea8184611378565b6001600160a01b0385165f9081526001602052604090205461110c91906113d5565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111558487611378565b60405190815260200160405180910390a35050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146111b6575f80fd5b50565b5f80604083850312156111ca575f80fd5b82356111d5816111a2565b946020939093013593505050565b5f805f606084860312156111f5575f80fd5b8335611200816111a2565b92506020840135611210816111a2565b929592945050506040919091013590565b5f60208284031215611231575f80fd5b813561123c816111a2565b9392505050565b5f805f805f60a08688031215611257575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b5f6020828403121561128a575f80fd5b5035919050565b80151581146111b6575f80fd5b5f80604083850312156112af575f80fd5b82356112ba816111a2565b915060208301356112ca81611291565b809150509250929050565b5f80604083850312156112e6575f80fd5b82356112f1816111a2565b915060208301356112ca816111a2565b600181811c9082168061131557607f821691505b60208210810361133357634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561059f5761059f611364565b5f6020828403121561139b575f80fd5b5051919050565b5f602082840312156113b2575f80fd5b815161123c81611291565b5f600182016113ce576113ce611364565b5060010190565b8082018082111561059f5761059f611364565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561140c575f80fd5b815161123c816111a2565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156114675783516001600160a01b0316835260209384019390920191600101611440565b50506001600160a01b039590951660608401525050608001529392505050565b5f826114a157634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761059f5761059f61136456fea26469706673582212207841b64b530d86023c9bd7559c12b84b2a121fada4e4abf00307c955afc3c28d64736f6c634300081a0033

Deployed Bytecode Sourcemap

3213:8367:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5479:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6242:159;;;;;;;;;;-1:-1:-1;6242:159:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;6242:159:0;945:187:1;10505:78:0;;;;;;;;;;;;;:::i;:::-;;5683:100;;;;;;;;;;-1:-1:-1;5763:12:0;;5683:100;;;1283:25:1;;;1271:2;1256:18;5683:100:0;1137:177:1;6409:336:0;;;;;;;;;;-1:-1:-1;6409:336:0;;;;;:::i;:::-;;:::i;7205:26::-;;;;;;;;;;;;;;;;5581:94;;;;;;;;;;-1:-1:-1;5658:9:0;;5581:94;;5658:9;;;;1974:36:1;;1962:2;1947:18;5581:94:0;1832:184:1;3536:49:0;;;;;;;;;;-1:-1:-1;3536:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3670:44;;;;;;;;;;-1:-1:-1;3670:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7523:406;;;;;;;;;;-1:-1:-1;7523:406:0;;;;;:::i;:::-;;:::i;3796:27::-;;;;;;;;;;-1:-1:-1;3796:27:0;;;;;;;-1:-1:-1;;;;;3796:27:0;;;;;;-1:-1:-1;;;;;3150:32:1;;;3132:51;;3120:2;3105:18;3796:27:0;2986:203:1;10315:30:0;;;;;;;;;;;;;;;;7964:117;;;;;;;;;;-1:-1:-1;7964:117:0;;;;;:::i;:::-;;:::i;3627:36::-;;;;;;;;;;-1:-1:-1;3627:36:0;;;;-1:-1:-1;;;;;3627:36:0;;;10352:145;;;;;;;;;;;;;:::i;5791:119::-;;;;;;;;;;-1:-1:-1;5791:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5884:18:0;5857:7;5884:18;;;:9;:18;;;;;;;5791:119;2836:148;;;;;;;;;;;;;:::i;3382:26::-;;;;;;;;;;-1:-1:-1;3382:26:0;;;;-1:-1:-1;;;;;3382:26:0;;;2639:79;;;;;;;;;;-1:-1:-1;2677:7:0;2704:6;-1:-1:-1;;;;;2704:6:0;2639:79;;5373:98;;;;;;;;;;;;;:::i;11411:129::-;;;;;;;;;;-1:-1:-1;11411:129:0;;;;;:::i;:::-;;:::i;10591:217::-;;;;;;;;;;-1:-1:-1;10591:217:0;;;;;:::i;:::-;;:::i;5918:165::-;;;;;;;;;;-1:-1:-1;5918:165:0;;;;;:::i;:::-;;:::i;5203:162::-;;;;;;;;;;-1:-1:-1;5203:162:0;;;;;:::i;:::-;;:::i;6091:143::-;;;;;;;;;;-1:-1:-1;6091:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6199:18:0;;;6172:7;6199:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6091:143;2992:214;;;;;;;;;;-1:-1:-1;2992:214:0;;;;;:::i;:::-;;:::i;5479:94::-;5527:13;5560:5;5553:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5479:94;:::o;6242:159::-;6317:4;6334:37;6343:10;6355:7;6364:6;6334:8;:37::i;:::-;-1:-1:-1;6389:4:0;6242:159;;;;;:::o;10505:78::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;;;;;;;;;10574:1:::1;10556:15;:19:::0;10505:78::o;6409:336::-;6507:4;6524:36;6534:6;6542:9;6553:6;6524:9;:36::i;:::-;-1:-1:-1;;;;;6575:19:0;;3787:1;6575:19;;;:11;:19;;;;;;;;6595:10;6575:31;;;;;;;;-1:-1:-1;;6575:38:0;6571:145;;-1:-1:-1;;;;;6664:19:0;;;;;;:11;:19;;;;;;;;6684:10;6664:31;;;;;;;;:40;;6698:6;;6664:40;:::i;:::-;-1:-1:-1;;;;;6630:19:0;;;;;;:11;:19;;;;;;;;6650:10;6630:31;;;;;;;:74;6571:145;-1:-1:-1;6733:4:0;6409:336;;;;;:::o;7523:406::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;7730:12:::1;:21:::0;;;;7762:13:::1;:23:::0;;;;7796:15:::1;:30:::0;7837:16:::1;:32:::0;7880:18:::1;:41:::0;7523:406::o;7964:117::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;8050:12:::1;:23:::0;7964:117::o;10352:145::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;10410:15:::1;::::0;:20;10402:46:::1;;;::::0;-1:-1:-1;;;10402:46:0;;6389:2:1;10402:46:0::1;::::0;::::1;6371:21:1::0;6428:2;6408:18;;;6401:30;-1:-1:-1;;;6447:18:1;;;6440:43;6500:18;;10402:46:0::1;6187:337:1::0;10402:46:0::1;10477:12;10459:15;:30:::0;10352:145::o;2836:148::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;2943:1:::1;2927:6:::0;;2906:40:::1;::::0;-1:-1:-1;;;;;2927:6:0;;::::1;::::0;2906:40:::1;::::0;2943:1;;2906:40:::1;2974:1;2957:19:::0;;-1:-1:-1;;;;;;2957:19:0::1;::::0;;2836:148::o;5373:98::-;5423:13;5456:7;5449:14;;;;;:::i;11411:129::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11498:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11498:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11411:129::o;10591:217::-;10670:3;;-1:-1:-1;;;;;10670:3:0;10656:10;:17;10648:26;;;;;;10709:3;;10714:39;;-1:-1:-1;;;10714:39:0;;10747:4;10714:39;;;3132:51:1;-1:-1:-1;;;;;10685:23:0;;;;;;10709:3;;;10685:23;;10714:24;;3105:18:1;;10714:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10685:69;;-1:-1:-1;;;;;;10685:69:0;;;;;;;-1:-1:-1;;;;;6918:32:1;;;10685:69:0;;;6900:51:1;6967:18;;;6960:34;6873:18;;10685:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10765:3:0;;:35;;-1:-1:-1;;;;;10765:3:0;;;;10778:21;10765:35;;;;;:3;:35;:3;:35;10778:21;10765:3;:35;;;;;;;;;;;;;;;;;;;;;10591:217;:::o;5918:165::-;5996:4;6013:40;6023:10;6035:9;6046:6;6013:9;:40::i;5203:162::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;5320:3:::1;:12:::0;;-1:-1:-1;;;;;5320:12:0;;::::1;-1:-1:-1::0;;;;;;5320:12:0;;::::1;;::::0;;;5343:4:::1;:14:::0;;;;;::::1;::::0;::::1;;::::0;;5203:162::o;2992:214::-;2766:6;;-1:-1:-1;;;;;2766:6:0;2776:10;2766:20;2758:50;;;;-1:-1:-1;;;2758:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3081:22:0;::::1;3073:43;;;::::0;-1:-1:-1;;;3073:43:0;;7457:2:1;3073:43:0::1;::::0;::::1;7439:21:1::0;7496:1;7476:18;;;7469:29;-1:-1:-1;;;7514:18:1;;;7507:38;7562:18;;3073:43:0::1;7255:331:1::0;3073:43:0::1;3153:6;::::0;;3132:38:::1;::::0;-1:-1:-1;;;;;3132:38:0;;::::1;::::0;3153:6;::::1;::::0;3132:38:::1;::::0;::::1;3181:6;:17:::0;;-1:-1:-1;;;;;;3181:17:0::1;-1:-1:-1::0;;;;;3181:17:0;;;::::1;::::0;;;::::1;::::0;;2992:214::o;6753:177::-;-1:-1:-1;;;;;6838:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6890:32;;1283:25:1;;;6890:32:0;;1256:18:1;6890:32:0;;;;;;;6753:177;;;:::o;8089:1177::-;-1:-1:-1;;;;;5884:18:0;;8203:15;5884:18;;;:9;:18;;;;;;8255:17;;;;8247:46;;;;-1:-1:-1;;;8247:46:0;;7793:2:1;8247:46:0;;;7775:21:1;7832:2;7812:18;;;7805:30;-1:-1:-1;;;7851:18:1;;;7844:46;7907:18;;8247:46:0;7591:340:1;8247:46:0;8310:6;;;;8306:91;;;8332:32;8347:4;8353:2;8357:6;8332:14;:32::i;:::-;;8379:7;8089:1177;;;:::o;8306:91::-;-1:-1:-1;;;;;8438:16:0;;8409:12;8438:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8459:6:0;;;;8458:7;8438:27;:55;;;;-1:-1:-1;;;;;;8470:23:0;;;;;;:17;:23;;;;;;;;8469:24;8438:55;:81;;;;-1:-1:-1;;;;;;8498:21:0;;;;;;:17;:21;;;;;;;;8497:22;8438:81;:115;;;;;8535:18;;8523:9;;:30;8438:115;8434:424;;;8653:4;5857:7;5884:18;;;:9;:18;;;;;;8594:6;;8619:13;:40;8615:120;;;-1:-1:-1;8713:4:0;8695:24;;;;:9;:24;;;;;;8615:120;8769:12;;8753:13;:28;8749:98;;;8801:30;8817:13;8801:15;:30::i;:::-;8555:303;8434:424;-1:-1:-1;;;;;8875:23:0;;;;;;:17;:23;;;;;;;;8874:24;:50;;;;-1:-1:-1;;;;;;8903:21:0;;;;;;:17;:21;;;;;;;;8902:22;8874:50;:61;;;;-1:-1:-1;8929:6:0;;;;8928:7;8874:61;8870:335;;;8978:1;8960:15;;:19;8952:28;;;;;;-1:-1:-1;;;;;;9067:18:0;;;;;;:12;:18;;;;;;9005:4;;9067:18;;:51;;;;-1:-1:-1;9103:14:0;;-1:-1:-1;;;;;9089:29:0;;;9103:14;;9089:29;;9067:51;:77;;;;-1:-1:-1;;;;;;9123:21:0;;;;;;:17;:21;;;;;;;;9122:22;9067:77;9063:129;;;9165:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9063:129;9217:41;9232:4;9238:2;9242:6;9250:7;9217:14;:41::i;6938:259::-;-1:-1:-1;;;;;7048:17:0;;7031:4;7048:17;;;:9;:17;;;;;:27;;7069:6;;7048:17;7031:4;;7048:27;;7069:6;;7048:27;:::i;:::-;;;;-1:-1:-1;;;;;;;7086:20:0;;;;;;:9;:20;;;;;:30;;7110:6;;7086:20;:30;;7110:6;;7086:30;:::i;:::-;;;;;;;;7149:9;-1:-1:-1;;;;;7132:35:0;7141:6;-1:-1:-1;;;;;7132:35:0;;7160:6;7132:35;;;;1283:25:1;;1271:2;1256:18;;1137:177;7132:35:0;;;;;;;;-1:-1:-1;7185:4:0;6938:259;;;;;:::o;10816:587::-;3862:6;:13;;-1:-1:-1;;3862:13:0;3871:4;3862:13;;;10917:16:::1;::::0;;10931:1:::1;10917:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10917:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10917:16:0::1;10893:40;;10962:4;10944;10949:1;10944:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10944:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10988:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10988:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10944:7;;10988:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10978:4;10983:1;10978:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10978:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11020:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11020:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11100:11;;11020:14:::1;::::0;11142:4;;11169::::1;::::0;11189:15:::1;::::0;11020:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11243:21:0::1;::::0;-1:-1:-1;;;11286:10:0::1;11279:17:::0;::::1;11275:121;;;11312:3;::::0;-1:-1:-1;;;;;11312:3:0::1;:21;11325:7;11330:2;11325:4:::0;:7:::1;:::i;:::-;11312:21;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11348:4:0::1;::::0;:36:::1;::::0;-1:-1:-1;;;;;11348:4:0;;::::1;::::0;11362:21:::1;11348:36:::0;::::1;;;::::0;:4:::1;:36:::0;:4;:36;11362:21;11348:4;:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11275:121;-1:-1:-1::0;;3898:6:0;:14;;-1:-1:-1;;3898:14:0;;;-1:-1:-1;10816:587:0:o;9274:1031::-;-1:-1:-1;;;;;9446:17:0;;;;;;:9;:17;;;;;;:27;;9466:7;;9446:27;:::i;:::-;-1:-1:-1;;;;;9426:17:0;;;;;;:9;:17;;;;;:47;;;;9514:638;;;;-1:-1:-1;;;;;9575:23:0;;9542:14;9575:23;;;:12;:23;;;;;;;;9571:270;;;9640:16;;9628:9;;:28;:62;;9675:15;;9628:62;;;9659:13;;9628:62;9619:71;;9571:270;;;-1:-1:-1;;;;;9716:20:0;;;;;;:12;:20;;;;;;;;9712:129;;;9778:15;;9766:9;;:27;:59;;9811:14;;9766:59;;;9796:12;;9766:59;9757:68;;9712:129;9855:18;9895:3;9876:16;9886:6;9876:7;:16;:::i;:::-;:22;;;;:::i;:::-;9855:43;-1:-1:-1;9917:14:0;;9913:228;;9952:23;9965:10;9952:23;;:::i;:::-;10039:4;10021:24;;;;:9;:24;;;;;;9952:23;;-1:-1:-1;10021:37:0;;10048:10;;10021:37;:::i;:::-;10012:4;9994:24;;;;:9;:24;;;;;;;:64;;;;10082:43;;-1:-1:-1;;;;;10082:43:0;;;;;;;10114:10;1283:25:1;;1271:2;1256:18;;1137:177;10082:43:0;;;;;;;;9913:228;9527:625;;9514:638;10211:19;10221:9;10211:7;:19;:::i;:::-;-1:-1:-1;;;;;10187:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10164:20:0;;;;;;;:9;:20;;;;;:67;;;;10247:48;;;10275:19;10285:9;10275:7;:19;:::i;:::-;10247:48;;1283:25:1;;;1271:2;1256:18;10247:48:0;;;;;;;9415:890;9274:1031;;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:367::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:247::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;2188:9;2175:23;2207:31;2232:5;2207:31;:::i;:::-;2257:5;2021:247;-1:-1:-1;;;2021:247:1:o;2273:708::-;2368:6;2376;2384;2392;2400;2453:3;2441:9;2432:7;2428:23;2424:33;2421:53;;;2470:1;2467;2460:12;2421:53;-1:-1:-1;;2515:23:1;;;2635:2;2620:18;;2607:32;;-1:-1:-1;2738:2:1;2723:18;;2710:32;;2841:2;2826:18;;2813:32;;-1:-1:-1;2944:3:1;2929:19;2916:33;;-1:-1:-1;2273:708:1;-1:-1:-1;2273:708:1:o;3194:226::-;3253:6;3306:2;3294:9;3285:7;3281:23;3277:32;3274:52;;;3322:1;3319;3312:12;3274:52;-1:-1:-1;3367:23:1;;3194:226;-1:-1:-1;3194:226:1:o;3879:118::-;3965:5;3958:13;3951:21;3944:5;3941:32;3931:60;;3987:1;3984;3977:12;4002:382;4067:6;4075;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4183:9;4170:23;4202:31;4227:5;4202:31;:::i;:::-;4252:5;-1:-1:-1;4309:2:1;4294:18;;4281:32;4322:30;4281:32;4322:30;:::i;:::-;4371:7;4361:17;;;4002:382;;;;;:::o;4389:404::-;4473:6;4481;4534:2;4522:9;4513:7;4509:23;4505:32;4502:52;;;4550:1;4547;4540:12;4502:52;4589:9;4576:23;4608:31;4633:5;4608:31;:::i;:::-;4658:5;-1:-1:-1;4715:2:1;4700:18;;4687:32;4728:33;4687:32;4728:33;:::i;5191:380::-;5270:1;5266:12;;;;5313;;;5334:61;;5388:4;5380:6;5376:17;5366:27;;5334:61;5441:2;5433:6;5430:14;5410:18;5407:38;5404:161;;5487:10;5482:3;5478:20;5475:1;5468:31;5522:4;5519:1;5512:15;5550:4;5547:1;5540:15;5404:161;;5191:380;;;:::o;5576:341::-;5778:2;5760:21;;;5817:2;5797:18;;;5790:30;-1:-1:-1;;;5851:2:1;5836:18;;5829:47;5908:2;5893:18;;5576:341::o;5922:127::-;5983:10;5978:3;5974:20;5971:1;5964:31;6014:4;6011:1;6004:15;6038:4;6035:1;6028:15;6054:128;6121:9;;;6142:11;;;6139:37;;;6156:18;;:::i;6529:184::-;6599:6;6652:2;6640:9;6631:7;6627:23;6623:32;6620:52;;;6668:1;6665;6658:12;6620:52;-1:-1:-1;6691:16:1;;6529:184;-1:-1:-1;6529:184:1:o;7005:245::-;7072:6;7125:2;7113:9;7104:7;7100:23;7096:32;7093:52;;;7141:1;7138;7131:12;7093:52;7173:9;7167:16;7192:28;7214:5;7192:28;:::i;7936:135::-;7975:3;7996:17;;;7993:43;;8016:18;;:::i;:::-;-1:-1:-1;8063:1:1;8052:13;;7936:135::o;8076:125::-;8141:9;;;8162:10;;;8159:36;;;8175:18;;:::i;8338:127::-;8399:10;8394:3;8390:20;8387:1;8380:31;8430:4;8427:1;8420:15;8454:4;8451:1;8444:15;8470:251;8540:6;8593:2;8581:9;8572:7;8568:23;8564:32;8561:52;;;8609:1;8606;8599:12;8561:52;8641:9;8635:16;8660:31;8685:5;8660:31;:::i;8726:959::-;8988:4;9036:3;9025:9;9021:19;9067:6;9056:9;9049:25;9110:6;9105:2;9094:9;9090:18;9083:34;9153:3;9148:2;9137:9;9133:18;9126:31;9177:6;9212;9206:13;9243:6;9235;9228:22;9281:3;9270:9;9266:19;9259:26;;9320:2;9312:6;9308:15;9294:29;;9341:1;9351:195;9365:6;9362:1;9359:13;9351:195;;;9430:13;;-1:-1:-1;;;;;9426:39:1;9414:52;;9495:2;9521:15;;;;9486:12;;;;9462:1;9380:9;9351:195;;;-1:-1:-1;;;;;;;9602:32:1;;;;9597:2;9582:18;;9575:60;-1:-1:-1;;9666:3:1;9651:19;9644:35;9563:3;8726:959;-1:-1:-1;;;8726:959:1:o;9690:217::-;9730:1;9756;9746:132;;9800:10;9795:3;9791:20;9788:1;9781:31;9835:4;9832:1;9825:15;9863:4;9860:1;9853:15;9746:132;-1:-1:-1;9892:9:1;;9690:217::o;9912:168::-;9985:9;;;10016;;10033:15;;;10027:22;;10013:37;10003:71;;10054:18;;:::i

Swarm Source

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