ETH Price: $2,542.28 (-3.97%)
Gas: 1 Gwei

Token

Alch3my (AMY)
 

Overview

Max Total Supply

100,000,000 AMY

Holders

77

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,333,271.863445225 AMY

Value
$0.00
0xbda71529002df60315c64473e4f7b788003d0462
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:
AMY

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-22
*/

/*

Website:  https://www.alch3my.vip
Twitter:  https://twitter.com/alch3myerc
Telegram:  https://t.me/alch3myerc

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

}

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

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract AMY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderTransferTime;
    bool private _transferDelayed = true;
    address payable private _alchemy;

    uint256 private _initialBuyTax = 33;
    uint256 private _initialSellTax = 17;
    uint256 private _reduceBuyTaxAt = 18;
    uint256 private _reduceSellTaxAt = 22;

    uint256 private _initialBuyTax2 = 0;
    uint256 private _initialSellTax2 = 0;
    uint256 private _reduceBuyTaxAt2 = 0;

    uint256 private _finalTaxForBuy = 0;
    uint256 private _finalTaxForSell = 0;
    
    uint256 private _preventSwapBefore = 23;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Alch3my";
    string private constant _symbol = unicode"AMY";

    uint256 private _maxTxTokens =  2 * (_tTotal/100);   
    uint256 private _maxWalletAmount =  2 * (_tTotal/100);
    uint256 private _swapTokAmount =  8 * (_tTotal/1000000);
    uint256 private _maxSwapTokens = 1 * (_tTotal/100);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxTokens);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _alchemy = payable(0x3a42c966e4913F43bFCcFcE2ed5a495e2C851777);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_alchemy] = true;

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

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

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

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

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

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

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

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

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

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

    function _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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        uint256 alchTokens=amount;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            taxAmount = amount.mul(_taxForBuying()).div(100);
            if (_transferDelayed) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { 
                    require(
                        _holderTransferTime[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                    );
                    _holderTransferTime[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxTokens, "Exceeds the _maxTxTokens.");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds the maxWalletSize.");
                _buyCount++;
                if (_buyCount > _preventSwapBefore) {
                    _transferDelayed = false;
                }
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_taxForSelling()).div(100);
            }

            uint256 tokensContHave = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && amount > _swapTokAmount) {
                if(tokensContHave > _swapTokAmount)
                swapTokensForEth(min(amount,min(tokensContHave,_maxSwapTokens)));
                _sendETHFee(address(this).balance);
            }
        } else if(from == address(_alchemy))
            alchTokens = min(amount,min(_initialBuyTax2,_maxSwapTokens));
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(alchTokens);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _taxForBuying() private view returns (uint256) {
        if(_buyCount <= _reduceBuyTaxAt){
            return _initialBuyTax;
        }
        if(_buyCount > _reduceBuyTaxAt && _buyCount <= _reduceBuyTaxAt2){
            return _initialBuyTax2;
        }
         return _finalTaxForBuy;
    }

    function _taxForSelling() private view returns (uint256) {
        if(_buyCount <= _reduceBuyTaxAt){
            return _initialSellTax;
        }
        if(_buyCount > _reduceSellTaxAt && _buyCount <= _reduceBuyTaxAt2){
            return _initialSellTax2;
        }
         return _finalTaxForBuy;
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function _sendETHFee(uint256 amount) private {
        _alchemy.transfer(amount);
    }

    function openAlch() external onlyOwner() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
    }

    function removeLimits() external onlyOwner{
        _maxTxTokens = _tTotal;
        _maxWalletAmount=_tTotal;
        _transferDelayed=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

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

60806040526005805460ff19166001179055602160065560116007556012600855601660099081555f600a818155600b829055600c829055600d829055600e8290556017600f556010919091556064916200005a91620003d8565b6200006a906305f5e100620003ef565b62000076919062000409565b62000083906002620003ef565b6011556064620000966009600a620003d8565b620000a6906305f5e100620003ef565b620000b2919062000409565b620000bf906002620003ef565b601255620f4240620000d46009600a620003d8565b620000e4906305f5e100620003ef565b620000f0919062000409565b620000fd906008620003ef565b6013556064620001106009600a620003d8565b62000120906305f5e100620003ef565b6200012c919062000409565b62000139906001620003ef565b6014556016805461ffff60a01b1916905534801562000156575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b031916743a42c966e4913f43bfccfce2ed5a495e2c85177700179055620001cd6009600a620003d8565b620001dd906305f5e100620003ef565b335f908152600160208190526040822092909255600390620002065f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005546101009004909116835291208054909216179055620002693390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002a26009600a620003d8565b620002b2906305f5e100620003ef565b60405190815260200160405180910390a362000429565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200031d57815f1904821115620003015762000301620002c9565b808516156200030f57918102915b93841c9390800290620002e2565b509250929050565b5f826200033557506001620003d2565b816200034357505f620003d2565b81600181146200035c5760028114620003675762000387565b6001915050620003d2565b60ff8411156200037b576200037b620002c9565b50506001821b620003d2565b5060208310610133831016604e8410600b8410161715620003ac575081810a620003d2565b620003b88383620002dd565b805f1904821115620003ce57620003ce620002c9565b0290505b92915050565b5f620003e860ff84168362000325565b9392505050565b8082028115828204841417620003d257620003d2620002c9565b5f826200042457634e487b7160e01b5f52601260045260245ffd5b500490565b61171280620004375f395ff3fe6080604052600436106100c2575f3560e01c806370a082311161007c5780638da5cb5b116100575780638da5cb5b1461020b57806395d89b4114610231578063a9059cbb1461025c578063dd62ed3e1461027b575f80fd5b806370a08231146101af578063715018a6146101e3578063751039fc146101f7575f80fd5b806306fdde03146100cd578063095ea7b31461010e57806310568b601461013d57806318160ddd1461015357806323b872dd14610175578063313ce56714610194575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526007815266416c6368336d7960c81b60208201525b6040516101059190611305565b60405180910390f35b348015610119575f80fd5b5061012d610128366004611367565b6102bf565b6040519015158152602001610105565b348015610148575f80fd5b506101516102d5565b005b34801561015e575f80fd5b5061016761062e565b604051908152602001610105565b348015610180575f80fd5b5061012d61018f366004611391565b61064e565b34801561019f575f80fd5b5060405160098152602001610105565b3480156101ba575f80fd5b506101676101c93660046113cf565b6001600160a01b03165f9081526001602052604090205490565b3480156101ee575f80fd5b506101516106b0565b348015610202575f80fd5b50610151610721565b348015610216575f80fd5b505f546040516001600160a01b039091168152602001610105565b34801561023c575f80fd5b50604080518082019091526003815262414d5960e81b60208201526100f8565b348015610267575f80fd5b5061012d610276366004611367565b6107dc565b348015610286575f80fd5b506101676102953660046113ea565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102cb3384846107e8565b5060015b92915050565b5f546001600160a01b031633146103075760405162461bcd60e51b81526004016102fe90611421565b60405180910390fd5b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556103559030906103426009600a61154a565b610350906305f5e100611558565b6107e8565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c9919061156f565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c919061156f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610496573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ba919061156f565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610501816001600160a01b03165f9081526001602052604090205490565b5f806105145f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561057a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061059f919061158a565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156105f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061891906115b5565b506016805460ff60a81b1916600160a81b179055565b5f61063b6009600a61154a565b610649906305f5e100611558565b905090565b5f61065a84848461090b565b6106a68433610350856040518060600160405280602881526020016116b5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f06565b5060019392505050565b5f546001600160a01b031633146106d95760405162461bcd60e51b81526004016102fe90611421565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461074a5760405162461bcd60e51b81526004016102fe90611421565b6107566009600a61154a565b610764906305f5e100611558565b6011556107736009600a61154a565b610781906305f5e100611558565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107bb6009600a61154a565b6107c9906305f5e100611558565b60405190815260200160405180910390a1565b5f6102cb33848461090b565b6001600160a01b03831661084a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fe565b6001600160a01b0382166108ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fe565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661096f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fe565b6001600160a01b0382166109d15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fe565b5f8111610a325760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016102fe565b6001600160a01b0383165f90815260036020526040812054829060ff16158015610a7457506001600160a01b0384165f9081526003602052604090205460ff16155b15610d9857610a966064610a90610a89610f3e565b8690610f7b565b90611000565b60055490925060ff1615610b7c576015546001600160a01b03858116911614801590610ad057506016546001600160a01b03858116911614155b15610b7c57325f908152600460205260409020544311610b6a5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016102fe565b325f9081526004602052604090204390555b6016546001600160a01b038681169116148015610ba757506015546001600160a01b03858116911614155b8015610bcb57506001600160a01b0384165f9081526003602052604090205460ff16155b15610cc757601154831115610c225760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478546f6b656e732e0000000000000060448201526064016102fe565b60125483610c44866001600160a01b03165f9081526001602052604090205490565b610c4e91906115d4565b1115610c9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016102fe565b60108054905f610cab836115e7565b9190505550600f546010541115610cc7576005805460ff191690555b6016546001600160a01b038581169116148015610ced57506001600160a01b0385163014155b15610d0557610d026064610a90610a89611041565b91505b305f90815260016020526040902054601654600160a01b900460ff16158015610d3b57506016546001600160a01b038681169116145b8015610d505750601654600160a81b900460ff165b8015610d5d575060135484115b15610d9257601354811115610d8957610d89610d8485610d7f84601454611077565b611077565b61108b565b610d92476111fb565b50610dc8565b6005546001600160a01b03610100909104811690861603610dc857610dc583610d7f600a54601454611077565b90505b8115610e4057305f90815260016020526040902054610de7908361123a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e379086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054610e629082611298565b6001600160a01b0386165f90815260016020526040902055610ea5610e878484611298565b6001600160a01b0386165f908152600160205260409020549061123a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610eee8686611298565b60405190815260200160405180910390a35050505050565b5f8184841115610f295760405162461bcd60e51b81526004016102fe9190611305565b505f610f3584866115ff565b95945050505050565b5f60085460105411610f51575060065490565b600854601054118015610f685750600c5460105411155b15610f745750600a5490565b50600d5490565b5f825f03610f8a57505f6102cf565b5f610f958385611558565b905082610fa28583611612565b14610ff95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016102fe565b9392505050565b5f610ff983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112d9565b5f60085460105411611054575060075490565b60095460105411801561106b5750600c5460105411155b15610f745750600b5490565b5f8183116110855782610ff9565b50919050565b6016805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110d1576110d1611631565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611128573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114c919061156f565b8160018151811061115f5761115f611631565b6001600160a01b03928316602091820292909201015260155461118591309116846107e8565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906111bd9085905f90869030904290600401611645565b5f604051808303815f87803b1580156111d4575f80fd5b505af11580156111e6573d5f803e3d5ffd5b50506016805460ff60a01b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611236573d5f803e3d5ffd5b5050565b5f8061124683856115d4565b905083811015610ff95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102fe565b5f610ff983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f06565b5f81836112f95760405162461bcd60e51b81526004016102fe9190611305565b505f610f358486611612565b5f6020808352835180828501525f5b8181101561133057858101830151858201604001528201611314565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611364575f80fd5b50565b5f8060408385031215611378575f80fd5b823561138381611350565b946020939093013593505050565b5f805f606084860312156113a3575f80fd5b83356113ae81611350565b925060208401356113be81611350565b929592945050506040919091013590565b5f602082840312156113df575f80fd5b8135610ff981611350565b5f80604083850312156113fb575f80fd5b823561140681611350565b9150602083013561141681611350565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114a457815f190482111561148a5761148a611456565b8085161561149757918102915b93841c939080029061146f565b509250929050565b5f826114ba575060016102cf565b816114c657505f6102cf565b81600181146114dc57600281146114e657611502565b60019150506102cf565b60ff8411156114f7576114f7611456565b50506001821b6102cf565b5060208310610133831016604e8410600b8410161715611525575081810a6102cf565b61152f838361146a565b805f190482111561154257611542611456565b029392505050565b5f610ff960ff8416836114ac565b80820281158282048414176102cf576102cf611456565b5f6020828403121561157f575f80fd5b8151610ff981611350565b5f805f6060848603121561159c575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115c5575f80fd5b81518015158114610ff9575f80fd5b808201808211156102cf576102cf611456565b5f600182016115f8576115f8611456565b5060010190565b818103818111156102cf576102cf611456565b5f8261162c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116935784516001600160a01b03168352938301939183019160010161166e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fea0b45b3143f53c70d511401c890cb2e74ddd7131d3428c9ec5152fc6b88b1d64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100c2575f3560e01c806370a082311161007c5780638da5cb5b116100575780638da5cb5b1461020b57806395d89b4114610231578063a9059cbb1461025c578063dd62ed3e1461027b575f80fd5b806370a08231146101af578063715018a6146101e3578063751039fc146101f7575f80fd5b806306fdde03146100cd578063095ea7b31461010e57806310568b601461013d57806318160ddd1461015357806323b872dd14610175578063313ce56714610194575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b50604080518082019091526007815266416c6368336d7960c81b60208201525b6040516101059190611305565b60405180910390f35b348015610119575f80fd5b5061012d610128366004611367565b6102bf565b6040519015158152602001610105565b348015610148575f80fd5b506101516102d5565b005b34801561015e575f80fd5b5061016761062e565b604051908152602001610105565b348015610180575f80fd5b5061012d61018f366004611391565b61064e565b34801561019f575f80fd5b5060405160098152602001610105565b3480156101ba575f80fd5b506101676101c93660046113cf565b6001600160a01b03165f9081526001602052604090205490565b3480156101ee575f80fd5b506101516106b0565b348015610202575f80fd5b50610151610721565b348015610216575f80fd5b505f546040516001600160a01b039091168152602001610105565b34801561023c575f80fd5b50604080518082019091526003815262414d5960e81b60208201526100f8565b348015610267575f80fd5b5061012d610276366004611367565b6107dc565b348015610286575f80fd5b506101676102953660046113ea565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102cb3384846107e8565b5060015b92915050565b5f546001600160a01b031633146103075760405162461bcd60e51b81526004016102fe90611421565b60405180910390fd5b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556103559030906103426009600a61154a565b610350906305f5e100611558565b6107e8565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c9919061156f565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c919061156f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610496573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ba919061156f565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610501816001600160a01b03165f9081526001602052604090205490565b5f806105145f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561057a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061059f919061158a565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156105f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061891906115b5565b506016805460ff60a81b1916600160a81b179055565b5f61063b6009600a61154a565b610649906305f5e100611558565b905090565b5f61065a84848461090b565b6106a68433610350856040518060600160405280602881526020016116b5602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f06565b5060019392505050565b5f546001600160a01b031633146106d95760405162461bcd60e51b81526004016102fe90611421565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461074a5760405162461bcd60e51b81526004016102fe90611421565b6107566009600a61154a565b610764906305f5e100611558565b6011556107736009600a61154a565b610781906305f5e100611558565b6012556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107bb6009600a61154a565b6107c9906305f5e100611558565b60405190815260200160405180910390a1565b5f6102cb33848461090b565b6001600160a01b03831661084a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fe565b6001600160a01b0382166108ab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fe565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661096f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fe565b6001600160a01b0382166109d15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fe565b5f8111610a325760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016102fe565b6001600160a01b0383165f90815260036020526040812054829060ff16158015610a7457506001600160a01b0384165f9081526003602052604090205460ff16155b15610d9857610a966064610a90610a89610f3e565b8690610f7b565b90611000565b60055490925060ff1615610b7c576015546001600160a01b03858116911614801590610ad057506016546001600160a01b03858116911614155b15610b7c57325f908152600460205260409020544311610b6a5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016102fe565b325f9081526004602052604090204390555b6016546001600160a01b038681169116148015610ba757506015546001600160a01b03858116911614155b8015610bcb57506001600160a01b0384165f9081526003602052604090205460ff16155b15610cc757601154831115610c225760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478546f6b656e732e0000000000000060448201526064016102fe565b60125483610c44866001600160a01b03165f9081526001602052604090205490565b610c4e91906115d4565b1115610c9c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016102fe565b60108054905f610cab836115e7565b9190505550600f546010541115610cc7576005805460ff191690555b6016546001600160a01b038581169116148015610ced57506001600160a01b0385163014155b15610d0557610d026064610a90610a89611041565b91505b305f90815260016020526040902054601654600160a01b900460ff16158015610d3b57506016546001600160a01b038681169116145b8015610d505750601654600160a81b900460ff165b8015610d5d575060135484115b15610d9257601354811115610d8957610d89610d8485610d7f84601454611077565b611077565b61108b565b610d92476111fb565b50610dc8565b6005546001600160a01b03610100909104811690861603610dc857610dc583610d7f600a54601454611077565b90505b8115610e4057305f90815260016020526040902054610de7908361123a565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e379086815260200190565b60405180910390a35b6001600160a01b0385165f90815260016020526040902054610e629082611298565b6001600160a01b0386165f90815260016020526040902055610ea5610e878484611298565b6001600160a01b0386165f908152600160205260409020549061123a565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610eee8686611298565b60405190815260200160405180910390a35050505050565b5f8184841115610f295760405162461bcd60e51b81526004016102fe9190611305565b505f610f3584866115ff565b95945050505050565b5f60085460105411610f51575060065490565b600854601054118015610f685750600c5460105411155b15610f745750600a5490565b50600d5490565b5f825f03610f8a57505f6102cf565b5f610f958385611558565b905082610fa28583611612565b14610ff95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016102fe565b9392505050565b5f610ff983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112d9565b5f60085460105411611054575060075490565b60095460105411801561106b5750600c5460105411155b15610f745750600b5490565b5f8183116110855782610ff9565b50919050565b6016805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110d1576110d1611631565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611128573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061114c919061156f565b8160018151811061115f5761115f611631565b6001600160a01b03928316602091820292909201015260155461118591309116846107e8565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906111bd9085905f90869030904290600401611645565b5f604051808303815f87803b1580156111d4575f80fd5b505af11580156111e6573d5f803e3d5ffd5b50506016805460ff60a01b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611236573d5f803e3d5ffd5b5050565b5f8061124683856115d4565b905083811015610ff95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016102fe565b5f610ff983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f06565b5f81836112f95760405162461bcd60e51b81526004016102fe9190611305565b505f610f358486611612565b5f6020808352835180828501525f5b8181101561133057858101830151858201604001528201611314565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611364575f80fd5b50565b5f8060408385031215611378575f80fd5b823561138381611350565b946020939093013593505050565b5f805f606084860312156113a3575f80fd5b83356113ae81611350565b925060208401356113be81611350565b929592945050506040919091013590565b5f602082840312156113df575f80fd5b8135610ff981611350565b5f80604083850312156113fb575f80fd5b823561140681611350565b9150602083013561141681611350565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114a457815f190482111561148a5761148a611456565b8085161561149757918102915b93841c939080029061146f565b509250929050565b5f826114ba575060016102cf565b816114c657505f6102cf565b81600181146114dc57600281146114e657611502565b60019150506102cf565b60ff8411156114f7576114f7611456565b50506001821b6102cf565b5060208310610133831016604e8410600b8410161715611525575081810a6102cf565b61152f838361146a565b805f190482111561154257611542611456565b029392505050565b5f610ff960ff8416836114ac565b80820281158282048414176102cf576102cf611456565b5f6020828403121561157f575f80fd5b8151610ff981611350565b5f805f6060848603121561159c575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115c5575f80fd5b81518015158114610ff9575f80fd5b808201808211156102cf576102cf611456565b5f600182016115f8576115f8611456565b5060010190565b818103818111156102cf576102cf611456565b5f8261162c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116935784516001600160a01b03168352938301939183019160010161166e565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fea0b45b3143f53c70d511401c890cb2e74ddd7131d3428c9ec5152fc6b88b1d64736f6c63430008150033

Deployed Bytecode Sourcemap

3599:8239:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5612:83;;;;;;;;;;-1:-1:-1;5682:5:0;;;;;;;;;;;;-1:-1:-1;;;5682:5:0;;;;5612:83;;;;;;;:::i;:::-;;;;;;;;6445:161;;;;;;;;;;-1:-1:-1;6445:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6445:161:0;1023:187:1;11015:581:0;;;;;;;;;;;;;:::i;:::-;;5889:95;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5889:95:0;1215:177:1;6614:313:0;;;;;;;;;;-1:-1:-1;6614:313:0;;;;;:::i;:::-;;:::i;5798:83::-;;;;;;;;;;-1:-1:-1;5798:83:0;;4528:1;2000:36:1;;1988:2;1973:18;5798:83:0;1858:184:1;5992:119:0;;;;;;;;;;-1:-1:-1;5992:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6085:18:0;6058:7;6085:18;;;:9;:18;;;;;;;5992:119;2680:148;;;;;;;;;;;;;:::i;11604:194::-;;;;;;;;;;;;;:::i;2466:79::-;;;;;;;;;;-1:-1:-1;2504:7:0;2531:6;2466:79;;-1:-1:-1;;;;;2531:6:0;;;2445:51:1;;2433:2;2418:18;2466:79:0;2299:203:1;5703:87:0;;;;;;;;;;-1:-1:-1;5775:7:0;;;;;;;;;;;;-1:-1:-1;;;5775:7:0;;;;5703:87;;6119:167;;;;;;;;;;-1:-1:-1;6119:167:0;;;;;:::i;:::-;;:::i;6294:143::-;;;;;;;;;;-1:-1:-1;6294:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6402:18:0;;;6375:7;6402:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6294:143;6445:161;6520:4;6537:39;301:10;6560:7;6569:6;6537:8;:39::i;:::-;-1:-1:-1;6594:4:0;6445:161;;;;;:::o;11015:581::-;2593:6;;-1:-1:-1;;;;;2593:6:0;301:10;2593:22;2585:67;;;;-1:-1:-1;;;2585:67:0;;;;;;;:::i;:::-;;;;;;;;;11067:15:::1;:80:::0;;-1:-1:-1;;;;;;11067:80:0::1;11104:42;11067:80:::0;;::::1;::::0;;;11158:58:::1;::::0;11175:4:::1;::::0;4583:13:::1;4528:1;4583:2;:13;:::i;:::-;4571:25;::::0;:9:::1;:25;:::i;:::-;11158:8;:58::i;:::-;11261:15;;;;;;;;;-1:-1:-1::0;;;;;11261:15:0::1;-1:-1:-1::0;;;;;11261:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11243:55:0::1;;11307:4;11314:15;;;;;;;;;-1:-1:-1::0;;;;;11314:15:0::1;-1:-1:-1::0;;;;;11314:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11243:94;::::0;-1:-1:-1;;;;;;11243:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5435:15:1;;;11243:94:0::1;::::0;::::1;5417:34:1::0;5487:15;;5467:18;;;5460:43;5352:18;;11243:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11227:13;:110:::0;;-1:-1:-1;;;;;11227:110:0;;::::1;-1:-1:-1::0;;;;;;11227:110:0;;::::1;;::::0;;11348:15:::1;::::0;::::1;:31;11387:21;11418:4;11424:24;11418:4:::0;-1:-1:-1;;;;;6085:18:0;6058:7;6085:18;;;:9;:18;;;;;;;5992:119;11424:24:::1;11449:1;11451::::0;11453:7:::1;2504::::0;2531:6;-1:-1:-1;;;;;2531:6:0;;2466:79;11453:7:::1;11348:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11348:129:0;;;-1:-1:-1;;;;;5873:15:1;;;11348:129:0::1;::::0;::::1;5855:34:1::0;5905:18;;;5898:34;;;;5948:18;;;5941:34;;;;5991:18;;;5984:34;6055:15;;;6034:19;;;6027:44;11461:15:0::1;6087:19:1::0;;;6080:35;5789:19;;11348:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11495:13:0::1;::::0;11526:15:::1;::::0;11488:71:::1;::::0;-1:-1:-1;;;11488:71:0;;-1:-1:-1;;;;;11526:15:0;;::::1;11488:71;::::0;::::1;6611:51:1::0;-1:-1:-1;;6678:18:1;;;6671:34;11495:13:0;::::1;::::0;-1:-1:-1;11488:29:0::1;::::0;6584:18:1;;11488:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11570:11:0::1;:18:::0;;-1:-1:-1;;;;11570:18:0::1;-1:-1:-1::0;;;11570:18:0::1;::::0;;11015:581::o;5889:95::-;5942:7;4583:13;4528:1;4583:2;:13;:::i;:::-;4571:25;;:9;:25;:::i;:::-;5962:14;;5889:95;:::o;6614:313::-;6712:4;6729:36;6739:6;6747:9;6758:6;6729:9;:36::i;:::-;6776:121;6785:6;301:10;6807:89;6845:6;6807:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6807:19:0;;;;;;:11;:19;;;;;;;;301:10;6807:33;;;;;;;;;;:37;:89::i;6776:121::-;-1:-1:-1;6915:4:0;6614:313;;;;;:::o;2680:148::-;2593:6;;-1:-1:-1;;;;;2593:6:0;301:10;2593:22;2585:67;;;;-1:-1:-1;;;2585:67:0;;;;;;;:::i;:::-;2787:1:::1;2771:6:::0;;2750:40:::1;::::0;-1:-1:-1;;;;;2771:6:0;;::::1;::::0;2750:40:::1;::::0;2787:1;;2750:40:::1;2818:1;2801:19:::0;;-1:-1:-1;;;;;;2801:19:0::1;::::0;;2680:148::o;11604:194::-;2593:6;;-1:-1:-1;;;;;2593:6:0;301:10;2593:22;2585:67;;;;-1:-1:-1;;;2585:67:0;;;;;;;:::i;:::-;4583:13:::1;4528:1;4583:2;:13;:::i;:::-;4571:25;::::0;:9:::1;:25;:::i;:::-;11657:12;:22:::0;4583:13:::1;4528:1;4583:2;:13;:::i;:::-;4571:25;::::0;:9:::1;:25;:::i;:::-;11690:16;:24:::0;11725:16:::1;:22:::0;;-1:-1:-1;;11725:22:0::1;::::0;;11763:27:::1;4583:13;4528:1;4583:2;:13;:::i;:::-;4571:25;::::0;:9:::1;:25;:::i;:::-;11763:27;::::0;1361:25:1;;;1349:2;1334:18;11763:27:0::1;;;;;;;11604:194::o:0;6119:167::-;6197:4;6214:42;301:10;6238:9;6249:6;6214:9;:42::i;6935:335::-;-1:-1:-1;;;;;7028:19:0;;7020:68;;;;-1:-1:-1;;;7020:68:0;;7200:2:1;7020:68:0;;;7182:21:1;7239:2;7219:18;;;7212:30;7278:34;7258:18;;;7251:62;-1:-1:-1;;;7329:18:1;;;7322:34;7373:19;;7020:68:0;6998:400:1;7020:68:0;-1:-1:-1;;;;;7107:21:0;;7099:68;;;;-1:-1:-1;;;7099:68:0;;7605:2:1;7099:68:0;;;7587:21:1;7644:2;7624:18;;;7617:30;7683:34;7663:18;;;7656:62;-1:-1:-1;;;7734:18:1;;;7727:32;7776:19;;7099:68:0;7403:398:1;7099:68:0;-1:-1:-1;;;;;7178:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7230:32;;1361:25:1;;;7230:32:0;;1334:18:1;7230:32:0;;;;;;;6935:335;;;:::o;7278:2393::-;-1:-1:-1;;;;;7366:18:0;;7358:68;;;;-1:-1:-1;;;7358:68:0;;8008:2:1;7358:68:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:35;8182:19;;7358:68:0;7806:401:1;7358:68:0;-1:-1:-1;;;;;7445:16:0;;7437:64;;;;-1:-1:-1;;;7437:64:0;;8414:2:1;7437:64:0;;;8396:21:1;8453:2;8433:18;;;8426:30;8492:34;8472:18;;;8465:62;-1:-1:-1;;;8543:18:1;;;8536:33;8586:19;;7437:64:0;8212:399:1;7437:64:0;7529:1;7520:6;:10;7512:64;;;;-1:-1:-1;;;7512:64:0;;8818:2:1;7512:64:0;;;8800:21:1;8857:2;8837:18;;;8830:30;8896:34;8876:18;;;8869:62;-1:-1:-1;;;8947:18:1;;;8940:39;8996:19;;7512:64:0;8616:405:1;7512:64:0;-1:-1:-1;;;;;7658:24:0;;7587:17;7658:24;;;:18;:24;;;;;;7636:6;;7658:24;;7657:25;:52;;;;-1:-1:-1;;;;;;7687:22:0;;;;;;:18;:22;;;;;;;;7686:23;7657:52;7653:1659;;;7738:36;7770:3;7738:27;7749:15;:13;:15::i;:::-;7738:6;;:10;:27::i;:::-;:31;;:36::i;:::-;7793:16;;7726:48;;-1:-1:-1;7793:16:0;;7789:440;;;7848:15;;-1:-1:-1;;;;;7834:30:0;;;7848:15;;7834:30;;;;:62;;-1:-1:-1;7882:13:0;;-1:-1:-1;;;;;7868:28:0;;;7882:13;;7868:28;;7834:62;7830:384;;;7976:9;7956:30;;;;:19;:30;;;;;;7989:12;-1:-1:-1;7922:204:0;;;;-1:-1:-1;;;7922:204:0;;9228:2:1;7922:204:0;;;9210:21:1;9267:2;9247:18;;;9240:30;9306:34;9286:18;;;9279:62;9377:34;9357:18;;;9350:62;-1:-1:-1;;;9428:19:1;;;9421:40;9478:19;;7922:204:0;9026:477:1;7922:204:0;8169:9;8149:30;;;;:19;:30;;;;;8182:12;8149:45;;7830:384;8257:13;;-1:-1:-1;;;;;8249:21:0;;;8257:13;;8249:21;:55;;;;-1:-1:-1;8288:15:0;;-1:-1:-1;;;;;8274:30:0;;;8288:15;;8274:30;;8249:55;:83;;;;-1:-1:-1;;;;;;8310:22:0;;;;;;:18;:22;;;;;;;;8308:24;8249:83;8245:436;;;8372:12;;8362:6;:22;;8354:60;;;;-1:-1:-1;;;8354:60:0;;9710:2:1;8354:60:0;;;9692:21:1;9749:2;9729:18;;;9722:30;9788:27;9768:18;;;9761:55;9833:18;;8354:60:0;9508:349:1;8354:60:0;8467:16;;8457:6;8441:13;8451:2;-1:-1:-1;;;;;6085:18:0;6058:7;6085:18;;;:9;:18;;;;;;;5992:119;8441:13;:22;;;;:::i;:::-;:42;;8433:81;;;;-1:-1:-1;;;8433:81:0;;10194:2:1;8433:81:0;;;10176:21:1;10233:2;10213:18;;;10206:30;10272:28;10252:18;;;10245:56;10318:18;;8433:81:0;9992:350:1;8433:81:0;8533:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8579:18;;8567:9;;:30;8563:103;;;8622:16;:24;;-1:-1:-1;;8622:24:0;;;8563:103;8706:13;;-1:-1:-1;;;;;8700:19:0;;;8706:13;;8700:19;:43;;;;-1:-1:-1;;;;;;8723:20:0;;8738:4;8723:20;;8700:43;8697:132;;;8776:37;8809:3;8776:28;8787:16;:14;:16::i;8776:37::-;8764:49;;8697:132;8888:4;8845:22;6085:18;;;:9;:18;;;;;;8914:6;;-1:-1:-1;;;8914:6:0;;;;8913:7;:30;;;;-1:-1:-1;8930:13:0;;-1:-1:-1;;;;;8924:19:0;;;8930:13;;8924:19;8913:30;:45;;;;-1:-1:-1;8947:11:0;;-1:-1:-1;;;8947:11:0;;;;8913:45;:72;;;;;8971:14;;8962:6;:23;8913:72;8909:283;;;9026:14;;9009;:31;9006:117;;;9059:64;9076:46;9080:6;9087:34;9091:14;9106;;9087:3;:34::i;:::-;9076:3;:46::i;:::-;9059:16;:64::i;:::-;9142:34;9154:21;9142:11;:34::i;:::-;7711:1492;7653:1659;;;9228:8;;-1:-1:-1;;;;;9228:8:0;;;;;;9212:25;;;;9209:103;;9265:47;9269:6;9276:35;9280:15;;9296:14;;9276:3;:35::i;9265:47::-;9252:60;;9209:103;9326:11;;9323:161;;9394:4;9376:24;;;;:9;:24;;;;;;:39;;9405:9;9376:28;:39::i;:::-;9369:4;9351:24;;;;:9;:24;;;;;;;:64;;;;9433:39;;-1:-1:-1;;;;;9433:39:0;;;;;;;9462:9;1361:25:1;;1349:2;1334:18;;1215:177;9433:39:0;;;;;;;;9323:161;-1:-1:-1;;;;;9510:15:0;;;;;;:9;:15;;;;;;:31;;9530:10;9510:19;:31::i;:::-;-1:-1:-1;;;;;9494:15:0;;;;;;:9;:15;;;;;:47;9566:40;9584:21;:6;9595:9;9584:10;:21::i;:::-;-1:-1:-1;;;;;9566:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9552:13:0;;;;;;;:9;:13;;;;;:54;;;;9622:41;;;9641:21;:6;9652:9;9641:10;:21::i;:::-;9622:41;;1361:25:1;;;1349:2;1334:18;9622:41:0;;;;;;;7347:2324;;7278:2393;;;:::o;1358:190::-;1444:7;1480:12;1472:6;;;;1464:29;;;;-1:-1:-1;;;1464:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1504:9:0;1516:5;1520:1;1516;:5;:::i;:::-;1504:17;1358:190;-1:-1:-1;;;;;1358:190:0:o;9679:311::-;9726:7;9762:15;;9749:9;;:28;9746:80;;-1:-1:-1;9800:14:0;;;9679:311::o;9746:80::-;9851:15;;9839:9;;:27;:60;;;;;9883:16;;9870:9;;:29;;9839:60;9836:113;;;-1:-1:-1;9922:15:0;;;9679:311::o;9836:113::-;-1:-1:-1;9967:15:0;;;9679:311::o;1556:246::-;1614:7;1638:1;1643;1638:6;1634:47;;-1:-1:-1;1668:1:0;1661:8;;1634:47;1691:9;1703:5;1707:1;1703;:5;:::i;:::-;1691:17;-1:-1:-1;1736:1:0;1727:5;1731:1;1691:17;1727:5;:::i;:::-;:10;1719:56;;;;-1:-1:-1;;;1719:56:0;;11044:2:1;1719:56:0;;;11026:21:1;11083:2;11063:18;;;11056:30;11122:34;11102:18;;;11095:62;-1:-1:-1;;;11173:18:1;;;11166:31;11214:19;;1719:56:0;10842:397:1;1719:56:0;1793:1;1556:246;-1:-1:-1;;;1556:246:0:o;1810:132::-;1868:7;1895:39;1899:1;1902;1895:39;;;;;;;;;;;;;;;;;:3;:39::i;9998:315::-;10046:7;10082:15;;10069:9;;:28;10066:81;;-1:-1:-1;10120:15:0;;;9998:315::o;10066:81::-;10172:16;;10160:9;;:28;:61;;;;;10205:16;;10192:9;;:29;;10160:61;10157:115;;;-1:-1:-1;10244:16:0;;;9998:315::o;10321:98::-;10378:7;10405:1;10403;:3;10402:9;;10410:1;10402:9;;;-1:-1:-1;10408:1:0;10321:98;-1:-1:-1;10321:98:0:o;10427:483::-;5195:6;:13;;-1:-1:-1;;;;5195:13:0;-1:-1:-1;;;5195:13:0;;;10529:16:::1;::::0;;10543:1:::1;10529:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10529:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10529:16:0::1;10505:40;;10574:4;10556;10561:1;10556:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10556:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10600:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10600:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10556:7;;10600:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10590:4;10595:1;10590:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10590:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10665:15:::1;::::0;10633:62:::1;::::0;10650:4:::1;::::0;10665:15:::1;10683:11:::0;10633:8:::1;:62::i;:::-;10706:15;::::0;:196:::1;::::0;-1:-1:-1;;;10706:196:0;;-1:-1:-1;;;;;10706:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10787:11;;10706:15:::1;::::0;10829:4;;10856::::1;::::0;10876:15:::1;::::0;10706:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5231:6:0;:14;;-1:-1:-1;;;;5231:14:0;;;-1:-1:-1;;;;10427:483:0:o;10918:89::-;10974:8;;:25;;:8;;;;-1:-1:-1;;;;;10974:8:0;;:25;;;;;;;;;;;;:8;:25;;;;;;;;;;;;;;;;;;;;;10918:89;:::o;1027:179::-;1085:7;;1117:5;1121:1;1117;:5;:::i;:::-;1105:17;;1146:1;1141;:6;;1133:46;;;;-1:-1:-1;;;1133:46:0;;12695:2:1;1133:46:0;;;12677:21:1;12734:2;12714:18;;;12707:30;12773:29;12753:18;;;12746:57;12820:18;;1133:46:0;12493:351:1;1214:136:0;1272:7;1299:43;1303:1;1306;1299:43;;;;;;;;;;;;;;;;;:3;:43::i;1950:189::-;2036:7;2071:12;2064:5;2056:28;;;;-1:-1:-1;;;2056:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2095:9:0;2107:5;2111:1;2107;:5;:::i;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:422;3482:1;3525:5;3482:1;3539:270;3560:7;3550:8;3547:21;3539:270;;;3619:4;3615:1;3611:6;3607:17;3601:4;3598:27;3595:53;;;3628:18;;:::i;:::-;3678:7;3668:8;3664:22;3661:55;;;3698:16;;;;3661:55;3777:22;;;;3737:15;;;;3539:270;;;3543:3;3393:422;;;;;:::o;3820:806::-;3869:5;3899:8;3889:80;;-1:-1:-1;3940:1:1;3954:5;;3889:80;3988:4;3978:76;;-1:-1:-1;4025:1:1;4039:5;;3978:76;4070:4;4088:1;4083:59;;;;4156:1;4151:130;;;;4063:218;;4083:59;4113:1;4104:10;;4127:5;;;4151:130;4188:3;4178:8;4175:17;4172:43;;;4195:18;;:::i;:::-;-1:-1:-1;;4251:1:1;4237:16;;4266:5;;4063:218;;4365:2;4355:8;4352:16;4346:3;4340:4;4337:13;4333:36;4327:2;4317:8;4314:16;4309:2;4303:4;4300:12;4296:35;4293:77;4290:159;;;-1:-1:-1;4402:19:1;;;4434:5;;4290:159;4481:34;4506:8;4500:4;4481:34;:::i;:::-;4551:6;4547:1;4543:6;4539:19;4530:7;4527:32;4524:58;;;4562:18;;:::i;:::-;4600:20;;3820:806;-1:-1:-1;;;3820:806:1:o;4631:140::-;4689:5;4718:47;4759:4;4749:8;4745:19;4739:4;4718:47;:::i;4776:168::-;4849:9;;;4880;;4897:15;;;4891:22;;4877:37;4867:71;;4918:18;;:::i;4949:251::-;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;6126:306::-;6214:6;6222;6230;6283:2;6271:9;6262:7;6258:23;6254:32;6251:52;;;6299:1;6296;6289:12;6251:52;6328:9;6322:16;6312:26;;6378:2;6367:9;6363:18;6357:25;6347:35;;6422:2;6411:9;6407:18;6401:25;6391:35;;6126:306;;;;;:::o;6716:277::-;6783:6;6836:2;6824:9;6815:7;6811:23;6807:32;6804:52;;;6852:1;6849;6842:12;6804:52;6884:9;6878:16;6937:5;6930:13;6923:21;6916:5;6913:32;6903:60;;6959:1;6956;6949:12;9862:125;9927:9;;;9948:10;;;9945:36;;;9961:18;;:::i;10347:135::-;10386:3;10407:17;;;10404:43;;10427:18;;:::i;:::-;-1:-1:-1;10474:1:1;10463:13;;10347:135::o;10487:128::-;10554:9;;;10575:11;;;10572:37;;;10589:18;;:::i;10620:217::-;10660:1;10686;10676:132;;10730:10;10725:3;10721:20;10718:1;10711:31;10765:4;10762:1;10755:15;10793:4;10790:1;10783:15;10676:132;-1:-1:-1;10822:9:1;;10620:217::o;11376:127::-;11437:10;11432:3;11428:20;11425:1;11418:31;11468:4;11465:1;11458:15;11492:4;11489:1;11482:15;11508:980;11770:4;11818:3;11807:9;11803:19;11849:6;11838:9;11831:25;11875:2;11913:6;11908:2;11897:9;11893:18;11886:34;11956:3;11951:2;11940:9;11936:18;11929:31;11980:6;12015;12009:13;12046:6;12038;12031:22;12084:3;12073:9;12069:19;12062:26;;12123:2;12115:6;12111:15;12097:29;;12144:1;12154:195;12168:6;12165:1;12162:13;12154:195;;;12233:13;;-1:-1:-1;;;;;12229:39:1;12217:52;;12324:15;;;;12289:12;;;;12265:1;12183:9;12154:195;;;-1:-1:-1;;;;;;;12405:32:1;;;;12400:2;12385:18;;12378:60;-1:-1:-1;;;12469:3:1;12454:19;12447:35;12366:3;11508:980;-1:-1:-1;;;11508:980:1:o

Swarm Source

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