ETH Price: $2,640.54 (+2.41%)
Gas: 2.07 Gwei

Token

Elegant (ELE)
 

Overview

Max Total Supply

9,999,454.88260671363756072 ELE

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
250,000 ELE

Value
$0.00
0xf252ccf6ec04ec71c342d43df7345d7f66898dfb
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:
Elegant

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-03-29
*/

pragma solidity ^0.8.20;

interface IEERC515 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AddLiquidity(uint32 _blockToUnlockLiquidity, uint256 value);
    event RemoveLiquidity(uint256 value);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out
    );
}

abstract contract ERC515 is IEERC515{
    mapping(address account => uint256) private _balances;

    uint256 private _totalSupply;
    uint256 public _maxWallet;
    uint32 public blockToUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

    mapping(address account => uint32) private lastTransaction;
    
    uint256 public mintedTokens;
    uint256 public tokenPrice; 
    uint256 public mintingLimit;

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

    modifier onlyLiquidityProvider() {
        require(msg.sender == liquidityProvider, "You are not the liquidity provider");
        _;
    }

    uint256 public launchBlock;

    uint256 public buyFee;
    uint256 public saleFee;
    address public feeAddress;

    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        uint256 tokenPrice_,
        uint256 mintingLimit_,
        uint256 buyFee_,
        uint256 saleFee_
    ) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;
        _maxWallet = totalSupply_ / 40;
        tokenPrice = tokenPrice_;
        mintingLimit = mintingLimit_;
        owner = msg.sender;
        tradingEnable = false;
        maxWalletEnable = true;
        liquidityAdded = false;
        _balances[address(this)] = totalSupply_;

        launchBlock = block.number;

        buyFee = buyFee_;
        saleFee = saleFee_;
        feeAddress = msg.sender;
    }

    function name() public view virtual returns (string memory) {
        return _name;
    }

    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual returns (uint8) {
        return 18;
    }

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

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        // sell or transfer
        if (to == address(this)) {
            sell(value);
        }
        else{
            _transfer(msg.sender, to, value);
        }
        return true;
    }

    function _transfer(address from, address to, uint256 value) internal virtual {
        if(from != address(this)){
            require(lastTransaction[msg.sender] != block.number, "You can't make two transactions in the same block");
            lastTransaction[msg.sender] = uint32(block.number);
        }
        require (_balances[from] >= value, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = _balances[from] - value;
        }
        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }
        emit Transfer(from, to, value);
    }

    function getReserves() public view returns (uint256, uint256) {
        return (address(this).balance, _balances[address(this)]);
    }

    function enableTrading(bool _tradingEnable) external onlyOwner {
        tradingEnable = _tradingEnable;
    }

    function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
        maxWalletEnable = _maxWalletEnable;
    }

    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        _maxWallet = _maxWallet_;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

    function addLiquidity(uint32 _blockToUnlockLiquidity) internal  {
        require(liquidityAdded == false, "Liquidity already added");
        liquidityAdded = true;
        uint256 etherAmount = address(this).balance;
        require(etherAmount > 0, "No ETH balance");
        blockToUnlockLiquidity = _blockToUnlockLiquidity;
        tradingEnable = true;
        liquidityProvider = owner;
        
        emit AddLiquidity(_blockToUnlockLiquidity, etherAmount);
    }

    function removeLiquidity() public onlyLiquidityProvider {
        require(block.number > blockToUnlockLiquidity, "Liquidity locked");
        tradingEnable = false;
        payable(msg.sender).transfer(address(this).balance);
        emit RemoveLiquidity(address(this).balance);
    }

    function extendLiquidityLock(uint32 _blockToUnlockLiquidity) public onlyLiquidityProvider {
        blockToUnlockLiquidity = _blockToUnlockLiquidity;
    }

    function getAmountOut(uint256 value, bool _buy) public view returns(uint256) {
        if (!tradingEnable) {
            return tokenPrice * value / 1 ether;
        }else{
            (uint256 reserveETH, uint256 reserveToken) = getReserves();

            if (_buy) {
                return (value * reserveToken) / (reserveETH + value);
            } else {
                return (value * reserveETH) / (reserveToken + value);
            }
        }
    }

    function buy(uint256 _minAmount) public payable {
        require(msg.value > 0, "No ETH sent");
        if (!tradingEnable) {
            uint256 tokensToMint = (tokenPrice * msg.value)  / 1 ether;
            require(tokensToMint > 0, "Not enough ETH sent");
            if (maxWalletEnable) {
                require(tokensToMint + _balances[msg.sender] <= _maxWallet, "Max wallet exceeded");
            }
            mintedTokens += tokensToMint;
            _transfer(address(this), msg.sender, tokensToMint);
            if (mintedTokens >= mintingLimit) {
                _addLiquidityAndEnableTrading();
            }
        } else {
            uint256 token_amount = (msg.value * _balances[address(this)]) / (address(this).balance + msg.value);
            if (maxWalletEnable) {
                require(token_amount + _balances[msg.sender] <= _maxWallet, "Max wallet exceeded");
            }
            if (buyFee > 0) {
                uint256 fee = (token_amount * buyFee) / 100;
                token_amount -= fee;
                _transfer(address(this), address(0), fee);
            }
            require(token_amount >= _minAmount, "Slippage too high");
            _transfer(address(this), msg.sender, token_amount);
            emit Swap(msg.sender, msg.value,0,0,token_amount);
        }
    }

    function _addLiquidityAndEnableTrading() internal {
        uint32 blockToUnlock = uint32(block.number + 200000);
        addLiquidity(blockToUnlock);
    }

    function sell(uint256 sell_amount) internal {
        if (block.number >= launchBlock + 200000 && !tradingEnable) {
            uint256 ethAmount = sell_amount /  tokenPrice;
            require(address(this).balance >= ethAmount, "Insufficient ETH in reserves");
            _transfer(msg.sender, address(this), sell_amount);
            payable(msg.sender).transfer(ethAmount);
            emit Swap(msg.sender, 0, sell_amount, ethAmount, 0);
        } else {
            require(tradingEnable, "Trading not enable");
            uint256 ethAmount = getAmountOut(sell_amount, false);
            require(ethAmount > 0, "Sell amount too low");
            require(address(this).balance >= ethAmount, "Insufficient ETH in reserves");
            if(saleFee > 0){
                uint256 feeEth = (ethAmount * saleFee) / 100;
                ethAmount -= feeEth;
                uint256 feeAddressPortion = (feeEth * 20) / 100;
                payable(feeAddress).transfer(feeAddressPortion);
            }
            _transfer(msg.sender, address(this), sell_amount);
            payable(msg.sender).transfer(ethAmount);
            emit Swap(msg.sender, 0, sell_amount, ethAmount, 0);
        }
    }

    receive() external payable {
        buy(0);
    }
}


