ETH Price: $3,654.51 (+1.14%)
 

Overview

Max Total Supply

987,361,606.544123558 HAWK

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
329,177.180282882 HAWK

Value
$0.00
0xf6bd6d5a1952792d70e5397aa1773ed68f96763b
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:
HAWK

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

Website: https://hawk.forex
TG: https://t.me/portalhawk

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.15;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function  renounceOwnership() public onlyOwner {
        owner = address(0); 
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

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

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract HAWK is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Hawk';
    string private constant _symbol = 'HAWK';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1000000000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExFromFees;
    IRouter router;
    address public pair;
    bool private tradingEnabled = false;
    bool private swapEnabled = true;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 1;
    uint256 private _maxSwapTokens = ( _totalSupply * 9 ) / 1000;
    uint256 private _minSwapTokens = ( _totalSupply * 7 ) / 1000000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 0;
    uint256 private burnFee = 0;
    uint256 private _buyFee = 0;
    uint256 private _sellFee = 0;
    uint256 private _transFee = 0;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal _mktWallet = 0xD19260941e5E4Ea347611d6B6eaFF65217c8d448;
    uint256 public _maxWalletTokens = ( _totalSupply * 150 ) / 10000;

    constructor() Ownable(msg.sender) {
        router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _isExFromFees[address(this)] = true;
        _isExFromFees[_mktWallet] = true;
        _isExFromFees[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 openTrading() external onlyOwner {tradingEnabled=true;_sellFee=1800;_buyFee=1800;marketingFee=1800;}
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function addLiquidity() external payable onlyOwner {
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        addLiquidity(_balances[address(this)], msg.value);
    }

    function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= _minSwapTokens;
        bool aboveThreshold = balanceOf(address(this)) >= _minSwapTokens;
        return !swapping && swapEnabled && tradingEnabled && aboveMin && !_isExFromFees[sender] && recipient == pair && swapTimes >= swapAmount && aboveThreshold;
    }

    function removeLimits() external onlyOwner {
        _maxWalletTokens = _totalSupply;
    }

    function updateFees(uint256 _fee) external onlyOwner {
        _sellFee = _fee;
        _buyFee = _fee;
        marketingFee = _fee;
        require(_fee <= 500);
    }

    function manualSwap() external onlyOwner {
        swapAndLiquify(_balances[address(this)]);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(_mktWallet).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(_mktWallet).transfer(contractBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner,
            block.timestamp);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !_isExFromFees[sender] && !_isExFromFees[recipient];
    }

    function getTaxFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return _sellFee;}
        if(sender == pair){return _buyFee;}
        return _transFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTaxFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTaxFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getTaxFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    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");
        if(!_isExFromFees[sender] && !_isExFromFees[recipient]){require(tradingEnabled, "tradingEnabled");}
        if(_isExFromFees[sender] && recipient == pair && sender != address(this)){_balances[recipient]+=amount;return;}
        if(!_isExFromFees[sender] && !_isExFromFees[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletTokens, "Exceeds maximum wallet amount.");}
        if(recipient == pair && !_isExFromFees[sender]){swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient, amount)){
            uint256 amountToSwap = _balances[address(this)];
            if(amountToSwap >= _maxSwapTokens) amountToSwap = _maxSwapTokens;
            swapAndLiquify(amountToSwap); swapTimes = uint256(0);
        }
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

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

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

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":"address","name":"owner","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":"_maxWalletTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"pair","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620002cd565b6200002290633b9aca00620002e4565b60018181556006805461ffff60a01b1916600160a81b17905560099081556103e8916200004f91620002e4565b6200005b9190620002fe565b600a55620f42406001546007620000739190620002e4565b6200007f9190620002fe565b600b555f600c819055600d819055600e819055600f819055601081905560118190556012556127106013819055601480546001600160a01b03191673d19260941e5e4ea347611d6b6eaff65217c8d448179055600154620000e2906096620002e4565b620000ee9190620002fe565b601555348015620000fd575f80fd5b505f80546001600160a01b031990811633908117835560058054909216737a250d5630b4cf539739df2c5dacb4c659f2488d17909155308252600460209081526040808420805460ff1990811660019081179092556014546001600160a01b031686528286208054821683179055848652828620805490911682179055546002835281852081905590519081529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200031e565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200021257815f1904821115620001f657620001f6620001be565b808516156200020457918102915b93841c9390800290620001d7565b509250929050565b5f826200022a57506001620002c7565b816200023857505f620002c7565b81600181146200025157600281146200025c576200027c565b6001915050620002c7565b60ff841115620002705762000270620001be565b50506001821b620002c7565b5060208310610133831016604e8410600b8410161715620002a1575081810a620002c7565b620002ad8383620001d2565b805f1904821115620002c357620002c3620001be565b0290505b92915050565b5f620002dd60ff8416836200021a565b9392505050565b8082028115828204841417620002c757620002c7620001be565b5f826200031957634e487b7160e01b5f52601260045260245ffd5b500490565b61164b806200032c5f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063a8aa1b3111610062578063a8aa1b3114610316578063a9059cbb14610335578063c9567bf914610354578063dd62ed3e14610368578063e8078d94146103ac575f80fd5b8063751039fc1461027257806378dacee114610286578063893d20e8146102a557806395d89b41146102d5578063996d316114610301575f80fd5b80632f54bf6e116100e35780632f54bf6e146101cc578063313ce567146101f957806351bc3c851461021457806370a082311461022a578063715018a61461025e575f80fd5b806306fdde031461011e578063095ea7b31461015c57806318160ddd1461018b57806323b872dd146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260048152634861776b60e01b60208201525b6040516101539190611364565b60405180910390f35b348015610167575f80fd5b5061017b6101763660046113c3565b6103b4565b6040519015158152602001610153565b348015610196575f80fd5b5061019f6103ca565b604051908152602001610153565b3480156101b8575f80fd5b5061017b6101c73660046113ed565b61043a565b3480156101d7575f80fd5b5061017b6101e636600461142b565b5f546001600160a01b0391821691161490565b348015610204575f80fd5b5060405160098152602001610153565b34801561021f575f80fd5b506102286104a2565b005b348015610235575f80fd5b5061019f61024436600461142b565b6001600160a01b03165f9081526002602052604090205490565b348015610269575f80fd5b506102286104ee565b34801561027d575f80fd5b5061022861055b565b348015610291575f80fd5b506102286102a0366004611446565b61058c565b3480156102b0575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610153565b3480156102e0575f80fd5b506040805180820190915260048152634841574b60e01b6020820152610146565b34801561030c575f80fd5b5061019f60155481565b348015610321575f80fd5b506006546102bd906001600160a01b031681565b348015610340575f80fd5b5061017b61034f3660046113c3565b6105d5565b34801561035f575f80fd5b506102286105e1565b348015610373575f80fd5b5061019f61038236600461145d565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61022861062f565b5f6103c03384846107f6565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261043592909161042f9190610919565b90610919565b905090565b5f610446848484610924565b6104978433610492856040518060600160405280602881526020016115ee602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610d51565b6107f6565b5060015b9392505050565b5f546001600160a01b031633146104d45760405162461bcd60e51b81526004016104cb90611494565b60405180910390fd5b305f908152600260205260409020546104ec90610d7c565b565b5f546001600160a01b031633146105175760405162461bcd60e51b81526004016104cb90611494565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146105845760405162461bcd60e51b81526004016104cb90611494565b600154601555565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016104cb90611494565b60118190556010819055600d8190556101f48111156105d2575f80fd5b50565b5f6103c0338484610924565b5f546001600160a01b0316331461060a5760405162461bcd60e51b81526004016104cb90611494565b6006805460ff60a01b1916600160a01b17905561070860118190556010819055600d55565b5f546001600160a01b031633146106585760405162461bcd60e51b81526004016104cb90611494565b60055f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cc91906114b4565b6001600160a01b031663c9c653963060055f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074f91906114b4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610799573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bd91906114b4565b600680546001600160a01b0319166001600160a01b0392909216919091179055305f908152600260205260409020546104ec9034610ef8565b6001600160a01b0383166108585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104cb565b6001600160a01b0382166108b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104cb565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61049b82846114e3565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104cb565b6001600160a01b0382166109ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104cb565b6001600160a01b0383165f9081526004602052604090205460ff16158015610a2a57506001600160a01b0382165f9081526004602052604090205460ff16155b15610a7957600654600160a01b900460ff16610a795760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b60448201526064016104cb565b6001600160a01b0383165f9081526004602052604090205460ff168015610aad57506006546001600160a01b038381169116145b8015610ac257506001600160a01b0383163014155b15610af8576001600160a01b0382165f9081526002602052604081208054839290610aee9084906114f6565b9091555050505050565b6001600160a01b0383165f9081526004602052604090205460ff16158015610b3857506001600160a01b0382165f9081526004602052604090205460ff16155b8015610b5257506006546001600160a01b03838116911614155b8015610b6957506001600160a01b03821661dead14155b15610be1576015546001600160a01b0383165f90815260026020526040902054610b939083610fac565b1115610be15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104cb565b6006546001600160a01b038381169116148015610c1657506001600160a01b0383165f9081526004602052604090205460ff16155b15610c3357600160075f828254610c2d91906114f6565b90915550505b610c3e838383610fb7565b15610c6f57305f90815260026020526040902054600a548110610c605750600a545b610c6981610d7c565b505f6007555b6001600160a01b0383165f90815260026020526040902054610c919082610919565b6001600160a01b0384165f90815260026020526040812091909155610cb6848461106e565b610cc05781610ccb565b610ccb8484846110b2565b6001600160a01b0384165f90815260026020526040902054909150610cf09082610fac565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d439085815260200190565b60405180910390a350505050565b5f8184841115610d745760405162461bcd60e51b81526004016104cb9190611364565b505050900390565b6008805460ff19166001908117909155600e54600d54600c545f93610dbb93600293610db5939192610daf928391610fac565b90610fac565b906111b4565b90505f610ddd82610dd7600c54866111b490919063ffffffff16565b906111bf565b90505f610dea8483610919565b905047610df6826111ca565b5f610e014783610919565b90505f610e23610e1c600c548861091990919063ffffffff16565b83906111bf565b90505f610e3b600c54836111b490919063ffffffff16565b90508015610e4d57610e4d8682610ef8565b600d545f90610e6190610db58560026111b4565b90508015610ea2576014546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ea0573d5f803e3d5ffd5b505b478015610ee2576014546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ee0573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b600554610f109030906001600160a01b0316846107f6565b6005545f805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610f80573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fa59190611509565b5050505050565b5f61049b82846114f6565b600b54305f90815260026020526040812054600854919280851015929110159060ff16158015610ff05750600654600160a81b900460ff165b80156110055750600654600160a01b900460ff165b801561100e5750815b801561103257506001600160a01b0386165f9081526004602052604090205460ff16155b801561104b57506006546001600160a01b038681169116145b801561105b575060095460075410155b80156110645750805b9695505050505050565b6001600160a01b0382165f9081526004602052604081205460ff1615801561049b5750506001600160a01b03165f9081526004602052604090205460ff1615919050565b5f806110be858561131a565b11156111ad575f6110e06110d2868661131a565b601354610db59086906111bf565b305f908152600260205260409020549091506110fc9082610fac565b305f81815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061114c9085815260200190565b60405180910390a35f600f5411801561116f5750600f5461116d868661131a565b115b1561119b5761119b3061dead611196600f54610db5601354896111bf90919063ffffffff16565b610924565b6111a58382610919565b91505061049b565b5092915050565b5f61049b8284611534565b5f61049b828461154b565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111fd576111fd61156a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611254573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127891906114b4565b8160018151811061128b5761128b61156a565b6001600160a01b0392831660209182029290920101526005546112b191309116846107f6565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112e99085905f9086903090429060040161157e565b5f604051808303815f87803b158015611300575f80fd5b505af1158015611312573d5f803e3d5ffd5b505050505050565b6006545f906001600160a01b039081169083160361133b57506011546103c4565b6006546001600160a01b039081169084160361135a57506010546103c4565b5060125492915050565b5f6020808352835180828501525f5b8181101561138f57858101830151858201604001528201611373565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105d2575f80fd5b5f80604083850312156113d4575f80fd5b82356113df816113af565b946020939093013593505050565b5f805f606084860312156113ff575f80fd5b833561140a816113af565b9250602084013561141a816113af565b929592945050506040919091013590565b5f6020828403121561143b575f80fd5b813561049b816113af565b5f60208284031215611456575f80fd5b5035919050565b5f806040838503121561146e575f80fd5b8235611479816113af565b91506020830135611489816113af565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f602082840312156114c4575f80fd5b815161049b816113af565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c4576103c46114cf565b808201808211156103c4576103c46114cf565b5f805f6060848603121561151b575f80fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176103c4576103c46114cf565b5f8261156557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115cc5784516001600160a01b0316835293830193918301916001016115a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085ed4cc510f45f92a7b5b01d06eff45b382fb8235fa8bda5cc8b7726850e443d64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063a8aa1b3111610062578063a8aa1b3114610316578063a9059cbb14610335578063c9567bf914610354578063dd62ed3e14610368578063e8078d94146103ac575f80fd5b8063751039fc1461027257806378dacee114610286578063893d20e8146102a557806395d89b41146102d5578063996d316114610301575f80fd5b80632f54bf6e116100e35780632f54bf6e146101cc578063313ce567146101f957806351bc3c851461021457806370a082311461022a578063715018a61461025e575f80fd5b806306fdde031461011e578063095ea7b31461015c57806318160ddd1461018b57806323b872dd146101ad575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260048152634861776b60e01b60208201525b6040516101539190611364565b60405180910390f35b348015610167575f80fd5b5061017b6101763660046113c3565b6103b4565b6040519015158152602001610153565b348015610196575f80fd5b5061019f6103ca565b604051908152602001610153565b3480156101b8575f80fd5b5061017b6101c73660046113ed565b61043a565b3480156101d7575f80fd5b5061017b6101e636600461142b565b5f546001600160a01b0391821691161490565b348015610204575f80fd5b5060405160098152602001610153565b34801561021f575f80fd5b506102286104a2565b005b348015610235575f80fd5b5061019f61024436600461142b565b6001600160a01b03165f9081526002602052604090205490565b348015610269575f80fd5b506102286104ee565b34801561027d575f80fd5b5061022861055b565b348015610291575f80fd5b506102286102a0366004611446565b61058c565b3480156102b0575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610153565b3480156102e0575f80fd5b506040805180820190915260048152634841574b60e01b6020820152610146565b34801561030c575f80fd5b5061019f60155481565b348015610321575f80fd5b506006546102bd906001600160a01b031681565b348015610340575f80fd5b5061017b61034f3660046113c3565b6105d5565b34801561035f575f80fd5b506102286105e1565b348015610373575f80fd5b5061019f61038236600461145d565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61022861062f565b5f6103c03384846107f6565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261043592909161042f9190610919565b90610919565b905090565b5f610446848484610924565b6104978433610492856040518060600160405280602881526020016115ee602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610d51565b6107f6565b5060015b9392505050565b5f546001600160a01b031633146104d45760405162461bcd60e51b81526004016104cb90611494565b60405180910390fd5b305f908152600260205260409020546104ec90610d7c565b565b5f546001600160a01b031633146105175760405162461bcd60e51b81526004016104cb90611494565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146105845760405162461bcd60e51b81526004016104cb90611494565b600154601555565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016104cb90611494565b60118190556010819055600d8190556101f48111156105d2575f80fd5b50565b5f6103c0338484610924565b5f546001600160a01b0316331461060a5760405162461bcd60e51b81526004016104cb90611494565b6006805460ff60a01b1916600160a01b17905561070860118190556010819055600d55565b5f546001600160a01b031633146106585760405162461bcd60e51b81526004016104cb90611494565b60055f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106cc91906114b4565b6001600160a01b031663c9c653963060055f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074f91906114b4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610799573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107bd91906114b4565b600680546001600160a01b0319166001600160a01b0392909216919091179055305f908152600260205260409020546104ec9034610ef8565b6001600160a01b0383166108585760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104cb565b6001600160a01b0382166108b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104cb565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61049b82846114e3565b6001600160a01b0383166109885760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104cb565b6001600160a01b0382166109ea5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104cb565b6001600160a01b0383165f9081526004602052604090205460ff16158015610a2a57506001600160a01b0382165f9081526004602052604090205460ff16155b15610a7957600654600160a01b900460ff16610a795760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b60448201526064016104cb565b6001600160a01b0383165f9081526004602052604090205460ff168015610aad57506006546001600160a01b038381169116145b8015610ac257506001600160a01b0383163014155b15610af8576001600160a01b0382165f9081526002602052604081208054839290610aee9084906114f6565b9091555050505050565b6001600160a01b0383165f9081526004602052604090205460ff16158015610b3857506001600160a01b0382165f9081526004602052604090205460ff16155b8015610b5257506006546001600160a01b03838116911614155b8015610b6957506001600160a01b03821661dead14155b15610be1576015546001600160a01b0383165f90815260026020526040902054610b939083610fac565b1115610be15760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104cb565b6006546001600160a01b038381169116148015610c1657506001600160a01b0383165f9081526004602052604090205460ff16155b15610c3357600160075f828254610c2d91906114f6565b90915550505b610c3e838383610fb7565b15610c6f57305f90815260026020526040902054600a548110610c605750600a545b610c6981610d7c565b505f6007555b6001600160a01b0383165f90815260026020526040902054610c919082610919565b6001600160a01b0384165f90815260026020526040812091909155610cb6848461106e565b610cc05781610ccb565b610ccb8484846110b2565b6001600160a01b0384165f90815260026020526040902054909150610cf09082610fac565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d439085815260200190565b60405180910390a350505050565b5f8184841115610d745760405162461bcd60e51b81526004016104cb9190611364565b505050900390565b6008805460ff19166001908117909155600e54600d54600c545f93610dbb93600293610db5939192610daf928391610fac565b90610fac565b906111b4565b90505f610ddd82610dd7600c54866111b490919063ffffffff16565b906111bf565b90505f610dea8483610919565b905047610df6826111ca565b5f610e014783610919565b90505f610e23610e1c600c548861091990919063ffffffff16565b83906111bf565b90505f610e3b600c54836111b490919063ffffffff16565b90508015610e4d57610e4d8682610ef8565b600d545f90610e6190610db58560026111b4565b90508015610ea2576014546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ea0573d5f803e3d5ffd5b505b478015610ee2576014546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610ee0573d5f803e3d5ffd5b505b50506008805460ff191690555050505050505050565b600554610f109030906001600160a01b0316846107f6565b6005545f805460405163f305d71960e01b8152306004820152602481018690526044810183905260648101929092526001600160a01b0390811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015610f80573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fa59190611509565b5050505050565b5f61049b82846114f6565b600b54305f90815260026020526040812054600854919280851015929110159060ff16158015610ff05750600654600160a81b900460ff165b80156110055750600654600160a01b900460ff165b801561100e5750815b801561103257506001600160a01b0386165f9081526004602052604090205460ff16155b801561104b57506006546001600160a01b038681169116145b801561105b575060095460075410155b80156110645750805b9695505050505050565b6001600160a01b0382165f9081526004602052604081205460ff1615801561049b5750506001600160a01b03165f9081526004602052604090205460ff1615919050565b5f806110be858561131a565b11156111ad575f6110e06110d2868661131a565b601354610db59086906111bf565b305f908152600260205260409020549091506110fc9082610fac565b305f81815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061114c9085815260200190565b60405180910390a35f600f5411801561116f5750600f5461116d868661131a565b115b1561119b5761119b3061dead611196600f54610db5601354896111bf90919063ffffffff16565b610924565b6111a58382610919565b91505061049b565b5092915050565b5f61049b8284611534565b5f61049b828461154b565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106111fd576111fd61156a565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611254573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061127891906114b4565b8160018151811061128b5761128b61156a565b6001600160a01b0392831660209182029290920101526005546112b191309116846107f6565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac947906112e99085905f9086903090429060040161157e565b5f604051808303815f87803b158015611300575f80fd5b505af1158015611312573d5f803e3d5ffd5b505050505050565b6006545f906001600160a01b039081169083160361133b57506011546103c4565b6006546001600160a01b039081169084160361135a57506010546103c4565b5060125492915050565b5f6020808352835180828501525f5b8181101561138f57858101830151858201604001528201611373565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105d2575f80fd5b5f80604083850312156113d4575f80fd5b82356113df816113af565b946020939093013593505050565b5f805f606084860312156113ff575f80fd5b833561140a816113af565b9250602084013561141a816113af565b929592945050506040919091013590565b5f6020828403121561143b575f80fd5b813561049b816113af565b5f60208284031215611456575f80fd5b5035919050565b5f806040838503121561146e575f80fd5b8235611479816113af565b91506020830135611489816113af565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b5f602082840312156114c4575f80fd5b815161049b816113af565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103c4576103c46114cf565b808201808211156103c4576103c46114cf565b5f805f6060848603121561151b575f80fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176103c4576103c46114cf565b5f8261156557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156115cc5784516001600160a01b0316835293830193918301916001016115a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122085ed4cc510f45f92a7b5b01d06eff45b382fb8235fa8bda5cc8b7726850e443d64736f6c63430008140033

