ETH Price: $2,479.29 (+1.65%)

Token

HDLE (HDLE)
 

Overview

Max Total Supply

1,000,000,000 HDLE

Holders

90

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
11,778,091.235445752 HDLE

Value
$0.00
0x38ff8bf78f9a674b2b450a094afb51d7d9f8dead
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:
HDLE

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-14
*/

// SPDX-License-Identifier: Unlicensed

/**
The Hdle protocols and DAO compose a decentralized organization that builds financial infrastructure for Web3.
Building the #DeFi yield automation infrastructure for next-gen financial players.

Web: https://hdle.pro
App: https://app.hdle.pro
Tg: https://t.me/hdle_official
X: https://twitter.com/HdleFinance
 */

pragma solidity = 0.8.21;

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

abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address lpPairAddress, uint);
    function getPair(address tokenA, address tokenB) external view returns (address lpPairAddress);
    function createPair(address tokenA, address tokenB) external returns (address lpPairAddress);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapRouterV1 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapRouterV2 is IUniswapRouterV1 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

contract HDLE is Context, Ownable, IERC20 {

    string constant private _name = "HDLE";
    string constant private _symbol = "HDLE";
    uint8 constant private _decimals = 9;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address public lpPairAddress;
    bool public tradeStarted = false;
    bool private swapping;
    bool private maxTxDisabled = false;

    IUniswapRouterV2 public uniswapRouter;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public swapTaxAt = _totalSupply / 100_000;
    uint256 public buyTaxFee = 110;
    uint256 public sellTaxFee = 110;
    uint256 constant public transferTax = 0;
    uint256 constant public feeDen = 1_000;
    uint256 private maxTransaction = 25 * _totalSupply / 1000;
    bool private taxFeeEnabled = true;
    address payable private taxAddress;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private feeExcludes;
    mapping (address => bool) private lpAdder;
    mapping (address => bool) private checkIfPair;
    mapping (address => uint256) private balance;

        modifier inSwapFlag {
        swapping = true;
        _;
        swapping = false;
    }
    event SwapAndLiquify();


    constructor () {
        if (block.chainid == 56) {
            uniswapRouter = IUniswapRouterV2(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            uniswapRouter = IUniswapRouterV2(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 42161) {
            uniswapRouter = IUniswapRouterV2(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        } else if (block.chainid == 5) {
            uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else {
            revert("Chain not valid");
        }
        feeExcludes[msg.sender] = true;
        taxAddress = payable(address(0xd55ED3FBa27476aE2b9CA45d38d211d7D51c33f5));
        feeExcludes[taxAddress] = true;
        lpAdder[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        lpPairAddress = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        checkIfPair[lpPairAddress] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }

    function stopLimits() external onlyOwner {
        require(!maxTxDisabled,"Already initalized");
        maxTransaction = _totalSupply;
        maxTxDisabled = true;
        buyTaxFee = 10;
        sellTaxFee = 10;
    }

    receive() external payable {}
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function isExcludedAddress(address ins, address out) internal view returns (bool) {

        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !lpAdder[ins]  && !lpAdder[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function isTokenBuy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !checkIfPair[out] && checkIfPair[ins];
        return _is_buy;
    }

    function isTokenSell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = checkIfPair[out] && !checkIfPair[ins];
        return _is_sell;
    }

    function isTokenTransfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !checkIfPair[out] && !checkIfPair[ins];
        return _is_transfer;
    }

    function shouldSwap(address ins) internal view returns (bool) {
        bool canswap = taxFeeEnabled && !feeExcludes[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (isExcludedAddress(from,to)) {
            require(tradeStarted,"Trading is not enabled");
                    if(!checkIfPair[to] && from != address(this) && to != address(this) || isTokenTransfer(from,to) && !maxTxDisabled)  { require(balanceOf(to) + amount <= maxTransaction,"maxTransaction exceed"); }}


        if(isTokenSell(from, to) &&  !swapping && shouldSwap(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= swapTaxAt) { 
                if(amount > swapTaxAt) swapBack(tokenAmount);
             }
        }

        if (feeExcludes[from] || feeExcludes[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? amountsToReceiver(from, isTokenBuy(from, to), isTokenSell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!tradeStarted ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;

    }

    function amountsToReceiver(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = buyTaxFee;  else if (issell)  fee = sellTaxFee;  else  fee = transferTax; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / feeDen;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }

    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

        if (_allowances[address(this)][address(uniswapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(uniswapRouter)] = type(uint256).max;
        }

        try uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if(address(this).balance > 0) taxAddress.transfer(address(this).balance);
    } 

    function start() external onlyOwner {
        require(!tradeStarted, "Trading already enabled");
        tradeStarted = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"buyTaxFee","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":"feeDen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradeStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[],"name":"transferTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001805462ff00ff60a01b19169055606e60038190556004556103e862000035670de0b6b3a7640000601962000575565b6200004191906200059f565b6005556006805460ff191660011790553480156200005d575f80fd5b5062000069336200045f565b466038036200009e57600280546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e179055620001cb565b46606103620000d357600280546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d1179055620001cb565b4660011480620000e35750466004145b80620000ef5750466003145b156200012157600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001cb565b4661a4b1036200015757600280546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b47997506179055620001cb565b466005036200018c57600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620001cb565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b335f8181526008602090815260408083208054600160ff19918216811790925560068054610100600160a81b03191674d55ed3fba27476ae2b9ca45d38d211d7d51c33f50017908190556001600160a01b0361010090910416855282852080548216831790558585526009845282852080549091169091179055600b8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360025f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002da573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003009190620005bf565b6001600160a01b031663c9c6539660025f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003859190620005bf565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af1158015620003cf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003f59190620005bf565b600180546001600160a01b0319166001600160a01b0392831690811782555f908152600a60205260409020805460ff191690911790556002546200043e913391165f19620004ae565b600254620004599030906001600160a01b03165f19620004ae565b620005ee565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620004fc5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401620001c2565b6001600160a01b0382166200054a5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401620001c2565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b80820281158282048414176200059957634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620005ba57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620005d0575f80fd5b81516001600160a01b0381168114620005e7575f80fd5b9392505050565b61139d80620005fc5f395ff3fe608060405260043610610164575f3560e01c8063735de9f7116100cd57806395d89b4111610087578063be9a655511610062578063be9a6555146103c3578063dd62ed3e146103d7578063f2fde38b1461041b578063f8a25a941461043a575f80fd5b806395d89b41146101c0578063a9059cbb14610390578063b8fc1cc3146103af575f80fd5b8063735de9f7146103185780638124f7ac14610337578063893d20e81461034a5780638da5cb5b1461034a578063941abdc114610366578063941fa5cd1461037b575f80fd5b806329d42dbd1161011e57806329d42dbd14610264578063313ce567146102845780633eaaf86b1461029f57806355cd7db2146102ba57806370a08231146102ce578063715018a614610302575f80fd5b806303fd2a451461016f57806304d2be77146101a157806306fdde03146101c0578063095ea7b3146101f257806318160ddd1461022157806323b872dd14610245575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50600154610184906001600160a01b031681565b3480156101cb575f80fd5b50604080518082018252600481526348444c4560e01b60208201529051610198919061110b565b3480156101fd575f80fd5b5061021161020c36600461116a565b61044f565b6040519015158152602001610198565b34801561022c575f80fd5b50670de0b6b3a76400005b604051908152602001610198565b348015610250575f80fd5b5061021161025f366004611194565b610465565b34801561026f575f80fd5b5060015461021190600160a01b900460ff1681565b34801561028f575f80fd5b5060405160098152602001610198565b3480156102aa575f80fd5b50610237670de0b6b3a764000081565b3480156102c5575f80fd5b506102376104da565b3480156102d9575f80fd5b506102376102e83660046111d2565b6001600160a01b03165f908152600b602052604090205490565b34801561030d575f80fd5b506103166104f2565b005b348015610323575f80fd5b50600254610184906001600160a01b031681565b348015610342575f80fd5b506102375f81565b348015610355575f80fd5b505f546001600160a01b0316610184565b348015610371575f80fd5b506102376103e881565b348015610386575f80fd5b5061023760035481565b34801561039b575f80fd5b506102116103aa36600461116a565b61052f565b3480156103ba575f80fd5b50610316610545565b3480156103ce575f80fd5b506103166105e8565b3480156103e2575f80fd5b506102376103f13660046111ed565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610426575f80fd5b506103166104353660046111d2565b610680565b348015610445575f80fd5b5061023760045481565b5f61045b33848461071a565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146104c7576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104c1908490611238565b90915550505b6104d28484846107dd565b949350505050565b6104ef620186a0670de0b6b3a764000061124b565b81565b5f546001600160a01b031633146105245760405162461bcd60e51b815260040161051b9061126a565b60405180910390fd5b61052d5f610c21565b565b5f61053b3384846107dd565b5060019392505050565b5f546001600160a01b0316331461056e5760405162461bcd60e51b815260040161051b9061126a565b600154600160b01b900460ff16156105bd5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b604482015260640161051b565b670de0b6b3a76400006005556001805460ff60b01b1916600160b01b179055600a6003819055600455565b5f546001600160a01b031633146106115760405162461bcd60e51b815260040161051b9061126a565b600154600160a01b900460ff161561066b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161051b565b6001805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146106a95760405162461bcd60e51b815260040161051b9061126a565b6001600160a01b03811661070e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051b565b61071781610c21565b50565b6001600160a01b0383166107665760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161051b565b6001600160a01b0382166107b25760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161051b565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b6001600160a01b0385166108a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b5f83116109075760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b6109118585610c70565b15610a4b57600154600160a01b900460ff166109685760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161051b565b6001600160a01b0384165f908152600a602052604090205460ff1615801561099957506001600160a01b0385163014155b80156109ae57506001600160a01b0384163014155b806109d457506109be8585610d3f565b80156109d45750600154600160b01b900460ff16155b15610a4b57600554836109fb866001600160a01b03165f908152600b602052604090205490565b610a05919061129f565b1115610a4b5760405162461bcd60e51b81526020600482015260156024820152741b585e151c985b9cd858dd1a5bdb88195e18d95959605a1b604482015260640161051b565b610a558585610d85565b8015610a6b5750600154600160a81b900460ff16155b8015610a7b5750610a7b85610dca565b15610ad157305f908152600b6020526040902054610aa4620186a0670de0b6b3a764000061124b565b8110610acf57610abf620186a0670de0b6b3a764000061124b565b841115610acf57610acf81610dff565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b0e57506001600160a01b0384165f9081526008602052604090205460ff165b15610b1657505f5b5f81610b225783610b40565b610b4086610b308888610ffa565b610b3a8989610d85565b8761103f565b90505f82610b6657600154600160a01b900460ff1615610b60575f610b68565b84610b68565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610b94908490611238565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bc090849061129f565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0c91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610c835f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cb157505f546001600160a01b03848116911614155b8015610cc757505f546001600160a01b03163314155b8015610ceb57506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d0f57506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d2357506001600160a01b03831615155b80156104d257506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d257505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff1680156104d257505050506001600160a01b03165f908152600a602052604090205460ff161590565b6006545f90819060ff168015610df857506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6001805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e4557610e456112b2565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec091906112c6565b81600181518110610ed357610ed36112b2565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060025490941682529290915220545f1914610f3957305f9081526007602090815260408083206002546001600160a01b0316845290915290205f1990555b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f719085905f908690309042906004016112e1565b5f604051808303815f87803b158015610f88575f80fd5b505af1925050508015610f99575060015b610fa35750610fea565b4715610fe8576006546040516001600160a01b0361010090920491909116904780156108fc02915f818181858888f19350505050158015610fe6573d5f803e3d5ffd5b505b505b506001805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d257505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f8084156110505750600354611062565b831561105f5750600454611062565b505f5b805f0361107257829150506104d2565b5f6103e86110808386611350565b61108a919061124b565b905080156110f657305f908152600b6020526040812080548392906110b090849061129f565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111008185611238565b979650505050505050565b5f6020808352835180828501525f5b818110156111365785810183015185820160400152820161111a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610717575f80fd5b5f806040838503121561117b575f80fd5b823561118681611156565b946020939093013593505050565b5f805f606084860312156111a6575f80fd5b83356111b181611156565b925060208401356111c181611156565b929592945050506040919091013590565b5f602082840312156111e2575f80fd5b8135610df881611156565b5f80604083850312156111fe575f80fd5b823561120981611156565b9150602083013561121981611156565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561045f5761045f611224565b5f8261126557634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561045f5761045f611224565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112d6575f80fd5b8151610df881611156565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561132f5784516001600160a01b03168352938301939183019160010161130a565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761045f5761045f61122456fea2646970667358221220a2e755ced5e081acfbcee35cda4a9d5a81ed26a2111c3208fbd0a40f9897a2f764736f6c63430008150033

Deployed Bytecode

0x608060405260043610610164575f3560e01c8063735de9f7116100cd57806395d89b4111610087578063be9a655511610062578063be9a6555146103c3578063dd62ed3e146103d7578063f2fde38b1461041b578063f8a25a941461043a575f80fd5b806395d89b41146101c0578063a9059cbb14610390578063b8fc1cc3146103af575f80fd5b8063735de9f7146103185780638124f7ac14610337578063893d20e81461034a5780638da5cb5b1461034a578063941abdc114610366578063941fa5cd1461037b575f80fd5b806329d42dbd1161011e57806329d42dbd14610264578063313ce567146102845780633eaaf86b1461029f57806355cd7db2146102ba57806370a08231146102ce578063715018a614610302575f80fd5b806303fd2a451461016f57806304d2be77146101a157806306fdde03146101c0578063095ea7b3146101f257806318160ddd1461022157806323b872dd14610245575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b50600154610184906001600160a01b031681565b3480156101cb575f80fd5b50604080518082018252600481526348444c4560e01b60208201529051610198919061110b565b3480156101fd575f80fd5b5061021161020c36600461116a565b61044f565b6040519015158152602001610198565b34801561022c575f80fd5b50670de0b6b3a76400005b604051908152602001610198565b348015610250575f80fd5b5061021161025f366004611194565b610465565b34801561026f575f80fd5b5060015461021190600160a01b900460ff1681565b34801561028f575f80fd5b5060405160098152602001610198565b3480156102aa575f80fd5b50610237670de0b6b3a764000081565b3480156102c5575f80fd5b506102376104da565b3480156102d9575f80fd5b506102376102e83660046111d2565b6001600160a01b03165f908152600b602052604090205490565b34801561030d575f80fd5b506103166104f2565b005b348015610323575f80fd5b50600254610184906001600160a01b031681565b348015610342575f80fd5b506102375f81565b348015610355575f80fd5b505f546001600160a01b0316610184565b348015610371575f80fd5b506102376103e881565b348015610386575f80fd5b5061023760035481565b34801561039b575f80fd5b506102116103aa36600461116a565b61052f565b3480156103ba575f80fd5b50610316610545565b3480156103ce575f80fd5b506103166105e8565b3480156103e2575f80fd5b506102376103f13660046111ed565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b348015610426575f80fd5b506103166104353660046111d2565b610680565b348015610445575f80fd5b5061023760045481565b5f61045b33848461071a565b5060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146104c7576001600160a01b0384165f908152600760209081526040808320338452909152812080548492906104c1908490611238565b90915550505b6104d28484846107dd565b949350505050565b6104ef620186a0670de0b6b3a764000061124b565b81565b5f546001600160a01b031633146105245760405162461bcd60e51b815260040161051b9061126a565b60405180910390fd5b61052d5f610c21565b565b5f61053b3384846107dd565b5060019392505050565b5f546001600160a01b0316331461056e5760405162461bcd60e51b815260040161051b9061126a565b600154600160b01b900460ff16156105bd5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481a5b9a5d185b1a5e995960721b604482015260640161051b565b670de0b6b3a76400006005556001805460ff60b01b1916600160b01b179055600a6003819055600455565b5f546001600160a01b031633146106115760405162461bcd60e51b815260040161051b9061126a565b600154600160a01b900460ff161561066b5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161051b565b6001805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146106a95760405162461bcd60e51b815260040161051b9061126a565b6001600160a01b03811661070e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161051b565b61071781610c21565b50565b6001600160a01b0383166107665760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161051b565b6001600160a01b0382166107b25760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161051b565b6001600160a01b039283165f9081526007602090815260408083209490951682529290925291902055565b5f60016001600160a01b0384166108425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051b565b6001600160a01b0385166108a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051b565b5f83116109075760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161051b565b6109118585610c70565b15610a4b57600154600160a01b900460ff166109685760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161051b565b6001600160a01b0384165f908152600a602052604090205460ff1615801561099957506001600160a01b0385163014155b80156109ae57506001600160a01b0384163014155b806109d457506109be8585610d3f565b80156109d45750600154600160b01b900460ff16155b15610a4b57600554836109fb866001600160a01b03165f908152600b602052604090205490565b610a05919061129f565b1115610a4b5760405162461bcd60e51b81526020600482015260156024820152741b585e151c985b9cd858dd1a5bdb88195e18d95959605a1b604482015260640161051b565b610a558585610d85565b8015610a6b5750600154600160a81b900460ff16155b8015610a7b5750610a7b85610dca565b15610ad157305f908152600b6020526040902054610aa4620186a0670de0b6b3a764000061124b565b8110610acf57610abf620186a0670de0b6b3a764000061124b565b841115610acf57610acf81610dff565b505b6001600160a01b0385165f9081526008602052604090205460ff1680610b0e57506001600160a01b0384165f9081526008602052604090205460ff165b15610b1657505f5b5f81610b225783610b40565b610b4086610b308888610ffa565b610b3a8989610d85565b8761103f565b90505f82610b6657600154600160a01b900460ff1615610b60575f610b68565b84610b68565b845b6001600160a01b0388165f908152600b6020526040812080549293508392909190610b94908490611238565b90915550506001600160a01b0386165f908152600b602052604081208054849290610bc090849061129f565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c0c91815260200190565b60405180910390a35060019695505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80610c835f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610cb157505f546001600160a01b03848116911614155b8015610cc757505f546001600160a01b03163314155b8015610ceb57506001600160a01b0384165f9081526009602052604090205460ff16155b8015610d0f57506001600160a01b0383165f9081526009602052604090205460ff16155b8015610d2357506001600160a01b03831615155b80156104d257506001600160a01b038316301415949350505050565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d257505050506001600160a01b03165f908152600a602052604090205460ff161590565b6001600160a01b0381165f908152600a6020526040812054819060ff1680156104d257505050506001600160a01b03165f908152600a602052604090205460ff161590565b6006545f90819060ff168015610df857506001600160a01b0383165f9081526008602052604090205460ff16155b9392505050565b6001805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610e4557610e456112b2565b6001600160a01b03928316602091820292909201810191909152600254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec091906112c6565b81600181518110610ed357610ed36112b2565b6001600160a01b03928316602091820292909201810191909152305f90815260078252604080822060025490941682529290915220545f1914610f3957305f9081526007602090815260408083206002546001600160a01b0316845290915290205f1990555b60025460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f719085905f908690309042906004016112e1565b5f604051808303815f87803b158015610f88575f80fd5b505af1925050508015610f99575060015b610fa35750610fea565b4715610fe8576006546040516001600160a01b0361010090920491909116904780156108fc02915f818181858888f19350505050158015610fe6573d5f803e3d5ffd5b505b505b506001805460ff60a81b19169055565b6001600160a01b0381165f908152600a6020526040812054819060ff161580156104d257505050506001600160a01b03165f908152600a602052604090205460ff1690565b5f8084156110505750600354611062565b831561105f5750600454611062565b505f5b805f0361107257829150506104d2565b5f6103e86110808386611350565b61108a919061124b565b905080156110f657305f908152600b6020526040812080548392906110b090849061129f565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111008185611238565b979650505050505050565b5f6020808352835180828501525f5b818110156111365785810183015185820160400152820161111a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610717575f80fd5b5f806040838503121561117b575f80fd5b823561118681611156565b946020939093013593505050565b5f805f606084860312156111a6575f80fd5b83356111b181611156565b925060208401356111c181611156565b929592945050506040919091013590565b5f602082840312156111e2575f80fd5b8135610df881611156565b5f80604083850312156111fe575f80fd5b823561120981611156565b9150602083013561121981611156565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561045f5761045f611224565b5f8261126557634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561045f5761045f611224565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112d6575f80fd5b8151610df881611156565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561132f5784516001600160a01b03168352938301939183019160010161130a565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761045f5761045f61122456fea2646970667358221220a2e755ced5e081acfbcee35cda4a9d5a81ed26a2111c3208fbd0a40f9897a2f764736f6c63430008150033

Deployed Bytecode Sourcemap

4925:8606:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5111:73;;;;;;;;;;;;5142:42;5111:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5111:73:0;;;;;;;;5191:28;;;;;;;;;;-1:-1:-1;5191:28:0;;;;-1:-1:-1;;;;;5191:28:0;;;8014:80;;;;;;;;;;-1:-1:-1;8086:5:0;;;;;;;;;;;-1:-1:-1;;;8086:5:0;;;;8014:80;;;;8086:5;8014:80;:::i;8902:161::-;;;;;;;;;;-1:-1:-1;8902:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;8902:161:0;1231:187:1;7670:125:0;;;;;;;;;;-1:-1:-1;5421:15:0;7670:125;;;1569:25:1;;;1557:2;1542:18;7670:125:0;1423:177:1;9340:306:0;;;;;;;;;;-1:-1:-1;9340:306:0;;;;;:::i;:::-;;:::i;5226:32::-;;;;;;;;;;-1:-1:-1;5226:32:0;;;;-1:-1:-1;;;5226:32:0;;;;;;7801:117;;;;;;;;;;-1:-1:-1;7801:117:0;;5103:1;2208:36:1;;2196:2;2181:18;7801:117:0;2066:184:1;5382:54:0;;;;;;;;;;;;5421:15;5382:54;;5443:58;;;;;;;;;;;;;:::i;8325:117::-;;;;;;;;;;-1:-1:-1;8325:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;8418:16:0;8391:7;8418:16;;;:7;:16;;;;;;;8325:117;2395:94;;;;;;;;;;;;;:::i;:::-;;5336:37;;;;;;;;;;-1:-1:-1;5336:37:0;;;;-1:-1:-1;;;;;5336:37:0;;;5583:39;;;;;;;;;;;;5621:1;5583:39;;8100:80;;;;;;;;;;-1:-1:-1;8152:7:0;2245:6;-1:-1:-1;;;;;2245:6:0;8100:80;;5629:38;;;;;;;;;;;;5662:5;5629:38;;5508:30;;;;;;;;;;;;;;;;8725:165;;;;;;;;;;-1:-1:-1;8725:165:0;;;;;:::i;:::-;;:::i;8450:226::-;;;;;;;;;;;;;:::i;13394:134::-;;;;;;;;;;;;;:::i;8186:133::-;;;;;;;;;;-1:-1:-1;8186:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8288:19:0;;;8270:7;8288:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8186:133;2497:192;;;;;;;;;;-1:-1:-1;2497:192:0;;;;;:::i;:::-;;:::i;5545:31::-;;;;;;;;;;;;;;;;8902:161;8979:4;8996:37;9005:10;9017:7;9026:6;8996:8;:37::i;:::-;-1:-1:-1;9051:4:0;8902:161;;;;;:::o;9340:306::-;-1:-1:-1;;;;;9461:19:0;;9440:4;9461:19;;;:11;:19;;;;;;;;9481:10;9461:31;;;;;;;;-1:-1:-1;;9461:52:0;9457:126;;-1:-1:-1;;;;;9530:19:0;;;;;;:11;:19;;;;;;;;9550:10;9530:31;;;;;;;:41;;9565:6;;9530:19;:41;;9565:6;;9530:41;:::i;:::-;;;;-1:-1:-1;;9457:126:0;9602:36;9612:6;9620:9;9631:6;9602:9;:36::i;:::-;9595:43;9340:306;-1:-1:-1;;;;9340:306:0:o;5443:58::-;5479:22;5494:7;5421:15;5479:22;:::i;:::-;5443:58;:::o;2395:94::-;2218:7;2245:6;-1:-1:-1;;;;;2245:6:0;1464:10;2307:23;2299:68;;;;-1:-1:-1;;;2299:68:0;;;;;;;:::i;:::-;;;;;;;;;2460:21:::1;2478:1;2460:9;:21::i;:::-;2395:94::o:0;8725:165::-;8803:4;8820:40;8830:10;8842:9;8853:6;8820:9;:40::i;:::-;-1:-1:-1;8878:4:0;;8725:165;-1:-1:-1;;;8725:165:0:o;8450:226::-;2218:7;2245:6;-1:-1:-1;;;;;2245:6:0;1464:10;2307:23;2299:68;;;;-1:-1:-1;;;2299:68:0;;;;;;;:::i;:::-;8511:13:::1;::::0;-1:-1:-1;;;8511:13:0;::::1;;;8510:14;8502:44;;;::::0;-1:-1:-1;;;8502:44:0;;4182:2:1;8502:44:0::1;::::0;::::1;4164:21:1::0;4221:2;4201:18;;;4194:30;-1:-1:-1;;;4240:18:1;;;4233:48;4298:18;;8502:44:0::1;3980:342:1::0;8502:44:0::1;5421:15;8557:14;:29:::0;8613:4:::1;8597:20:::0;;-1:-1:-1;;;;8597:20:0::1;-1:-1:-1::0;;;8597:20:0::1;::::0;;8640:2:::1;8628:9;:14:::0;;;-1:-1:-1;8653:15:0;8450:226::o;13394:134::-;2218:7;2245:6;-1:-1:-1;;;;;2245:6:0;1464:10;2307:23;2299:68;;;;-1:-1:-1;;;2299:68:0;;;;;;;:::i;:::-;13450:12:::1;::::0;-1:-1:-1;;;13450:12:0;::::1;;;13449:13;13441:49;;;::::0;-1:-1:-1;;;13441:49:0;;4529:2:1;13441:49:0::1;::::0;::::1;4511:21:1::0;4568:2;4548:18;;;4541:30;4607:25;4587:18;;;4580:53;4650:18;;13441:49:0::1;4327:347:1::0;13441:49:0::1;13516:4;13501:19:::0;;-1:-1:-1;;;;13501:19:0::1;-1:-1:-1::0;;;13501:19:0::1;::::0;;13394:134::o;2497:192::-;2218:7;2245:6;-1:-1:-1;;;;;2245:6:0;1464:10;2307:23;2299:68;;;;-1:-1:-1;;;2299:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2586:22:0;::::1;2578:73;;;::::0;-1:-1:-1;;;2578:73:0;;4881:2:1;2578:73:0::1;::::0;::::1;4863:21:1::0;4920:2;4900:18;;;4893:30;4959:34;4939:18;;;4932:62;-1:-1:-1;;;5010:18:1;;;5003:36;5056:19;;2578:73:0::1;4679:402:1::0;2578:73:0::1;2662:19;2672:8;2662:9;:19::i;:::-;2497:192:::0;:::o;9071:261::-;-1:-1:-1;;;;;9166:20:0;;9158:52;;;;-1:-1:-1;;;9158:52:0;;5288:2:1;9158:52:0;;;5270:21:1;5327:2;5307:18;;;5300:30;-1:-1:-1;;;5346:18:1;;;5339:49;5405:18;;9158:52:0;5086:343:1;9158:52:0;-1:-1:-1;;;;;9229:21:0;;9221:53;;;;-1:-1:-1;;;9221:53:0;;5288:2:1;9221:53:0;;;5270:21:1;5327:2;5307:18;;;5300:30;-1:-1:-1;;;5346:18:1;;;5339:49;5405:18;;9221:53:0;5086:343:1;9221:53:0;-1:-1:-1;;;;;9287:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;9071:261::o;10718:1404::-;10798:4;10830;-1:-1:-1;;;;;10853:16:0;;10845:64;;;;-1:-1:-1;;;10845:64:0;;5636:2:1;10845:64:0;;;5618:21:1;5675:2;5655:18;;;5648:30;5714:34;5694:18;;;5687:62;-1:-1:-1;;;5765:18:1;;;5758:33;5808:19;;10845:64:0;5434:399:1;10845:64:0;-1:-1:-1;;;;;10928:18:0;;10920:68;;;;-1:-1:-1;;;10920:68:0;;6040:2:1;10920:68:0;;;6022:21:1;6079:2;6059:18;;;6052:30;6118:34;6098:18;;;6091:62;-1:-1:-1;;;6169:18:1;;;6162:35;6214:19;;10920:68:0;5838:401:1;10920:68:0;11016:1;11007:6;:10;10999:64;;;;-1:-1:-1;;;10999:64:0;;6446:2:1;10999:64:0;;;6428:21:1;6485:2;6465:18;;;6458:30;6524:34;6504:18;;;6497:62;-1:-1:-1;;;6575:18:1;;;6568:39;6624:19;;10999:64:0;6244:405:1;10999:64:0;11080:26;11098:4;11103:2;11080:17;:26::i;:::-;11076:311;;;11131:12;;-1:-1:-1;;;11131:12:0;;;;11123:46;;;;-1:-1:-1;;;11123:46:0;;6856:2:1;11123:46:0;;;6838:21:1;6895:2;6875:18;;;6868:30;-1:-1:-1;;;6914:18:1;;;6907:52;6976:18;;11123:46:0;6654:346:1;11123:46:0;-1:-1:-1;;;;;11196:15:0;;;;;;:11;:15;;;;;;;;11195:16;:41;;;;-1:-1:-1;;;;;;11215:21:0;;11231:4;11215:21;;11195:41;:64;;;;-1:-1:-1;;;;;;11240:19:0;;11254:4;11240:19;;11195:64;:110;;;;11263:24;11279:4;11284:2;11263:15;:24::i;:::-;:42;;;;-1:-1:-1;11292:13:0;;-1:-1:-1;;;11292:13:0;;;;11291:14;11263:42;11192:194;;;11344:14;;11334:6;11318:13;11328:2;-1:-1:-1;;;;;8418:16:0;8391:7;8418:16;;;:7;:16;;;;;;;8325:117;11318:13;:22;;;;:::i;:::-;:40;;11310:73;;;;-1:-1:-1;;;11310:73:0;;7337:2:1;11310:73:0;;;7319:21:1;7376:2;7356:18;;;7349:30;-1:-1:-1;;;7395:18:1;;;7388:51;7456:18;;11310:73:0;7135:345:1;11310:73:0;11404:21;11416:4;11422:2;11404:11;:21::i;:::-;:35;;;;-1:-1:-1;11431:8:0;;-1:-1:-1;;;11431:8:0;;;;11430:9;11404:35;:55;;;;;11443:16;11454:4;11443:10;:16::i;:::-;11401:259;;;11518:4;11478:19;8418:16;;;:7;:16;;;;;;5479:22;5494:7;5421:15;5479:22;:::i;:::-;11542:11;:24;11539:110;;5479:22;5494:7;5421:15;5479:22;:::i;:::-;11591:6;:18;11588:44;;;11611:21;11620:11;11611:8;:21::i;:::-;11461:199;11401:259;-1:-1:-1;;;;;11676:17:0;;;;;;:11;:17;;;;;;;;;:36;;-1:-1:-1;;;;;;11697:15:0;;;;;;:11;:15;;;;;;;;11676:36;11672:83;;;-1:-1:-1;11738:5:0;11672:83;11765:22;11791:7;11790:97;;11881:6;11790:97;;;11802:76;11820:4;11826:20;11837:4;11843:2;11826:10;:20::i;:::-;11848:21;11860:4;11866:2;11848:11;:21::i;:::-;11871:6;11802:17;:76::i;:::-;11765:122;;11898:23;11925:7;11924:49;;11947:12;;-1:-1:-1;;;11947:12:0;;;;11946:13;:26;;11971:1;11924:49;;11946:26;11962:6;11924:49;;;11936:6;11924:49;-1:-1:-1;;;;;11984:13:0;;;;;;:7;:13;;;;;:32;;11898:75;;-1:-1:-1;11898:75:0;;11984:13;;;:32;;11898:75;;11984:32;:::i;:::-;;;;-1:-1:-1;;;;;;;12018:11:0;;;;;;:7;:11;;;;;:29;;12033:14;;12018:11;:29;;12033:14;;12018:29;:::i;:::-;;;;;;;;12069:2;-1:-1:-1;;;;;12054:34:0;12063:4;-1:-1:-1;;;;;12054:34:0;;12073:14;12054:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;12054:34:0;;;;;;;;-1:-1:-1;12108:4:0;;10718:1404;-1:-1:-1;;;;;;10718:1404:0:o;2697:173::-;2753:16;2772:6;;-1:-1:-1;;;;;2789:17:0;;;-1:-1:-1;;;;;;2789:17:0;;;;;;2822:40;;2772:6;;;;;;;2822:40;;2753:16;2822:40;2742:128;2697:173;:::o;9654:327::-;9730:4;9749:14;9773:7;2218;2245:6;-1:-1:-1;;;;;2245:6:0;;2172:87;9773:7;-1:-1:-1;;;;;9766:14:0;:3;-1:-1:-1;;;;;9766:14:0;;;:45;;;;-1:-1:-1;2218:7:0;2245:6;-1:-1:-1;;;;;9797:14:0;;;2245:6;;9797:14;;9766:45;:83;;;;-1:-1:-1;2218:7:0;2245:6;-1:-1:-1;;;;;2245:6:0;9828:10;:21;;9766:83;:113;;;;-1:-1:-1;;;;;;9867:12:0;;;;;;:7;:12;;;;;;;;9866:13;9766:113;:131;;;;-1:-1:-1;;;;;;9885:12:0;;;;;;:7;:12;;;;;;;;9884:13;9766:131;:152;;;;-1:-1:-1;;;;;;9901:17:0;;;;9766:152;:176;;;;-1:-1:-1;;;;;;9922:20:0;;9937:4;9922:20;;9749:193;9654:327;-1:-1:-1;;;;9654:327:0:o;10355:188::-;-1:-1:-1;;;;;10468:16:0;;10429:4;10468:16;;;:11;:16;;;;;;10429:4;;10468:16;;10467:17;:38;;;;-1:-1:-1;;;;;;;;;10489:16:0;;;;;:11;:16;;;;;;;;10488:17;;10355:188::o;10172:175::-;-1:-1:-1;;;;;10276:16:0;;10242:4;10276:16;;;:11;:16;;;;;;10242:4;;10276:16;;:37;;;;-1:-1:-1;;;;;;;;;10297:16:0;;;;;:11;:16;;;;;;;;10296:17;;10172:175::o;10551:155::-;10639:13;;10607:4;;;;10639:13;;:34;;;;-1:-1:-1;;;;;;10657:16:0;;;;;;:11;:16;;;;;;;;10656:17;10639:34;10624:49;10551:155;-1:-1:-1;;;10551:155:0:o;12658:727::-;6148:4;6137:15;;-1:-1:-1;;;;6137:15:0;-1:-1:-1;;;6137:15:0;;;12762:16:::1;::::0;;12776:1:::1;12762:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12762:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12762:16:0::1;12738:40;;12807:4;12789;12794:1;12789:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12789:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12833:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;12833:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;12789:7;;12833:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12823:4;12828:1;12823:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12823:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;12890:4:::1;12870:26;::::0;;;:11:::1;:26:::0;;;;;;12905:13:::1;::::0;;;::::1;12870:50:::0;;;;;;;;-1:-1:-1;;12870:71:0::1;12866:174;;12978:4;12958:26;::::0;;;:11:::1;:26;::::0;;;;;;;12993:13:::1;::::0;-1:-1:-1;;;;;12993:13:0::1;12958:50:::0;;;;;;;-1:-1:-1;;12958:70:0;;12866:174:::1;13056:13;::::0;:194:::1;::::0;-1:-1:-1;;;13056:194:0;;-1:-1:-1;;;;;13056:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;13135:11;;13056:13:::1;::::0;13177:4;;13204::::1;::::0;13224:15:::1;::::0;13056:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;13052:241;;13275:7;;;13052:241;13308:21;:25:::0;13305:72:::1;;13335:10;::::0;:42:::1;::::0;-1:-1:-1;;;;;13335:10:0::1;::::0;;::::1;::::0;;;::::1;::::0;13355:21:::1;13335:42:::0;::::1;;;::::0;::::1;::::0;;;13355:21;13335:10;:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13305:72;12717:668;6163:1;-1:-1:-1::0;6175:8:0;:16;;-1:-1:-1;;;;6175:16:0;;;12658:727::o;9993:171::-;-1:-1:-1;;;;;10095:16:0;;10062:4;10095:16;;;:11;:16;;;;;;10062:4;;10095:16;;10094:17;:37;;;;-1:-1:-1;;;;;;;;;10115:16:0;;;;;:11;:16;;;;;;;;;9993:171::o;12130:520::-;12230:7;12250:11;12276:5;12272:90;;;-1:-1:-1;12290:9:0;;12272:90;;;12311:6;12307:55;;;-1:-1:-1;12326:10:0;;12307:55;;;-1:-1:-1;5621:1:0;12307:55;12378:3;12385:1;12378:8;12374:28;;12396:6;12389:13;;;;;12374:28;12414:17;5662:5;12434:12;12443:3;12434:6;:12;:::i;:::-;:21;;;;:::i;:::-;12414:41;-1:-1:-1;12470:13:0;;12466:141;;12516:4;12500:22;;;;:7;:22;;;;;:35;;12526:9;;12500:22;:35;;12526:9;;12500:35;:::i;:::-;;;;-1:-1:-1;;12555:40:0;;1569:25:1;;;12578:4:0;;-1:-1:-1;;;;;12555:40:0;;;;;1557:2:1;1542:18;12555:40:0;;;;;;;12466:141;12624:18;12633:9;12624:6;:18;:::i;:::-;12617:25;12130:520;-1:-1:-1;;;;;;;12130:520:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:217::-;3437:1;3463;3453:132;;3507:10;3502:3;3498:20;3495:1;3488:31;3542:4;3539:1;3532:15;3570:4;3567:1;3560:15;3453:132;-1:-1:-1;3599:9:1;;3397:217::o;3619:356::-;3821:2;3803:21;;;3840:18;;;3833:30;3899:34;3894:2;3879:18;;3872:62;3966:2;3951:18;;3619:356::o;7005:125::-;7070:9;;;7091:10;;;7088:36;;;7104:18;;:::i;7617:127::-;7678:10;7673:3;7669:20;7666:1;7659:31;7709:4;7706:1;7699:15;7733:4;7730:1;7723:15;7749:251;7819:6;7872:2;7860:9;7851:7;7847:23;7843:32;7840:52;;;7888:1;7885;7878:12;7840:52;7920:9;7914:16;7939:31;7964:5;7939:31;:::i;8005:980::-;8267:4;8315:3;8304:9;8300:19;8346:6;8335:9;8328:25;8372:2;8410:6;8405:2;8394:9;8390:18;8383:34;8453:3;8448:2;8437:9;8433:18;8426:31;8477:6;8512;8506:13;8543:6;8535;8528:22;8581:3;8570:9;8566:19;8559:26;;8620:2;8612:6;8608:15;8594:29;;8641:1;8651:195;8665:6;8662:1;8659:13;8651:195;;;8730:13;;-1:-1:-1;;;;;8726:39:1;8714:52;;8821:15;;;;8786:12;;;;8762:1;8680:9;8651:195;;;-1:-1:-1;;;;;;;8902:32:1;;;;8897:2;8882:18;;8875:60;-1:-1:-1;;;8966:3:1;8951:19;8944:35;8863:3;8005:980;-1:-1:-1;;;8005:980:1:o;8990:168::-;9063:9;;;9094;;9111:15;;;9105:22;;9091:37;9081:71;;9132:18;;:::i

Swarm Source

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