contract Elegant is ERC515 {
    uint256 private _totalSupply = 10000000 * 10 ** 18;
    uint256 private tokenPrice_ = 250000 * 10 ** 18;
    uint256 private mintingLimit_ = 5000000 * 10 ** 18;
    constructor() ERC515("Elegant", "ELE", _totalSupply,tokenPrice_,mintingLimit_,1,1) {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockToUnlockLiquidity","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyFee","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":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintingLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526a084595161401484a0000006010556934f086f3b33b684000006011556a0422ca8b0a00a42500000060125534801561003b575f80fd5b5060405180604001604052806007815260200166115b1959d85b9d60ca1b81525060405180604001604052806003815260200162454c4560e81b815250601054601154601254600180866004908161009391906101b8565b5060056100a087826101b8565b5060018590556100b1602886610277565b600255600a93909355600b91909155600680546001600160a01b0319908116339081179092556007805462ffffff60a01b1916600160b01b179055305f9081526020819052604090209490945543600c55600d91909155600e91909155600f8054909216179055506102969050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061014857607f821691505b60208210810361016657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101b357805f5260205f20601f840160051c810160208510156101915750805b601f840160051c820191505b818110156101b0575f815560010161019d565b50505b505050565b81516001600160401b038111156101d1576101d1610120565b6101e5816101df8454610134565b8461016c565b602080601f831160018114610218575f84156102015750858301515b5f19600386901b1c1916600185901b17855561026f565b5f85815260208120601f198616915b8281101561024657888601518255948401946001909101908401610227565b508582101561026357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8261029157634e487b7160e01b5f52601260045260245ffd5b500490565b6113dd806102a35f395ff3fe6080604052600436106101bd575f3560e01c80635d0044ca116100f25780638da5cb5b11610092578063d00efb2f11610062578063d00efb2f146104ea578063d9443923146104ff578063d96a094a1461051f578063f275f64b14610532575f80fd5b80638da5cb5b1461047957806395d89b4114610498578063a9059cbb146104ac578063ae19139e146104cb575f80fd5b8063715018a6116100cd578063715018a6146104265780637ff9b5961461043a57806382247ec01461044f5780638d75fe0514610464575f80fd5b80635d0044ca146103bf57806367b9a286146103de57806370a08231146103f2575f80fd5b806318160ddd1161015d5780634127535811610138578063412753581461033f578063470624021461037657806349072f121461038b5780635b8bec55146103a0575f80fd5b806318160ddd146102f157806327de2e8514610305578063313ce56714610324575f80fd5b806311106ee21161019857806311106ee21461025f57806312a54b621461028c5780631693e8d4146102bc578063178021e3146102dc575f80fd5b806304c0c476146101d157806306fdde03146102075780630902f1ac14610228575f80fd5b366101cd576101cb5f610551565b005b5f80fd5b3480156101dc575f80fd5b506003546101ed9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b348015610212575f80fd5b5061021b61083a565b6040516101fe9190611164565b348015610233575f80fd5b5061024a305f908152602081905260409020544791565b604080519283526020830191909152016101fe565b34801561026a575f80fd5b5061027e6102793660046111ad565b6108ca565b6040519081526020016101fe565b348015610297575f80fd5b506007546102ac90600160b01b900460ff1681565b60405190151581526020016101fe565b3480156102c7575f80fd5b506007546102ac90600160a01b900460ff1681565b3480156102e7575f80fd5b5061027e600e5481565b3480156102fc575f80fd5b5060015461027e565b348015610310575f80fd5b506101cb61031f3660046111d7565b610968565b34801561032f575f80fd5b50604051601281526020016101fe565b34801561034a575f80fd5b50600f5461035e906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b348015610381575f80fd5b5061027e600d5481565b348015610396575f80fd5b5061027e600b5481565b3480156103ab575f80fd5b5060075461035e906001600160a01b031681565b3480156103ca575f80fd5b506101cb6103d9366004611201565b6109ae565b3480156103e9575f80fd5b506101cb6109dd565b3480156103fd575f80fd5b5061027e61040c36600461122e565b6001600160a01b03165f9081526020819052604090205490565b348015610431575f80fd5b506101cb610abd565b348015610445575f80fd5b5061027e600a5481565b34801561045a575f80fd5b5061027e60025481565b34801561046f575f80fd5b5061027e60095481565b348015610484575f80fd5b5060065461035e906001600160a01b031681565b3480156104a3575f80fd5b5061021b610af9565b3480156104b7575f80fd5b506102ac6104c6366004611247565b610b08565b3480156104d6575f80fd5b506101cb6104e536600461126f565b610b3b565b3480156104f5575f80fd5b5061027e600c5481565b34801561050a575f80fd5b506007546102ac90600160a81b900460ff1681565b6101cb61052d366004611201565b610551565b34801561053d575f80fd5b506101cb61054c36600461126f565b610b83565b5f34116105935760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064015b60405180910390fd5b600754600160a01b900460ff166106b8575f670de0b6b3a764000034600a546105bc919061129c565b6105c691906112b3565b90505f811161060d5760405162461bcd60e51b8152602060048201526013602482015272139bdd08195b9bdd59da08115512081cd95b9d606a1b604482015260640161058a565b600754600160b01b900460ff161561067f57600254335f9081526020819052604090205461063b90836112d2565b111561067f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161058a565b8060095f82825461069091906112d2565b909155506106a19050303383610bcb565b600b54600954106106b4576106b4610d95565b5050565b5f6106c334476112d2565b305f908152602081905260409020546106dc903461129c565b6106e691906112b3565b600754909150600160b01b900460ff161561075b57600254335f9081526020819052604090205461071790836112d2565b111561075b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161058a565b600d5415610799575f6064600d5483610774919061129c565b61077e91906112b3565b905061078a81836112e5565b9150610797305f83610bcb565b505b818110156107dd5760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161058a565b6107e8303383610bcb565b604080513481525f60208201819052918101919091526060810182905233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737906080015b60405180910390a2505b50565b606060048054610849906112f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610875906112f8565b80156108c05780601f10610897576101008083540402835291602001916108c0565b820191905f5260205f20905b8154815290600101906020018083116108a357829003601f168201915b5050505050905090565b6007545f90600160a01b900460ff1661090557670de0b6b3a764000083600a546108f4919061129c565b6108fe91906112b3565b9050610962565b5f8061091d305f908152602081905260409020544791565b91509150831561094e5761093185836112d2565b61093b828761129c565b61094591906112b3565b92505050610962565b61095885826112d2565b61093b838761129c565b92915050565b6007546001600160a01b031633146109925760405162461bcd60e51b815260040161058a90611330565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b031633146109d85760405162461bcd60e51b815260040161058a90611372565b600255565b6007546001600160a01b03163314610a075760405162461bcd60e51b815260040161058a90611330565b60035463ffffffff164311610a515760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161058a565b6007805460ff60a01b1916905560405133904780156108fc02915f818181858888f19350505050158015610a87573d5f803e3d5ffd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b03163314610ae75760405162461bcd60e51b815260040161058a90611372565b600680546001600160a01b0319169055565b606060058054610849906112f8565b5f306001600160a01b03841603610b2757610b2282610dae565b610b32565b610b32338484610bcb565b50600192915050565b6006546001600160a01b03163314610b655760405162461bcd60e51b815260040161058a90611372565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610bad5760405162461bcd60e51b815260040161058a90611372565b60078054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b0383163014610c7c57335f908152600860205260409020544363ffffffff90911603610c5a5760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161058a565b335f908152600860205260409020805463ffffffff19164363ffffffff161790555b6001600160a01b0383165f90815260208190526040902054811115610cf25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161058a565b6001600160a01b038084165f908152602081905260409020805483900390558216610d2557600180548290039055610d43565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d8891815260200190565b60405180910390a3505050565b5f610da34362030d406112d2565b90506108378161103b565b600c54610dbe9062030d406112d2565b4310158015610dd75750600754600160a01b900460ff16155b15610ebc575f600a5482610deb91906112b3565b905080471015610e3d5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161058a565b610e48333084610bcb565b604051339082156108fc029083905f818181858888f19350505050158015610e72573d5f803e3d5ffd5b50604080515f80825260208201859052918101839052606081019190915233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb7379060800161082d565b600754600160a01b900460ff16610f0a5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161058a565b5f610f15825f6108ca565b90505f8111610f5c5760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161058a565b80471015610fac5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161058a565b600e5415610e3d575f6064600e5483610fc5919061129c565b610fcf91906112b3565b9050610fdb81836112e5565b91505f6064610feb83601461129c565b610ff591906112b3565b600f546040519192506001600160a01b03169082156108fc029083905f818181858888f1935050505015801561102d573d5f803e3d5ffd5b505050610e48333084610bcb565b600754600160a81b900460ff16156110955760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161058a565b6007805460ff60a81b1916600160a81b17905547806110e75760405162461bcd60e51b815260206004820152600e60248201526d4e6f204554482062616c616e636560901b604482015260640161058a565b6003805463ffffffff841663ffffffff199091168117909155600780546006546001600160a81b03199091166001600160a01b0390911617600160a01b17905560408051918252602082018390527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a15050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b803580151581146111a8575f80fd5b919050565b5f80604083850312156111be575f80fd5b823591506111ce60208401611199565b90509250929050565b5f602082840312156111e7575f80fd5b813563ffffffff811681146111fa575f80fd5b9392505050565b5f60208284031215611211575f80fd5b5035919050565b80356001600160a01b03811681146111a8575f80fd5b5f6020828403121561123e575f80fd5b6111fa82611218565b5f8060408385031215611258575f80fd5b61126183611218565b946020939093013593505050565b5f6020828403121561127f575f80fd5b6111fa82611199565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761096257610962611288565b5f826112cd57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561096257610962611288565b8181038181111561096257610962611288565b600181811c9082168061130c57607f821691505b60208210810361132a57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220abe85c69344469290cd7cb307d0f605ea14e62ba46e80f59b1b7fea6ec8044c264736f6c63430008190033

Deployed Bytecode

0x6080604052600436106101bd575f3560e01c80635d0044ca116100f25780638da5cb5b11610092578063d00efb2f11610062578063d00efb2f146104ea578063d9443923146104ff578063d96a094a1461051f578063f275f64b14610532575f80fd5b80638da5cb5b1461047957806395d89b4114610498578063a9059cbb146104ac578063ae19139e146104cb575f80fd5b8063715018a6116100cd578063715018a6146104265780637ff9b5961461043a57806382247ec01461044f5780638d75fe0514610464575f80fd5b80635d0044ca146103bf57806367b9a286146103de57806370a08231146103f2575f80fd5b806318160ddd1161015d5780634127535811610138578063412753581461033f578063470624021461037657806349072f121461038b5780635b8bec55146103a0575f80fd5b806318160ddd146102f157806327de2e8514610305578063313ce56714610324575f80fd5b806311106ee21161019857806311106ee21461025f57806312a54b621461028c5780631693e8d4146102bc578063178021e3146102dc575f80fd5b806304c0c476146101d157806306fdde03146102075780630902f1ac14610228575f80fd5b366101cd576101cb5f610551565b005b5f80fd5b3480156101dc575f80fd5b506003546101ed9063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b348015610212575f80fd5b5061021b61083a565b6040516101fe9190611164565b348015610233575f80fd5b5061024a305f908152602081905260409020544791565b604080519283526020830191909152016101fe565b34801561026a575f80fd5b5061027e6102793660046111ad565b6108ca565b6040519081526020016101fe565b348015610297575f80fd5b506007546102ac90600160b01b900460ff1681565b60405190151581526020016101fe565b3480156102c7575f80fd5b506007546102ac90600160a01b900460ff1681565b3480156102e7575f80fd5b5061027e600e5481565b3480156102fc575f80fd5b5060015461027e565b348015610310575f80fd5b506101cb61031f3660046111d7565b610968565b34801561032f575f80fd5b50604051601281526020016101fe565b34801561034a575f80fd5b50600f5461035e906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b348015610381575f80fd5b5061027e600d5481565b348015610396575f80fd5b5061027e600b5481565b3480156103ab575f80fd5b5060075461035e906001600160a01b031681565b3480156103ca575f80fd5b506101cb6103d9366004611201565b6109ae565b3480156103e9575f80fd5b506101cb6109dd565b3480156103fd575f80fd5b5061027e61040c36600461122e565b6001600160a01b03165f9081526020819052604090205490565b348015610431575f80fd5b506101cb610abd565b348015610445575f80fd5b5061027e600a5481565b34801561045a575f80fd5b5061027e60025481565b34801561046f575f80fd5b5061027e60095481565b348015610484575f80fd5b5060065461035e906001600160a01b031681565b3480156104a3575f80fd5b5061021b610af9565b3480156104b7575f80fd5b506102ac6104c6366004611247565b610b08565b3480156104d6575f80fd5b506101cb6104e536600461126f565b610b3b565b3480156104f5575f80fd5b5061027e600c5481565b34801561050a575f80fd5b506007546102ac90600160a81b900460ff1681565b6101cb61052d366004611201565b610551565b34801561053d575f80fd5b506101cb61054c36600461126f565b610b83565b5f34116105935760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064015b60405180910390fd5b600754600160a01b900460ff166106b8575f670de0b6b3a764000034600a546105bc919061129c565b6105c691906112b3565b90505f811161060d5760405162461bcd60e51b8152602060048201526013602482015272139bdd08195b9bdd59da08115512081cd95b9d606a1b604482015260640161058a565b600754600160b01b900460ff161561067f57600254335f9081526020819052604090205461063b90836112d2565b111561067f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161058a565b8060095f82825461069091906112d2565b909155506106a19050303383610bcb565b600b54600954106106b4576106b4610d95565b5050565b5f6106c334476112d2565b305f908152602081905260409020546106dc903461129c565b6106e691906112b3565b600754909150600160b01b900460ff161561075b57600254335f9081526020819052604090205461071790836112d2565b111561075b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161058a565b600d5415610799575f6064600d5483610774919061129c565b61077e91906112b3565b905061078a81836112e5565b9150610797305f83610bcb565b505b818110156107dd5760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161058a565b6107e8303383610bcb565b604080513481525f60208201819052918101919091526060810182905233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737906080015b60405180910390a2505b50565b606060048054610849906112f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610875906112f8565b80156108c05780601f10610897576101008083540402835291602001916108c0565b820191905f5260205f20905b8154815290600101906020018083116108a357829003601f168201915b5050505050905090565b6007545f90600160a01b900460ff1661090557670de0b6b3a764000083600a546108f4919061129c565b6108fe91906112b3565b9050610962565b5f8061091d305f908152602081905260409020544791565b91509150831561094e5761093185836112d2565b61093b828761129c565b61094591906112b3565b92505050610962565b61095885826112d2565b61093b838761129c565b92915050565b6007546001600160a01b031633146109925760405162461bcd60e51b815260040161058a90611330565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b031633146109d85760405162461bcd60e51b815260040161058a90611372565b600255565b6007546001600160a01b03163314610a075760405162461bcd60e51b815260040161058a90611330565b60035463ffffffff164311610a515760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161058a565b6007805460ff60a01b1916905560405133904780156108fc02915f818181858888f19350505050158015610a87573d5f803e3d5ffd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b03163314610ae75760405162461bcd60e51b815260040161058a90611372565b600680546001600160a01b0319169055565b606060058054610849906112f8565b5f306001600160a01b03841603610b2757610b2282610dae565b610b32565b610b32338484610bcb565b50600192915050565b6006546001600160a01b03163314610b655760405162461bcd60e51b815260040161058a90611372565b60078054911515600160b01b0260ff60b01b19909216919091179055565b6006546001600160a01b03163314610bad5760405162461bcd60e51b815260040161058a90611372565b60078054911515600160a01b0260ff60a01b19909216919091179055565b6001600160a01b0383163014610c7c57335f908152600860205260409020544363ffffffff90911603610c5a5760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161058a565b335f908152600860205260409020805463ffffffff19164363ffffffff161790555b6001600160a01b0383165f90815260208190526040902054811115610cf25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161058a565b6001600160a01b038084165f908152602081905260409020805483900390558216610d2557600180548290039055610d43565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d8891815260200190565b60405180910390a3505050565b5f610da34362030d406112d2565b90506108378161103b565b600c54610dbe9062030d406112d2565b4310158015610dd75750600754600160a01b900460ff16155b15610ebc575f600a5482610deb91906112b3565b905080471015610e3d5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161058a565b610e48333084610bcb565b604051339082156108fc029083905f818181858888f19350505050158015610e72573d5f803e3d5ffd5b50604080515f80825260208201859052918101839052606081019190915233907f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb7379060800161082d565b600754600160a01b900460ff16610f0a5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161058a565b5f610f15825f6108ca565b90505f8111610f5c5760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161058a565b80471015610fac5760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161058a565b600e5415610e3d575f6064600e5483610fc5919061129c565b610fcf91906112b3565b9050610fdb81836112e5565b91505f6064610feb83601461129c565b610ff591906112b3565b600f546040519192506001600160a01b03169082156108fc029083905f818181858888f1935050505015801561102d573d5f803e3d5ffd5b505050610e48333084610bcb565b600754600160a81b900460ff16156110955760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161058a565b6007805460ff60a81b1916600160a81b17905547806110e75760405162461bcd60e51b815260206004820152600e60248201526d4e6f204554482062616c616e636560901b604482015260640161058a565b6003805463ffffffff841663ffffffff199091168117909155600780546006546001600160a81b03199091166001600160a01b0390911617600160a01b17905560408051918252602082018390527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a15050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b803580151581146111a8575f80fd5b919050565b5f80604083850312156111be575f80fd5b823591506111ce60208401611199565b90509250929050565b5f602082840312156111e7575f80fd5b813563ffffffff811681146111fa575f80fd5b9392505050565b5f60208284031215611211575f80fd5b5035919050565b80356001600160a01b03811681146111a8575f80fd5b5f6020828403121561123e575f80fd5b6111fa82611218565b5f8060408385031215611258575f80fd5b61126183611218565b946020939093013593505050565b5f6020828403121561127f575f80fd5b6111fa82611199565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761096257610962611288565b5f826112cd57634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561096257610962611288565b8181038181111561096257610962611288565b600181811c9082168061130c57607f821691505b60208210810361132a57634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220abe85c69344469290cd7cb307d0f605ea14e62ba46e80f59b1b7fea6ec8044c264736f6c63430008190033

Deployed Bytecode Sourcemap

8606:290:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8583:6;8587:1;8583:3;:6::i;:::-;8606:290;;;;;579:36;;;;;;;;;;-1:-1:-1;579:36:0;;;;;;;;;;;188:10:1;176:23;;;158:42;;146:2;131:18;579:36:0;;;;;;;;2181:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3760:137::-;;;;;;;;;;;;3882:4;3804:7;3864:24;;;;;;;;;;;3841:21;;3760:137;;;;;808:25:1;;;864:2;849:18;;842:34;;;;781:18;3760:137:0;634:248:1;5312:472:0;;;;;;;;;;-1:-1:-1;5312:472:0;;;;;:::i;:::-;;:::i;:::-;;;1451:25:1;;;1439:2;1424:18;5312:472:0;1305:177:1;815:27:0;;;;;;;;;;-1:-1:-1;815:27:0;;;;-1:-1:-1;;;815:27:0;;;;;;;;;1652:14:1;;1645:22;1627:41;;1615:2;1600:18;815:27:0;1487:187:1;750:25:0;;;;;;;;;;-1:-1:-1;750:25:0;;;;-1:-1:-1;;;750:25:0;;;;;;1362:22;;;;;;;;;;;;;;;;2475:99;;;;;;;;;;-1:-1:-1;2554:12:0;;2475:99;;5147:157;;;;;;;;;;-1:-1:-1;5147:157:0;;;;;:::i;:::-;;:::i;2383:84::-;;;;;;;;;;-1:-1:-1;2383:84:0;;2457:2;2102:36:1;;2090:2;2075:18;2383:84:0;1960:184:1;1391:25:0;;;;;;;;;;-1:-1:-1;1391:25:0;;;;-1:-1:-1;;;;;1391:25:0;;;;;;-1:-1:-1;;;;;2313:32:1;;;2295:51;;2283:2;2268:18;1391:25:0;2149:203:1;1334:21:0;;;;;;;;;;;;;;;;989:27;;;;;;;;;;;;;;;;709:32;;;;;;;;;;-1:-1:-1;709:32:0;;;;-1:-1:-1;;;;;709:32:0;;;4153:105;;;;;;;;;;-1:-1:-1;4153:105:0;;;;;:::i;:::-;;:::i;4850:289::-;;;;;;;;;;;;;:::i;2582:118::-;;;;;;;;;;-1:-1:-1;2582:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;2674:18:0;2647:7;2674:18;;;;;;;;;;;;2582:118;4266:85;;;;;;;;;;;;;:::i;956:25::-;;;;;;;;;;;;;;;;547;;;;;;;;;;;;;;;;922:27;;;;;;;;;;;;;;;;682:20;;;;;;;;;;-1:-1:-1;682:20:0;;;;-1:-1:-1;;;;;682:20:0;;;2280:95;;;;;;;;;;;;;:::i;2708:280::-;;;;;;;;;;-1:-1:-1;2708:280:0;;;;;:::i;:::-;;:::i;4025:120::-;;;;;;;;;;-1:-1:-1;4025:120:0;;;;;:::i;:::-;;:::i;1299:26::-;;;;;;;;;;;;;;;;782;;;;;;;;;;-1:-1:-1;782:26:0;;;;-1:-1:-1;;;782:26:0;;;;;;5792:1346;;;;;;:::i;:::-;;:::i;3905:112::-;;;;;;;;;;-1:-1:-1;3905:112:0;;;;;:::i;:::-;;:::i;5792:1346::-;5871:1;5859:9;:13;5851:37;;;;-1:-1:-1;;;5851:37:0;;3557:2:1;5851:37:0;;;3539:21:1;3596:2;3576:18;;;3569:30;-1:-1:-1;;;3615:18:1;;;3608:41;3666:18;;5851:37:0;;;;;;;;;5904:13;;-1:-1:-1;;;5904:13:0;;;;5899:1232;;5934:20;5985:7;5971:9;5958:10;;:22;;;;:::i;:::-;5957:35;;;;:::i;:::-;5934:58;;6030:1;6015:12;:16;6007:48;;;;-1:-1:-1;;;6007:48:0;;4424:2:1;6007:48:0;;;4406:21:1;4463:2;4443:18;;;4436:30;-1:-1:-1;;;4482:18:1;;;4475:49;4541:18;;6007:48:0;4222:343:1;6007:48:0;6074:15;;-1:-1:-1;;;6074:15:0;;;;6070:138;;;6158:10;;6143;6133:9;:21;;;;;;;;;;;6118:36;;:12;:36;:::i;:::-;:50;;6110:82;;;;-1:-1:-1;;;6110:82:0;;4902:2:1;6110:82:0;;;4884:21:1;4941:2;4921:18;;;4914:30;-1:-1:-1;;;4960:18:1;;;4953:49;5019:18;;6110:82:0;4700:343:1;6110:82:0;6238:12;6222;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;6265:50:0;;-1:-1:-1;6283:4:0;6290:10;6302:12;6265:9;:50::i;:::-;6350:12;;6334;;:28;6330:100;;6383:31;:29;:31::i;:::-;5919:522;5792:1346;:::o;5899:1232::-;6462:20;6527:33;6551:9;6527:21;:33;:::i;:::-;6516:4;6498:9;:24;;;;;;;;;;;6486:36;;:9;:36;:::i;:::-;6485:76;;;;:::i;:::-;6580:15;;6462:99;;-1:-1:-1;;;;6580:15:0;;;;6576:138;;;6664:10;;6649;6639:9;:21;;;;;;;;;;;6624:36;;:12;:36;:::i;:::-;:50;;6616:82;;;;-1:-1:-1;;;6616:82:0;;4902:2:1;6616:82:0;;;4884:21:1;4941:2;4921:18;;;4914:30;-1:-1:-1;;;4960:18:1;;;4953:49;5019:18;;6616:82:0;4700:343:1;6616:82:0;6732:6;;:10;6728:192;;6763:11;6803:3;6793:6;;6778:12;:21;;;;:::i;:::-;6777:29;;;;:::i;:::-;6763:43;-1:-1:-1;6825:19:0;6763:43;6825:19;;:::i;:::-;;;6863:41;6881:4;6896:1;6900:3;6863:9;:41::i;:::-;6744:176;6728:192;6958:10;6942:12;:26;;6934:56;;;;-1:-1:-1;;;6934:56:0;;5383:2:1;6934:56:0;;;5365:21:1;5422:2;5402:18;;;5395:30;-1:-1:-1;;;5441:18:1;;;5434:47;5498:18;;6934:56:0;5181:341:1;6934:56:0;7005:50;7023:4;7030:10;7042:12;7005:9;:50::i;:::-;7075:44;;;7092:9;5774:25:1;;7102:1:0;5830:2:1;5815:18;;5808:34;;;5858:18;;;5851:34;;;;5916:2;5901:18;;5894:34;;;7080:10:0;;7075:44;;5761:3:1;5746:19;7075:44:0;;;;;;;;6447:684;5899:1232;5792:1346;:::o;2181:91::-;2226:13;2259:5;2252:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:91;:::o;5312:472::-;5405:13;;5380:7;;-1:-1:-1;;;5405:13:0;;;;5400:377;;5463:7;5455:5;5442:10;;:18;;;;:::i;:::-;:28;;;;:::i;:::-;5435:35;;;;5400:377;5502:18;5522:20;5546:13;3882:4;3804:7;3864:24;;;;;;;;;;;3841:21;;3760:137;5546:13;5501:58;;;;5580:4;5576:190;;;5638:18;5651:5;5638:10;:18;:::i;:::-;5613:20;5621:12;5613:5;:20;:::i;:::-;5612:45;;;;:::i;:::-;5605:52;;;;;;5576:190;5729:20;5744:5;5729:12;:20;:::i;:::-;5706:18;5714:10;5706:5;:18;:::i;5400:377::-;5312:472;;;;:::o;5147:157::-;1215:17;;-1:-1:-1;;;;;1215:17:0;1201:10;:31;1193:78;;;;-1:-1:-1;;;1193:78:0;;;;;;;:::i;:::-;5248:22:::1;:48:::0;;-1:-1:-1;;5248:48:0::1;;::::0;;;::::1;::::0;;;::::1;::::0;;5147:157::o;4153:105::-;1079:5;;-1:-1:-1;;;;;1079:5:0;1065:10;:19;1057:64;;;;-1:-1:-1;;;1057:64:0;;;;;;;:::i;:::-;4226:10:::1;:24:::0;4153:105::o;4850:289::-;1215:17;;-1:-1:-1;;;;;1215:17:0;1201:10;:31;1193:78;;;;-1:-1:-1;;;1193:78:0;;;;;;;:::i;:::-;4940:22:::1;::::0;::::1;;4925:12;:37;4917:66;;;::::0;-1:-1:-1;;;4917:66:0;;7290:2:1;4917:66:0::1;::::0;::::1;7272:21:1::0;7329:2;7309:18;;;7302:30;-1:-1:-1;;;7348:18:1;;;7341:46;7404:18;;4917:66:0::1;7088:340:1::0;4917:66:0::1;4994:13;:21:::0;;-1:-1:-1;;;;4994:21:0::1;::::0;;5026:51:::1;::::0;5034:10:::1;::::0;5055:21:::1;5026:51:::0;::::1;;;::::0;5010:5:::1;5026:51:::0;5010:5;5026:51;5055:21;5034:10;5026:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;5093:38:0::1;::::0;5109:21:::1;1451:25:1::0;;5093:38:0::1;::::0;1439:2:1;1424:18;5093:38:0::1;;;;;;;4850:289::o:0;4266:85::-;1079:5;;-1:-1:-1;;;;;1079:5:0;1065:10;:19;1057:64;;;;-1:-1:-1;;;1057:64:0;;;;;;;:::i;:::-;4325:5:::1;:18:::0;;-1:-1:-1;;;;;;4325:18:0::1;::::0;;4266:85::o;2280:95::-;2327:13;2360:7;2353:14;;;;;:::i;2708:280::-;2777:4;2841;-1:-1:-1;;;;;2827:19:0;;;2823:136;;2863:11;2868:5;2863:4;:11::i;:::-;2823:136;;;2915:32;2925:10;2937:2;2941:5;2915:9;:32::i;:::-;-1:-1:-1;2976:4:0;2708:280;;;;:::o;4025:120::-;1079:5;;-1:-1:-1;;;;;1079:5:0;1065:10;:19;1057:64;;;;-1:-1:-1;;;1057:64:0;;;;;;;:::i;:::-;4103:15:::1;:34:::0;;;::::1;;-1:-1:-1::0;;;4103:34:0::1;-1:-1:-1::0;;;;4103:34:0;;::::1;::::0;;;::::1;::::0;;4025:120::o;3905:112::-;1079:5;;-1:-1:-1;;;;;1079:5:0;1065:10;:19;1057:64;;;;-1:-1:-1;;;1057:64:0;;;;;;;:::i;:::-;3979:13:::1;:30:::0;;;::::1;;-1:-1:-1::0;;;3979:30:0::1;-1:-1:-1::0;;;;3979:30:0;;::::1;::::0;;;::::1;::::0;;3905:112::o;2996:756::-;-1:-1:-1;;;;;3087:21:0;;3103:4;3087:21;3084:222;;3148:10;3132:27;;;;:15;:27;;;;;;3163:12;3132:27;;;;:43;3124:105;;;;-1:-1:-1;;;3124:105:0;;7635:2:1;3124:105:0;;;7617:21:1;7674:2;7654:18;;;7647:30;7713:34;7693:18;;;7686:62;-1:-1:-1;;;7764:18:1;;;7757:47;7821:19;;3124:105:0;7433:413:1;3124:105:0;3260:10;3244:27;;;;:15;:27;;;;;:50;;-1:-1:-1;;3244:50:0;3281:12;3244:50;;;;;3084:222;-1:-1:-1;;;;;3325:15:0;;:9;:15;;;;;;;;;;;:24;-1:-1:-1;3325:24:0;3316:76;;;;-1:-1:-1;;;3316:76:0;;8053:2:1;3316:76:0;;;8035:21:1;8092:2;8072:18;;;8065:30;8131:34;8111:18;;;8104:62;-1:-1:-1;;;8182:18:1;;;8175:36;8228:19;;3316:76:0;7851:402:1;3316:76:0;-1:-1:-1;;;;;3446:15:0;;;:9;:15;;;;;;;;;;;;:23;;;3428:41;;3495:16;;3491:213;;3557:12;:21;;;;;;;3491:213;;;-1:-1:-1;;;;;3655:13:0;;:9;:13;;;;;;;;;;:22;;;;;;3491:213;3734:2;-1:-1:-1;;;;;3719:25:0;3728:4;-1:-1:-1;;;;;3719:25:0;;3738:5;3719:25;;;;1451::1;;1439:2;1424:18;;1305:177;3719:25:0;;;;;;;;2996:756;;;:::o;7146:159::-;7207:20;7237:21;:12;7252:6;7237:21;:::i;:::-;7207:52;;7270:27;7283:13;7270:12;:27::i;7313:1224::-;7388:11;;:20;;7402:6;7388:20;:::i;:::-;7372:12;:36;;:54;;;;-1:-1:-1;7413:13:0;;-1:-1:-1;;;7413:13:0;;;;7412:14;7372:54;7368:1162;;;7443:17;7478:10;;7463:11;:25;;;;:::i;:::-;7443:45;;7536:9;7511:21;:34;;7503:75;;;;-1:-1:-1;;;7503:75:0;;8460:2:1;7503:75:0;;;8442:21:1;8499:2;8479:18;;;8472:30;8538;8518:18;;;8511:58;8586:18;;7503:75:0;8258:352:1;7503:75:0;7593:49;7603:10;7623:4;7630:11;7593:9;:49::i;:::-;7657:39;;7665:10;;7657:39;;;;;7686:9;;7657:39;;;;7686:9;7665:10;7657:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7716:46:0;;;7733:1;5774:25:1;;;5830:2;5815:18;;5808:34;;;5858:18;;;5851:34;;;5916:2;5901:18;;5894:34;;;;7721:10:0;;7716:46;;5761:3:1;5746:19;7716:46:0;5527:407:1;7368:1162:0;7803:13;;-1:-1:-1;;;7803:13:0;;;;7795:44;;;;-1:-1:-1;;;7795:44:0;;9229:2:1;7795:44:0;;;9211:21:1;9268:2;9248:18;;;9241:30;-1:-1:-1;;;9287:18:1;;;9280:48;9345:18;;7795:44:0;9027:342:1;7795:44:0;7854:17;7874:32;7887:11;7900:5;7874:12;:32::i;:::-;7854:52;;7941:1;7929:9;:13;7921:45;;;;-1:-1:-1;;;7921:45:0;;9576:2:1;7921:45:0;;;9558:21:1;9615:2;9595:18;;;9588:30;-1:-1:-1;;;9634:18:1;;;9627:49;9693:18;;7921:45:0;9374:343:1;7921:45:0;8014:9;7989:21;:34;;7981:75;;;;-1:-1:-1;;;7981:75:0;;8460:2:1;7981:75:0;;;8442:21:1;8499:2;8479:18;;;8472:30;8538;8518:18;;;8511:58;8586:18;;7981:75:0;8258:352:1;7981:75:0;8074:7;;:11;8071:264;;8105:14;8146:3;8135:7;;8123:9;:19;;;;:::i;:::-;8122:27;;;;:::i;:::-;8105:44;-1:-1:-1;8168:19:0;8105:44;8168:19;;:::i;:::-;;-1:-1:-1;8206:25:0;8250:3;8235:11;:6;8244:2;8235:11;:::i;:::-;8234:19;;;;:::i;:::-;8280:10;;8272:47;;8206;;-1:-1:-1;;;;;;8280:10:0;;8272:47;;;;;8206;;8280:10;8272:47;8280:10;8272:47;8206;8280:10;8272:47;;;;;;;;;;;;;;;;;;;;;8086:249;;8349:49;8359:10;8379:4;8386:11;8349:9;:49::i;4359:483::-;4442:14;;-1:-1:-1;;;4442:14:0;;;;:23;4434:59;;;;-1:-1:-1;;;4434:59:0;;9924:2:1;4434:59:0;;;9906:21:1;9963:2;9943:18;;;9936:30;10002:25;9982:18;;;9975:53;10045:18;;4434:59:0;9722:347:1;4434:59:0;4504:14;:21;;-1:-1:-1;;;;4504:21:0;-1:-1:-1;;;4504:21:0;;;4558;4598:15;4590:42;;;;-1:-1:-1;;;4590:42:0;;10276:2:1;4590:42:0;;;10258:21:1;10315:2;10295:18;;;10288:30;-1:-1:-1;;;10334:18:1;;;10327:44;10388:18;;4590:42:0;10074:338:1;4590:42:0;4643:22;:48;;;;;-1:-1:-1;;4643:48:0;;;;;;;;4702:13;:20;;4753:5;;-1:-1:-1;;;;;;4733:25:0;;;-1:-1:-1;;;;;4753:5:0;;;4733:25;-1:-1:-1;;;4733:25:0;;;4784:50;;;10589:42:1;;;10662:2;10647:18;;10640:34;;;4784:50:0;;10562:18:1;4784:50:0;;;;;;;4423:419;4359:483;:::o;211:418:1:-;360:2;349:9;342:21;323:4;392:6;386:13;435:6;430:2;419:9;415:18;408:34;494:6;489:2;481:6;477:15;472:2;461:9;457:18;451:50;550:1;545:2;536:6;525:9;521:22;517:31;510:42;620:2;613;609:7;604:2;596:6;592:15;588:29;577:9;573:45;569:54;561:62;;;211:418;;;;:::o;887:160::-;952:20;;1008:13;;1001:21;991:32;;981:60;;1037:1;1034;1027:12;981:60;887:160;;;:::o;1052:248::-;1117:6;1125;1178:2;1166:9;1157:7;1153:23;1149:32;1146:52;;;1194:1;1191;1184:12;1146:52;1230:9;1217:23;1207:33;;1259:35;1290:2;1279:9;1275:18;1259:35;:::i;:::-;1249:45;;1052:248;;;;;:::o;1679:276::-;1737:6;1790:2;1778:9;1769:7;1765:23;1761:32;1758:52;;;1806:1;1803;1796:12;1758:52;1845:9;1832:23;1895:10;1888:5;1884:22;1877:5;1874:33;1864:61;;1921:1;1918;1911:12;1864:61;1944:5;1679:276;-1:-1:-1;;;1679:276:1:o;2357:180::-;2416:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:52;;;2485:1;2482;2475:12;2437:52;-1:-1:-1;2508:23:1;;2357:180;-1:-1:-1;2357:180:1:o;2542:173::-;2610:20;;-1:-1:-1;;;;;2659:31:1;;2649:42;;2639:70;;2705:1;2702;2695:12;2720:186;2779:6;2832:2;2820:9;2811:7;2807:23;2803:32;2800:52;;;2848:1;2845;2838:12;2800:52;2871:29;2890:9;2871:29;:::i;2911:254::-;2979:6;2987;3040:2;3028:9;3019:7;3015:23;3011:32;3008:52;;;3056:1;3053;3046:12;3008:52;3079:29;3098:9;3079:29;:::i;:::-;3069:39;3155:2;3140:18;;;;3127:32;;-1:-1:-1;;;2911:254:1:o;3170:180::-;3226:6;3279:2;3267:9;3258:7;3254:23;3250:32;3247:52;;;3295:1;3292;3285:12;3247:52;3318:26;3334:9;3318:26;:::i;3695:127::-;3756:10;3751:3;3747:20;3744:1;3737:31;3787:4;3784:1;3777:15;3811:4;3808:1;3801:15;3827:168;3900:9;;;3931;;3948:15;;;3942:22;;3928:37;3918:71;;3969:18;;:::i;4000:217::-;4040:1;4066;4056:132;;4110:10;4105:3;4101:20;4098:1;4091:31;4145:4;4142:1;4135:15;4173:4;4170:1;4163:15;4056:132;-1:-1:-1;4202:9:1;;4000:217::o;4570:125::-;4635:9;;;4656:10;;;4653:36;;;4669:18;;:::i;5048:128::-;5115:9;;;5136:11;;;5133:37;;;5150:18;;:::i;5939:380::-;6018:1;6014:12;;;;6061;;;6082:61;;6136:4;6128:6;6124:17;6114:27;;6082:61;6189:2;6181:6;6178:14;6158:18;6155:38;6152:161;;6235:10;6230:3;6226:20;6223:1;6216:31;6270:4;6267:1;6260:15;6298:4;6295:1;6288:15;6152:161;;5939:380;;;:::o;6324:398::-;6526:2;6508:21;;;6565:2;6545:18;;;6538:30;6604:34;6599:2;6584:18;;6577:62;-1:-1:-1;;;6670:2:1;6655:18;;6648:32;6712:3;6697:19;;6324:398::o;6727:356::-;6929:2;6911:21;;;6948:18;;;6941:30;7007:34;7002:2;6987:18;;6980:62;7074:2;7059:18;;6727:356::o

Swarm Source

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