Deployed Bytecode Sourcemap

4757:8771:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6558:67;;;;;;;;;;-1:-1:-1;6618:5:0;;;;;;;;;;;;-1:-1:-1;;;6618:5:0;;;;6558:67;;;;;;;:::i;:::-;;;;;;;;7367:133;;;;;;;;;;-1:-1:-1;7367:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7367:133:0;1023:187:1;7506:132:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;7506:132:0;1215:177:1;12873:309:0;;;;;;;;;;-1:-1:-1;12873:309:0;;;;;:::i;:::-;;:::i;3647:87::-;;;;;;;;;;-1:-1:-1;3647:87:0;;;;;:::i;:::-;3702:4;3727:5;-1:-1:-1;;;;;3716:16:0;;;3727:5;;3716:16;;3647:87;6708:67;;;;;;;;;;-1:-1:-1;6708:67:0;;4957:1;2252:36:1;;2240:2;2225:18;6708:67:0;2110:184:1;8554:100:0;;;;;;;;;;;;;:::i;:::-;;6980:103;;;;;;;;;;-1:-1:-1;6980:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7063:18:0;7046:7;7063:18;;;:9;:18;;;;;;;6980:103;3740:133;;;;;;;;;;;;;:::i;8272:93::-;;;;;;;;;;;;;:::i;8373:173::-;;;;;;;;;;-1:-1:-1;8373:173:0;;;;;:::i;:::-;;:::i;6896:78::-;;;;;;;;;;-1:-1:-1;6948:7:0;6966:5;-1:-1:-1;;;;;6966:5:0;6896:78;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;6896:78:0;2484:203:1;6631:71:0;;;;;;;;;;-1:-1:-1;6693:7:0;;;;;;;;;;;;-1:-1:-1;;;6693:7:0;;;;6631:71;;6088:64;;;;;;;;;;;;;;;;5229:19;;;;;;;;;;-1:-1:-1;5229:19:0;;;;-1:-1:-1;;;;;5229:19:0;;;7089:139;;;;;;;;;;-1:-1:-1;7089:139:0;;;;;:::i;:::-;;:::i;6781:109::-;;;;;;;;;;;;;:::i;7234:127::-;;;;;;;;;;-1:-1:-1;7234:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7332:18:0;;;7315:7;7332:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7234:127;7646:204;;;:::i;7367:133::-;7442:4;7449:37;7458:10;7470:7;7479:6;7449:8;:37::i;:::-;-1:-1:-1;7494:4:0;7367:133;;;;;:::o;7506:132::-;7063:9;:18;;;;5960:42;7559:7;7063:18;;;;;7576:12;;7559:7;;7576:60;;7063:18;;7576:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;7569:67;;7506:132;:::o;12873:309::-;12971:4;12988:36;12998:6;13006:9;13017:6;12988:9;:36::i;:::-;13035:117;13044:6;13052:10;13064:87;13100:6;13064:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13064:19:0;;;;;;:11;:19;;;;;;;;13084:10;13064:31;;;;;;;;;:87;:35;:87::i;:::-;13035:8;:117::i;:::-;-1:-1:-1;13170:4:0;12873:309;;;;;;:::o;8554:100::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;;;;;;;;;8639:4:::1;8621:24;::::0;;;:9:::1;:24;::::0;;;;;8606:40:::1;::::0;:14:::1;:40::i;:::-;8554:100::o:0;3740:133::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;3814:1:::1;3798:18:::0;;-1:-1:-1;;;;;;3798:18:0::1;::::0;;3833:32:::1;::::0;2630:51:1;;;3833:32:0::1;::::0;2618:2:1;2603:18;3833:32:0::1;;;;;;;3740:133::o:0;8272:93::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;8345:12:::1;::::0;8326:16:::1;:31:::0;8272:93::o;8373:173::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;8437:8:::1;:15:::0;;;8463:7:::1;:14:::0;;;8488:12:::1;:19:::0;;;8534:3:::1;8526:11:::0;::::1;;8518:20;;;::::0;::::1;;8373:173:::0;:::o;7089:139::-;7167:4;7174:40;7184:10;7196:9;7207:6;7174:9;:40::i;6781:109::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;6824:14:::1;:19:::0;;-1:-1:-1;;;;6824:19:0::1;-1:-1:-1::0;;;6824:19:0::1;::::0;;6853:4:::1;6844:8;:13:::0;;;6858:7:::1;:12:::0;;;6871::::1;:17:::0;6781:109::o;7646:204::-;3702:4;3727:5;-1:-1:-1;;;;;3727:5:0;3614:10;3716:16;3598:38;;;;-1:-1:-1;;;3598:38:0;;;;;;;:::i;:::-;7724:6:::1;;;;;;;;;-1:-1:-1::0;;;;;7724:6:0::1;-1:-1:-1::0;;;;;7724:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7715:37:0::1;;7761:4;7768:6;;;;;;;;;-1:-1:-1::0;;;;;7768:6:0::1;-1:-1:-1::0;;;;;7768:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7715:67;::::0;-1:-1:-1;;;;;;7715:67:0::1;::::0;;;;;;-1:-1:-1;;;;;3905:15:1;;;7715:67:0::1;::::0;::::1;3887:34:1::0;3957:15;;3937:18;;;3930:43;3822:18;;7715:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7708:4;:74:::0;;-1:-1:-1;;;;;;7708:74:0::1;-1:-1:-1::0;;;;;7708:74:0;;;::::1;::::0;;;::::1;::::0;;7824:4:::1;-1:-1:-1::0;7806:24:0;;;:9:::1;:24;::::0;;;;;7793:49:::1;::::0;7832:9:::1;7793:12;:49::i;13190:335::-:0;-1:-1:-1;;;;;13283:19:0;;13275:68;;;;-1:-1:-1;;;13275:68:0;;4186:2:1;13275:68:0;;;4168:21:1;4225:2;4205:18;;;4198:30;4264:34;4244:18;;;4237:62;-1:-1:-1;;;4315:18:1;;;4308:34;4359:19;;13275:68:0;3984:400:1;13275:68:0;-1:-1:-1;;;;;13362:21:0;;13354:68;;;;-1:-1:-1;;;13354:68:0;;4591:2:1;13354:68:0;;;4573:21:1;4630:2;4610:18;;;4603:30;4669:34;4649:18;;;4642:62;-1:-1:-1;;;4720:18:1;;;4713:32;4762:19;;13354:68:0;4389:398:1;13354:68:0;-1:-1:-1;;;;;13433:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13485:32;;1361:25:1;;;13485:32:0;;1334:18:1;13485:32:0;;;;;;;13190:335;;;:::o;1386:98::-;1444:7;1471:5;1475:1;1471;:5;:::i;11482:1383::-;-1:-1:-1;;;;;11579:20:0;;11571:70;;;;-1:-1:-1;;;11571:70:0;;5259:2:1;11571:70:0;;;5241:21:1;5298:2;5278:18;;;5271:30;5337:34;5317:18;;;5310:62;-1:-1:-1;;;5388:18:1;;;5381:35;5433:19;;11571:70:0;5057:401:1;11571:70:0;-1:-1:-1;;;;;11660:23:0;;11652:71;;;;-1:-1:-1;;;11652:71:0;;5665:2:1;11652:71:0;;;5647:21:1;5704:2;5684:18;;;5677:30;5743:34;5723:18;;;5716:62;-1:-1:-1;;;5794:18:1;;;5787:33;5837:19;;11652:71:0;5463:399:1;11652:71:0;-1:-1:-1;;;;;11738:21:0;;;;;;:13;:21;;;;;;;;11737:22;:51;;;;-1:-1:-1;;;;;;11764:24:0;;;;;;:13;:24;;;;;;;;11763:25;11737:51;11734:99;;;11798:14;;-1:-1:-1;;;11798:14:0;;;;11790:41;;;;-1:-1:-1;;;11790:41:0;;6069:2:1;11790:41:0;;;6051:21:1;6108:2;6088:18;;;6081:30;-1:-1:-1;;;6127:18:1;;;6120:44;6181:18;;11790:41:0;5867:338:1;11790:41:0;-1:-1:-1;;;;;11846:21:0;;;;;;:13;:21;;;;;;;;:42;;;;-1:-1:-1;11884:4:0;;-1:-1:-1;;;;;11871:17:0;;;11884:4;;11871:17;11846:42;:69;;;;-1:-1:-1;;;;;;11892:23:0;;11910:4;11892:23;;11846:69;11843:111;;;-1:-1:-1;;;;;11917:20:0;;;;;;:9;:20;;;;;:28;;11939:6;;11917:20;:28;;11939:6;;11917:28;:::i;:::-;;;;-1:-1:-1;;;;;11482:1383:0:o;11843:111::-;-1:-1:-1;;;;;11968:21:0;;;;;;:13;:21;;;;;;;;11967:22;:51;;;;-1:-1:-1;;;;;;11994:24:0;;;;;;:13;:24;;;;;;;;11993:25;11967:51;:81;;;;-1:-1:-1;12043:4:0;;-1:-1:-1;;;;;12022:26:0;;;12043:4;;12022:26;;11967:81;:111;;;;-1:-1:-1;;;;;;12052:26:0;;5960:42;12052:26;;11967:111;11964:225;;;12136:16;;-1:-1:-1;;;;;12099:20:0;;;;;;:9;:20;;;;;;:32;;12124:6;12099:24;:32::i;:::-;12098:54;;12090:97;;;;-1:-1:-1;;;12090:97:0;;6542:2:1;12090:97:0;;;6524:21:1;6581:2;6561:18;;;6554:30;6620:32;6600:18;;;6593:60;6670:18;;12090:97:0;6340:354:1;12090:97:0;12215:4;;-1:-1:-1;;;;;12202:17:0;;;12215:4;;12202:17;:43;;;;-1:-1:-1;;;;;;12224:21:0;;;;;;:13;:21;;;;;;;;12223:22;12202:43;12199:73;;;12268:1;12247:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;12199:73:0;12285:45;12304:6;12312:9;12323:6;12285:18;:45::i;:::-;12282:269;;;12387:4;12346:20;12369:24;;;:9;:24;;;;;;12427:14;;12411:30;;12408:64;;-1:-1:-1;12458:14:0;;12408:64;12487:28;12502:12;12487:14;:28::i;:::-;-1:-1:-1;12537:1:0;12517:9;:22;12282:269;-1:-1:-1;;;;;12581:17:0;;;;;;:9;:17;;;;;;:29;;12603:6;12581:21;:29::i;:::-;-1:-1:-1;;;;;12561:17:0;;;;;;:9;:17;;;;;:49;;;;12646:32;12571:6;12668:9;12646:13;:32::i;:::-;:78;;12718:6;12646:78;;;12681:34;12689:6;12697:9;12708:6;12681:7;:34::i;:::-;-1:-1:-1;;;;;12758:20:0;;;;;;:9;:20;;;;;;12621:103;;-1:-1:-1;12758:40:0;;12621:103;12758:24;:40::i;:::-;-1:-1:-1;;;;;12735:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12814:43;;;;;;;;;;12842:14;1361:25:1;;1349:2;1334:18;;1215:177;12814:43:0;;;;;;;;11560:1305;11482:1383;;;:::o;1810:240::-;1930:7;1991:12;1983:6;;;;1975:29;;;;-1:-1:-1;;;1975:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2026:5:0;;;1810:240::o;8662:1045::-;5583:8;:15;;-1:-1:-1;;5583:15:0;5594:4;5583:15;;;;;;8799:14:::1;::::0;8781:12:::1;::::0;8757::::1;::::0;5583:8;;8756:66:::1;::::0;8820:1:::1;::::0;8757:57:::1;::::0;8799:14;;8757:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;8756:63:::0;::::1;:66::i;:::-;8733:89;;8833:32;8868:42;8897:12;8868:24;8879:12;;8868:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:42::i;:::-;8833:77:::0;-1:-1:-1;8921:14:0::1;8938:36;:6:::0;8833:77;8938:10:::1;:36::i;:::-;8921:53:::0;-1:-1:-1;9010:21:0::1;9042:24;8921:53:::0;9042:16:::1;:24::i;:::-;9077:20;9100:41;:21;9126:14:::0;9100:25:::1;:41::i;:::-;9077:64;;9152:19;9173:48;9190:30;9207:12;;9190;:16;;:30;;;;:::i;:::-;9173:12:::0;;:16:::1;:48::i;:::-;9152:69;;9232:29;9264;9280:12;;9264:11;:15;;:29;;;;:::i;:::-;9232:61:::0;-1:-1:-1;9307:34:0;;9304:103:::1;;9343:61;9356:24;9382:21;9343:12;:61::i;:::-;9463:12;::::0;9417:20:::1;::::0;9440:36:::1;::::0;:18:::1;:11:::0;9456:1:::1;9440:15;:18::i;:36::-;9417:59:::0;-1:-1:-1;9490:16:0;;9487:65:::1;;9516:10;::::0;9508:42:::1;::::0;-1:-1:-1;;;;;9516:10:0;;::::1;::::0;9508:42;::::1;;;::::0;9537:12;;9516:10:::1;9508:42:::0;9516:10;9508:42;9537:12;9516:10;9508:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9487:65;9588:21;9623:28:::0;;9620:80:::1;;9661:10;::::0;9653:45:::1;::::0;-1:-1:-1;;;;;9661:10:0;;::::1;::::0;9653:45;::::1;;;::::0;9682:15;;9661:10:::1;9653:45:::0;9661:10;9653:45;9682:15;9661:10;9653:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9620:80;-1:-1:-1::0;;5603:8:0;:16;;-1:-1:-1;;5603:16:0;;;-1:-1:-1;;;;;;;;8662:1045:0:o;9715:330::-;9828:6;;9796:53;;9813:4;;-1:-1:-1;;;;;9828:6:0;9837:11;9796:8;:53::i;:::-;9860:6;;;10001:5;;9860:177;;-1:-1:-1;;;9860:177:0;;9923:4;9860:177;;;7040:34:1;7090:18;;;7083:34;;;7133:18;;;7126:34;;;7176:18;;;7169:34;;;;-1:-1:-1;;;;;10001:5:0;;;7219:19:1;;;7212:44;10021:15:0;7272:19:1;;;7265:35;9860:6:0;;;;:22;;9890:9;;6974:19:1;;9860:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9715:330;;:::o;1280:98::-;1338:7;1365:5;1369:1;1365;:5;:::i;7858:406::-;8003:14;;8068:4;7960;7063:18;;;:9;:18;;;;;;8111:8;;7960:4;;7993:24;;;;;-1:-1:-1;;8050:42:0;;8111:8;;8110:9;:24;;;;-1:-1:-1;8123:11:0;;-1:-1:-1;;;8123:11:0;;;;8110:24;:42;;;;-1:-1:-1;8138:14:0;;-1:-1:-1;;;8138:14:0;;;;8110:42;:54;;;;;8156:8;8110:54;:80;;;;-1:-1:-1;;;;;;8169:21:0;;;;;;:13;:21;;;;;;;;8168:22;8110:80;:101;;;;-1:-1:-1;8207:4:0;;-1:-1:-1;;;;;8194:17:0;;;8207:4;;8194:17;8110:101;:128;;;;;8228:10;;8215:9;;:23;;8110:128;:146;;;;;8242:14;8110:146;8103:153;7858:406;-1:-1:-1;;;;;;7858:406:0:o;10495:164::-;-1:-1:-1;;;;;10601:21:0;;10576:4;10601:21;;;:13;:21;;;;;;;;10600:22;:51;;;;-1:-1:-1;;;;;;;10627:24:0;;;;;:13;:24;;;;;;;;10626:25;;10495:164;-1:-1:-1;10495:164:0:o;10890:584::-;10976:7;11030:1;10999:28;11009:6;11017:9;10999;:28::i;:::-;:32;10996:456;;;11043:17;11063:57;11091:28;11101:6;11109:9;11091;:28::i;:::-;11074:11;;11063:23;;:6;;:10;:23::i;:57::-;11176:4;11158:24;;;;:9;:24;;;;;;11043:77;;-1:-1:-1;11158:39:0;;11043:77;11158:28;:39::i;:::-;11149:4;11131:24;;;;:9;:24;;;;;;;:66;;;;11213:42;;-1:-1:-1;;;;;11213:42:0;;;;;;;11245:9;1361:25:1;;1349:2;1334:18;;1215:177;11213:42:0;;;;;;;;11287:1;11269:7;;:20;:62;;;;;11324:7;;11293:28;11303:6;11311:9;11293;:28::i;:::-;:38;11269:62;11266:146;;;11333:77;11351:4;5960:42;11373:36;11401:7;;11373:23;11384:11;;11373:6;:10;;:23;;;;:::i;:36::-;11333:9;:77::i;:::-;11429:21;:6;11440:9;11429:10;:21::i;:::-;11422:28;;;;;10996:456;-1:-1:-1;11460:6:0;10890:584;-1:-1:-1;;10890:584:0:o;1492:98::-;1550:7;1577:5;1581:1;1577;:5;:::i;1598:98::-;1656:7;1683:5;1687:1;1683;:5;:::i;10053:434::-;10143:16;;;10157:1;10143:16;;;;;;;;10119:21;;10143:16;;;;;;;;;;-1:-1:-1;10143:16:0;10119:40;;10188:4;10170;10175:1;10170:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10170:23:0;;;:7;;;;;;;;;;:23;;;;10214:6;;:13;;;-1:-1:-1;;;10214:13:0;;;;:6;;;;;:11;;:13;;;;;10170:7;;10214:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10204:4;10209:1;10204:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10204:23:0;;;:7;;;;;;;;;:23;10270:6;;10238:53;;10255:4;;10270:6;10279:11;10238:8;:53::i;:::-;10302:6;;:177;;-1:-1:-1;;;10302:177:0;;-1:-1:-1;;;;;10302:6:0;;;;:57;;:177;;10374:11;;10302:6;;10416:4;;10443;;10463:15;;10302:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10108:379;10053:434;:::o;10667:215::-;10780:4;;10744:7;;-1:-1:-1;;;;;10780:4:0;;;10767:17;;;;10764:39;;-1:-1:-1;10793:8:0;;10786:15;;10764:39;10826:4;;-1:-1:-1;;;;;10826:4:0;;;10816:14;;;;10813:35;;-1:-1:-1;10839:7:0;;10832:14;;10813:35;-1:-1:-1;10865:9:0;;10667:215;;;;:::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;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;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:329::-;3287:2;3269:21;;;3326:1;3306:18;;;3299:29;-1:-1:-1;;;3359:2:1;3344:18;;3337:36;3405:2;3390:18;;3085:329::o;3419:251::-;3489:6;3542:2;3530:9;3521:7;3517:23;3513:32;3510:52;;;3558:1;3555;3548:12;3510:52;3590:9;3584:16;3609:31;3634:5;3609:31;:::i;4792:127::-;4853:10;4848:3;4844:20;4841:1;4834:31;4884:4;4881:1;4874:15;4908:4;4905:1;4898:15;4924:128;4991:9;;;5012:11;;;5009:37;;;5026:18;;:::i;6210:125::-;6275:9;;;6296:10;;;6293:36;;;6309:18;;:::i;7311:306::-;7399:6;7407;7415;7468:2;7456:9;7447:7;7443:23;7439:32;7436:52;;;7484:1;7481;7474:12;7436:52;7513:9;7507:16;7497:26;;7563:2;7552:9;7548:18;7542:25;7532:35;;7607:2;7596:9;7592:18;7586:25;7576:35;;7311:306;;;;;:::o;7622:168::-;7695:9;;;7726;;7743:15;;;7737:22;;7723:37;7713:71;;7764:18;;:::i;7795:217::-;7835:1;7861;7851:132;;7905:10;7900:3;7896:20;7893:1;7886:31;7940:4;7937:1;7930:15;7968:4;7965:1;7958:15;7851:132;-1:-1:-1;7997:9:1;;7795:217::o;8149:127::-;8210:10;8205:3;8201:20;8198:1;8191:31;8241:4;8238:1;8231:15;8265:4;8262:1;8255:15;8281:980;8543:4;8591:3;8580:9;8576:19;8622:6;8611:9;8604:25;8648:2;8686:6;8681:2;8670:9;8666:18;8659:34;8729:3;8724:2;8713:9;8709:18;8702:31;8753:6;8788;8782:13;8819:6;8811;8804:22;8857:3;8846:9;8842:19;8835:26;;8896:2;8888:6;8884:15;8870:29;;8917:1;8927:195;8941:6;8938:1;8935:13;8927:195;;;9006:13;;-1:-1:-1;;;;;9002:39:1;8990:52;;9097:15;;;;9062:12;;;;9038:1;8956:9;8927:195;;;-1:-1:-1;;;;;;;9178:32:1;;;;9173:2;9158:18;;9151:60;-1:-1:-1;;;9242:3:1;9227:19;9220:35;9139:3;8281:980;-1:-1:-1;;;8281:980:1:o

Swarm Source

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