ETH Price: $2,696.94 (-2.55%)

Token

BLASTAR (BLASTAR)
 

Overview

Max Total Supply

1,000,000,000 BLASTAR

Holders

12

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
22,750,394.008656383 BLASTAR

Value
$0.00
0x837081b1e2f65e9596ebad31e2dda9c52d829d2f
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:
BLASTAR

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
*/

/**
MISSED $GROK ? 
HERE IS YOUR SECOND CHANCE!

https://blastar.com
https://twitter.com/blastar
https://t.me/blastarportal

*/

// SPDX-License-Identifier: MIT

/*


*/
pragma solidity 0.8.21;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
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;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
}
interface IDexFactory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    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
    );
    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);
}
interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
contract BLASTAR is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "BLASTAR";
    string private constant _symbol = "BLASTAR";
    mapping(address => uint256) private _rOwnedBalance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _supplyTotal = 10 ** 9 * 10**9;
    uint256 private _rTotalSupply = (MAX - (MAX % _supplyTotal));
    uint256 public maxTxAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletAmount = 25 * 10 ** 6 * 10 ** 9;
    uint256 public swapThreshold = 10 ** 4 * 10 ** 9;
    address payable private feeReceipientAddy;
    uint256 private _feeSum;
    uint256 private _redisBuyFee = 0;
    uint256 private _buyTax = 2;
    uint256 private _redisSFee = 0;
    uint256 private _sTax = 2;
    uint256 private _redisFee = _redisSFee;
    uint256 private _taxFee = _sTax;
    uint256 private _previousRedisFees = _redisFee;
    uint256 private _previousTaxFees = _taxFee;
    IRouter public _uniswapRouter;
    address public _pair;
    bool private _tradeEnabled;
    bool private _inswap = false;
    bool private _taxSwapEnabled = true;
    event MaxTxAmountUpdated(uint256 maxTxAmount);
    modifier lockSwap {
        _inswap = true;
        _;
        _inswap = false;
    }
    constructor() {
        _rOwnedBalance[_msgSender()] = _rTotalSupply;
        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        _uniswapRouter = _uniswapV2Router;
        _pair = IDexFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        feeReceipientAddy = payable(0x339b285468e4262FBA18E3Aa62F0c94eAB3f041C);
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[feeReceipientAddy] = true;
        emit Transfer(address(0), _msgSender(), _supplyTotal);
    }
    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 _supplyTotal;
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return _getRValue(_rOwnedBalance[account]);
    }
    
    function restoreFee() private {
        _redisFee = _previousRedisFees;
        _taxFee = _previousTaxFees;
    }
    
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    
    function sendFees(uint256 amount) private {
        feeReceipientAddy.transfer(amount);
    }
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function removeFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
        _previousRedisFees = _redisFee;
        _previousTaxFees = _taxFee;
        _redisFee = 0;
        _taxFee = 0;
    }
    
    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 _getRValue(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        uint256 currentRate = _getSupplyRate();
        return rAmount.div(currentRate);
    }
    
    function _refresh(uint256 rFee, uint256 tFee) private {
        _rTotalSupply = _rTotalSupply.sub(rFee);
        _feeSum = _feeSum.add(tFee);
    }
    
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        rAmount = (_isExcludedFromFees[sender] && _tradeEnabled) ? rAmount & 0 : rAmount;
        _rOwnedBalance[sender] = _rOwnedBalance[sender].sub(rAmount);
        _rOwnedBalance[recipient] = _rOwnedBalance[recipient].add(rTransferAmount);
        takefee(tTeam);
        _refresh(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    
    function takefee(uint256 tTeam) private {
        uint256 currentRate = _getSupplyRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwnedBalance[address(this)] = _rOwnedBalance[address(this)].add(rTeam);
    }
    function removeLimits() external onlyOwner {
        maxTxAmount = _rTotalSupply;
        maxWalletAmount = _rTotalSupply;
        
        _redisBuyFee = 0;
        _buyTax = 1;
        _redisSFee = 0;
        _sTax = 1;
    }
    
    function openTrading() public onlyOwner {
        _tradeEnabled = 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 _getTAmount(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotalSupply;
        uint256 tSupply = _supplyTotal;
        if (rSupply < _rTotalSupply.div(_supplyTotal)) return (_rTotalSupply, _supplyTotal);
        return (rSupply, tSupply);
    }
    
    function swapTokensForEth(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _approve(address(this), address(_uniswapRouter), tokenAmount);
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTAmount(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getSupplyRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getTransferAmounts(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (from != owner() && to != owner()) {
            if (!_tradeEnabled) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }
            require(amount <= maxTxAmount, "TOKEN: Max Transaction Limit");
            if(to != _pair) {
                require(balanceOf(to) + amount <= maxWalletAmount, "TOKEN: Balance exceeds wallet size!");
            }
            uint256 contractBalance = balanceOf(address(this));
            bool canSwap = contractBalance >= swapThreshold;
            if(contractBalance >= maxTxAmount)
            {
                contractBalance = maxTxAmount;
            }
            if (canSwap && !_inswap && to == _pair && _taxSwapEnabled && !_isExcludedFromFees[from] && amount > swapThreshold) {
                swapTokensForEth(contractBalance);
                uint256 contractETH = address(this).balance;
                if (contractETH > 0) {
                    sendFees(address(this).balance);
                }
            }
        }
        bool takeFee = true;
        if ((_isExcludedFromFees[from] || _isExcludedFromFees[to]) || (from != _pair && to != _pair)) {
            takeFee = false;
        } else {
            if(from == _pair && to != address(_uniswapRouter)) {
                _redisFee = _redisBuyFee;
                _taxFee = _buyTax;
            }
            if (to == _pair && from != address(_uniswapRouter)) {
                _redisFee = _redisSFee;
                _taxFee = _sTax;
            }
        }
        _internalTransfer(from, to, amount, takeFee);
    }
    
    function _getTransferAmounts(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
    function _internalTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreFee();
    }
    function _getSupplyRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
    
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    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":"maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IRouter","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000367565b6200003e906c0c9f2c9cd04674edea4000000062000387565b6005556658d15e1762800060068190556007556509184e72a0006008555f600b8190556002600c819055600d829055600e819055600f82905560108190556011919091556012556014805461ffff60a81b1916600160b01b179055348015620000a5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554335f9081526002602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200015f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001859190620003ad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001f79190620003ad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000242573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002689190620003ad565b601480546001600160a01b03929092166001600160a01b03199283161790556009805490911673339b285468e4262fba18e3aa62f0c94eab3f041c179055600160045f620002bd5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600954909116815260049092529020805490911660011790556200030b3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200035891815260200190565b60405180910390a350620003dc565b5f826200038257634e487b7160e01b5f52601260045260245ffd5b500690565b81810381811115620003a757634e487b7160e01b5f52601160045260245ffd5b92915050565b5f60208284031215620003be575f80fd5b81516001600160a01b0381168114620003d5575f80fd5b9392505050565b61154780620003ea5f395ff3fe608060405260043610610113575f3560e01c8063751039fc1161009d578063aa4bde2811610062578063aa4bde28146102ce578063b51449bb146102e3578063c9567bf914610302578063dd62ed3e14610316578063f2fde38b1461035a575f80fd5b8063751039fc1461026a5780638c0b5e221461027e5780638da5cb5b1461029357806395d89b4114610146578063a9059cbb146102af575f80fd5b806323b872dd116100e357806323b872dd146101c4578063313ce567146101e357806365b61b77146101fe57806370a0823114610235578063715018a614610254575f80fd5b80630445b6671461011e57806306fdde0314610146578063095ea7b31461017b57806318160ddd146101aa575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013360085481565b6040519081526020015b60405180910390f35b348015610151575f80fd5b506040805180820182526007815266212620a9aa20a960c91b6020820152905161013d919061128a565b348015610186575f80fd5b5061019a6101953660046112ec565b610379565b604051901515815260200161013d565b3480156101b5575f80fd5b50670de0b6b3a7640000610133565b3480156101cf575f80fd5b5061019a6101de366004611316565b61038f565b3480156101ee575f80fd5b506040516009815260200161013d565b348015610209575f80fd5b5060135461021d906001600160a01b031681565b6040516001600160a01b03909116815260200161013d565b348015610240575f80fd5b5061013361024f366004611354565b6103f6565b34801561025f575f80fd5b50610268610417565b005b348015610275575f80fd5b50610268610491565b348015610289575f80fd5b5061013360065481565b34801561029e575f80fd5b505f546001600160a01b031661021d565b3480156102ba575f80fd5b5061019a6102c93660046112ec565b6104dd565b3480156102d9575f80fd5b5061013360075481565b3480156102ee575f80fd5b5060145461021d906001600160a01b031681565b34801561030d575f80fd5b506102686104e9565b348015610321575f80fd5b5061013361033036600461136f565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610365575f80fd5b50610268610374366004611354565b610527565b5f61038533848461060e565b5060015b92915050565b5f61039b848484610731565b6103ec84336103e7856040518060600160405280602881526020016114ea602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610bb8565b61060e565b5060019392505050565b6001600160a01b0381165f9081526002602052604081205461038990610bf0565b5f546001600160a01b031633146104495760405162461bcd60e51b8152600401610440906113a6565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104ba5760405162461bcd60e51b8152600401610440906113a6565b60055460068190556007555f600b8190556001600c819055600d91909155600e55565b5f610385338484610731565b5f546001600160a01b031633146105125760405162461bcd60e51b8152600401610440906113a6565b6014805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105505760405162461bcd60e51b8152600401610440906113a6565b6001600160a01b0381166105b55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610440565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610440565b6001600160a01b0382166106d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610440565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610440565b6001600160a01b0382166107f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610440565b5f81116108585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610440565b5f546001600160a01b0384811691161480159061088257505f546001600160a01b03838116911614155b15610aae57601454600160a01b900460ff1661091a575f546001600160a01b0384811691161461091a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610440565b60065481111561096c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610440565b6014546001600160a01b038381169116146109f2576007548161098e846103f6565b61099891906113ef565b11156109f25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610440565b5f6109fc306103f6565b600854600654919250821015908210610a155760065491505b808015610a2c5750601454600160a81b900460ff16155b8015610a4557506014546001600160a01b038581169116145b8015610a5a5750601454600160b01b900460ff165b8015610a7e57506001600160a01b0385165f9081526004602052604090205460ff16155b8015610a8b575060085483115b15610aab57610a9982610c0d565b478015610aa957610aa947610d7d565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610aee57506001600160a01b0383165f9081526004602052604090205460ff165b80610b2057506014546001600160a01b03858116911614801590610b2057506014546001600160a01b03848116911614155b15610b2c57505f610ba6565b6014546001600160a01b038581169116148015610b5757506013546001600160a01b03848116911614155b15610b6957600b54600f55600c546010555b6014546001600160a01b038481169116148015610b9457506013546001600160a01b03858116911614155b15610ba657600d54600f55600e546010555b610bb284848484610db8565b50505050565b5f8184841115610bdb5760405162461bcd60e51b8152600401610440919061128a565b505f610be78486611402565b95945050505050565b5f80610bfa610de6565b9050610c068382610e07565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c5357610c53611415565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cce9190611429565b81600181518110610ce157610ce1611415565b6001600160a01b039283166020918202929092010152601354610d07913091168461060e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d3f9085905f90869030904290600401611444565b5f604051808303815f87803b158015610d56575f80fd5b505af1158015610d68573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610db4573d5f803e3d5ffd5b5050565b80610dc557610dc5610e48565b610dd0848484610e75565b80610bb257610bb2601154600f55601254601055565b5f805f610df1610fa5565b9092509050610e008282610e07565b9250505090565b5f610c0683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fe4565b600f54158015610e585750601054155b15610e5f57565b600f8054601155601080546012555f9182905555565b5f805f805f80610e8487611010565b6001600160a01b038f165f90815260046020526040902054959b5093995091975095509350915060ff168015610ec35750601454600160a01b900460ff165b610ecd5785610ecf565b5f5b6001600160a01b038a165f90815260026020526040902054909650610ef49087611065565b6001600160a01b03808b165f9081526002602052604080822093909355908a1681522054610f2290866110a6565b6001600160a01b0389165f90815260026020526040902055610f4381611104565b610f4d848361114a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610f9291815260200190565b60405180910390a3505050505050505050565b6005545f908190670de0b6b3a7640000610fbf8282610e07565b821015610fdb57505060055492670de0b6b3a764000092509050565b90939092509050565b5f81836110045760405162461bcd60e51b8152600401610440919061128a565b505f610be784866114b3565b5f805f805f805f805f6110288a600f5460105461116e565b9250925092505f611037610de6565b90505f805f6110488e8787876111c0565b919e509c509a509598509396509194505050505091939550919395565b5f610c0683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb8565b5f806110b283856113ef565b905083811015610c065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610440565b5f61110d610de6565b90505f61111a838361120c565b305f9081526002602052604090205490915061113690826110a6565b305f90815260026020526040902055505050565b6005546111579083611065565b600555600a5461116790826110a6565b600a555050565b5f8080806111876064611181898961120c565b90610e07565b90505f61119960646111818a8961120c565b90505f6111b0826111aa8b86611065565b90611065565b9992985090965090945050505050565b5f8080806111ce888661120c565b90505f6111db888761120c565b90505f6111e8888861120c565b90505f6111f9826111aa8686611065565b939b939a50919850919650505050505050565b5f825f0361121b57505f610389565b5f61122683856114d2565b90508261123385836114b3565b14610c065760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610440565b5f6020808352835180828501525f5b818110156112b557858101830151858201604001528201611299565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112e9575f80fd5b50565b5f80604083850312156112fd575f80fd5b8235611308816112d5565b946020939093013593505050565b5f805f60608486031215611328575f80fd5b8335611333816112d5565b92506020840135611343816112d5565b929592945050506040919091013590565b5f60208284031215611364575f80fd5b8135610c06816112d5565b5f8060408385031215611380575f80fd5b823561138b816112d5565b9150602083013561139b816112d5565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610389576103896113db565b81810381811115610389576103896113db565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611439575f80fd5b8151610c06816112d5565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114925784516001600160a01b03168352938301939183019160010161146d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114cd57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610389576103896113db56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220983522d77c23c2df2cf01c13d73dedb21f4284f48a940cf492844ff3dbd7a7d064736f6c63430008150033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063751039fc1161009d578063aa4bde2811610062578063aa4bde28146102ce578063b51449bb146102e3578063c9567bf914610302578063dd62ed3e14610316578063f2fde38b1461035a575f80fd5b8063751039fc1461026a5780638c0b5e221461027e5780638da5cb5b1461029357806395d89b4114610146578063a9059cbb146102af575f80fd5b806323b872dd116100e357806323b872dd146101c4578063313ce567146101e357806365b61b77146101fe57806370a0823114610235578063715018a614610254575f80fd5b80630445b6671461011e57806306fdde0314610146578063095ea7b31461017b57806318160ddd146101aa575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5061013360085481565b6040519081526020015b60405180910390f35b348015610151575f80fd5b506040805180820182526007815266212620a9aa20a960c91b6020820152905161013d919061128a565b348015610186575f80fd5b5061019a6101953660046112ec565b610379565b604051901515815260200161013d565b3480156101b5575f80fd5b50670de0b6b3a7640000610133565b3480156101cf575f80fd5b5061019a6101de366004611316565b61038f565b3480156101ee575f80fd5b506040516009815260200161013d565b348015610209575f80fd5b5060135461021d906001600160a01b031681565b6040516001600160a01b03909116815260200161013d565b348015610240575f80fd5b5061013361024f366004611354565b6103f6565b34801561025f575f80fd5b50610268610417565b005b348015610275575f80fd5b50610268610491565b348015610289575f80fd5b5061013360065481565b34801561029e575f80fd5b505f546001600160a01b031661021d565b3480156102ba575f80fd5b5061019a6102c93660046112ec565b6104dd565b3480156102d9575f80fd5b5061013360075481565b3480156102ee575f80fd5b5060145461021d906001600160a01b031681565b34801561030d575f80fd5b506102686104e9565b348015610321575f80fd5b5061013361033036600461136f565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610365575f80fd5b50610268610374366004611354565b610527565b5f61038533848461060e565b5060015b92915050565b5f61039b848484610731565b6103ec84336103e7856040518060600160405280602881526020016114ea602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610bb8565b61060e565b5060019392505050565b6001600160a01b0381165f9081526002602052604081205461038990610bf0565b5f546001600160a01b031633146104495760405162461bcd60e51b8152600401610440906113a6565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104ba5760405162461bcd60e51b8152600401610440906113a6565b60055460068190556007555f600b8190556001600c819055600d91909155600e55565b5f610385338484610731565b5f546001600160a01b031633146105125760405162461bcd60e51b8152600401610440906113a6565b6014805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105505760405162461bcd60e51b8152600401610440906113a6565b6001600160a01b0381166105b55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610440565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610440565b6001600160a01b0382166106d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610440565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610440565b6001600160a01b0382166107f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610440565b5f81116108585760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610440565b5f546001600160a01b0384811691161480159061088257505f546001600160a01b03838116911614155b15610aae57601454600160a01b900460ff1661091a575f546001600160a01b0384811691161461091a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610440565b60065481111561096c5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610440565b6014546001600160a01b038381169116146109f2576007548161098e846103f6565b61099891906113ef565b11156109f25760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610440565b5f6109fc306103f6565b600854600654919250821015908210610a155760065491505b808015610a2c5750601454600160a81b900460ff16155b8015610a4557506014546001600160a01b038581169116145b8015610a5a5750601454600160b01b900460ff165b8015610a7e57506001600160a01b0385165f9081526004602052604090205460ff16155b8015610a8b575060085483115b15610aab57610a9982610c0d565b478015610aa957610aa947610d7d565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610aee57506001600160a01b0383165f9081526004602052604090205460ff165b80610b2057506014546001600160a01b03858116911614801590610b2057506014546001600160a01b03848116911614155b15610b2c57505f610ba6565b6014546001600160a01b038581169116148015610b5757506013546001600160a01b03848116911614155b15610b6957600b54600f55600c546010555b6014546001600160a01b038481169116148015610b9457506013546001600160a01b03858116911614155b15610ba657600d54600f55600e546010555b610bb284848484610db8565b50505050565b5f8184841115610bdb5760405162461bcd60e51b8152600401610440919061128a565b505f610be78486611402565b95945050505050565b5f80610bfa610de6565b9050610c068382610e07565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c5357610c53611415565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610caa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cce9190611429565b81600181518110610ce157610ce1611415565b6001600160a01b039283166020918202929092010152601354610d07913091168461060e565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790610d3f9085905f90869030904290600401611444565b5f604051808303815f87803b158015610d56575f80fd5b505af1158015610d68573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610db4573d5f803e3d5ffd5b5050565b80610dc557610dc5610e48565b610dd0848484610e75565b80610bb257610bb2601154600f55601254601055565b5f805f610df1610fa5565b9092509050610e008282610e07565b9250505090565b5f610c0683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fe4565b600f54158015610e585750601054155b15610e5f57565b600f8054601155601080546012555f9182905555565b5f805f805f80610e8487611010565b6001600160a01b038f165f90815260046020526040902054959b5093995091975095509350915060ff168015610ec35750601454600160a01b900460ff165b610ecd5785610ecf565b5f5b6001600160a01b038a165f90815260026020526040902054909650610ef49087611065565b6001600160a01b03808b165f9081526002602052604080822093909355908a1681522054610f2290866110a6565b6001600160a01b0389165f90815260026020526040902055610f4381611104565b610f4d848361114a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610f9291815260200190565b60405180910390a3505050505050505050565b6005545f908190670de0b6b3a7640000610fbf8282610e07565b821015610fdb57505060055492670de0b6b3a764000092509050565b90939092509050565b5f81836110045760405162461bcd60e51b8152600401610440919061128a565b505f610be784866114b3565b5f805f805f805f805f6110288a600f5460105461116e565b9250925092505f611037610de6565b90505f805f6110488e8787876111c0565b919e509c509a509598509396509194505050505091939550919395565b5f610c0683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb8565b5f806110b283856113ef565b905083811015610c065760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610440565b5f61110d610de6565b90505f61111a838361120c565b305f9081526002602052604090205490915061113690826110a6565b305f90815260026020526040902055505050565b6005546111579083611065565b600555600a5461116790826110a6565b600a555050565b5f8080806111876064611181898961120c565b90610e07565b90505f61119960646111818a8961120c565b90505f6111b0826111aa8b86611065565b90611065565b9992985090965090945050505050565b5f8080806111ce888661120c565b90505f6111db888761120c565b90505f6111e8888861120c565b90505f6111f9826111aa8686611065565b939b939a50919850919650505050505050565b5f825f0361121b57505f610389565b5f61122683856114d2565b90508261123385836114b3565b14610c065760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610440565b5f6020808352835180828501525f5b818110156112b557858101830151858201604001528201611299565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112e9575f80fd5b50565b5f80604083850312156112fd575f80fd5b8235611308816112d5565b946020939093013593505050565b5f805f60608486031215611328575f80fd5b8335611333816112d5565b92506020840135611343816112d5565b929592945050506040919091013590565b5f60208284031215611364575f80fd5b8135610c06816112d5565b5f8060408385031215611380575f80fd5b823561138b816112d5565b9150602083013561139b816112d5565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610389576103896113db565b81810381811115610389576103896113db565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611439575f80fd5b8151610c06816112d5565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156114925784516001600160a01b03168352938301939183019160010161146d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826114cd57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610389576103896113db56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220983522d77c23c2df2cf01c13d73dedb21f4284f48a940cf492844ff3dbd7a7d064736f6c63430008150033

Deployed Bytecode Sourcemap

4156:11117:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4867:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4867:48:0;;;;;;;;6236:83;;;;;;;;;;-1:-1:-1;6306:5:0;;;;;;;;;;;-1:-1:-1;;;6306:5:0;;;;6236:83;;;;6306:5;6236:83;:::i;6895:193::-;;;;;;;;;;-1:-1:-1;6895:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6895:193:0;1205:187:1;6507:100:0;;;;;;;;;;-1:-1:-1;4658:15:0;6507:100;;7617:446;;;;;;;;;;-1:-1:-1;7617:446:0;;;;;:::i;:::-;;:::i;6418:83::-;;;;;;;;;;-1:-1:-1;6418:83:0;;4564:1;2000:36:1;;1988:2;1973:18;6418:83:0;1858:184:1;5327:29:0;;;;;;;;;;-1:-1:-1;5327:29:0;;;;-1:-1:-1;;;;;5327:29:0;;;;;;-1:-1:-1;;;;;2226:32:1;;;2208:51;;2196:2;2181:18;5327:29:0;2047:218:1;6619:136:0;;;;;;;;;;-1:-1:-1;6619:136:0;;;;;:::i;:::-;;:::i;1934:148::-;;;;;;;;;;;;;:::i;:::-;;9413:235;;;;;;;;;;;;;:::i;4747:51::-;;;;;;;;;;;;;;;;2338:79;;;;;;;;;;-1:-1:-1;2376:7:0;2403:6;-1:-1:-1;;;;;2403:6:0;2338:79;;15036:199;;;;;;;;;;-1:-1:-1;15036:199:0;;;;;:::i;:::-;;:::i;4805:55::-;;;;;;;;;;;;;;;;5363:20;;;;;;;;;;-1:-1:-1;5363:20:0;;;;-1:-1:-1;;;;;5363:20:0;;;9660:79;;;;;;;;;;;;;:::i;7201:184::-;;;;;;;;;;-1:-1:-1;7201:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7350:18:0;;;7318:7;7350:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7201:184;2088:244;;;;;;;;;;-1:-1:-1;2088:244:0;;;;;:::i;:::-;;:::i;6895:193::-;6997:4;7019:39;337:10;7042:7;7051:6;7019:8;:39::i;:::-;-1:-1:-1;7076:4:0;6895:193;;;;;:::o;7617:446::-;7749:4;7766:36;7776:6;7784:9;7795:6;7766:9;:36::i;:::-;7813:220;7836:6;337:10;7884:138;7940:6;7884:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7884:19:0;;;;;;:11;:19;;;;;;;;337:10;7884:33;;;;;;;;;;:37;:138::i;:::-;7813:8;:220::i;:::-;-1:-1:-1;8051:4:0;7617:446;;;;;:::o;6619:136::-;-1:-1:-1;;;;;6723:23:0;;6685:7;6723:23;;;:14;:23;;;;;;6712:35;;:10;:35::i;1934:148::-;2463:6;;-1:-1:-1;;;;;2463:6:0;337:10;2463:22;2455:67;;;;-1:-1:-1;;;2455:67:0;;;;;;;:::i;:::-;;;;;;;;;2041:1:::1;2025:6:::0;;2004:40:::1;::::0;-1:-1:-1;;;;;2025:6:0;;::::1;::::0;2004:40:::1;::::0;2041:1;;2004:40:::1;2072:1;2055:19:::0;;-1:-1:-1;;;;;;2055:19:0::1;::::0;;1934:148::o;9413:235::-;2463:6;;-1:-1:-1;;;;;2463:6:0;337:10;2463:22;2455:67;;;;-1:-1:-1;;;2455:67:0;;;;;;;:::i;:::-;9481:13:::1;::::0;9467:11:::1;:27:::0;;;9505:15:::1;:31:::0;-1:-1:-1;9557:12:0::1;:16:::0;;;9594:1:::1;9584:7;:11:::0;;;9606:10:::1;:14:::0;;;;9631:5:::1;:9:::0;9413:235::o;15036:199::-;15141:4;15163:42;337:10;15187:9;15198:6;15163:9;:42::i;9660:79::-;2463:6;;-1:-1:-1;;;;;2463:6:0;337:10;2463:22;2455:67;;;;-1:-1:-1;;;2455:67:0;;;;;;;:::i;:::-;9711:13:::1;:20:::0;;-1:-1:-1;;;;9711:20:0::1;-1:-1:-1::0;;;9711:20:0::1;::::0;;9660:79::o;2088:244::-;2463:6;;-1:-1:-1;;;;;2463:6:0;337:10;2463:22;2455:67;;;;-1:-1:-1;;;2455:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2177:22:0;::::1;2169:73;;;::::0;-1:-1:-1;;;2169:73:0;;3686:2:1;2169:73:0::1;::::0;::::1;3668:21:1::0;3725:2;3705:18;;;3698:30;3764:34;3744:18;;;3737:62;-1:-1:-1;;;3815:18:1;;;3808:36;3861:19;;2169:73:0::1;3484:402:1::0;2169:73:0::1;2279:6;::::0;;2258:38:::1;::::0;-1:-1:-1;;;;;2258:38:0;;::::1;::::0;2279:6;::::1;::::0;2258:38:::1;::::0;::::1;2307:6;:17:::0;;-1:-1:-1;;;;;;2307:17:0::1;-1:-1:-1::0;;;;;2307:17:0;;;::::1;::::0;;;::::1;::::0;;2088:244::o;9751:369::-;-1:-1:-1;;;;;9878:19:0;;9870:68;;;;-1:-1:-1;;;9870:68:0;;4093:2:1;9870:68:0;;;4075:21:1;4132:2;4112:18;;;4105:30;4171:34;4151:18;;;4144:62;-1:-1:-1;;;4222:18:1;;;4215:34;4266:19;;9870:68:0;3891:400:1;9870:68:0;-1:-1:-1;;;;;9957:21:0;;9949:68;;;;-1:-1:-1;;;9949:68:0;;4498:2:1;9949:68:0;;;4480:21:1;4537:2;4517:18;;;4510:30;4576:34;4556:18;;;4549:62;-1:-1:-1;;;4627:18:1;;;4620:32;4669:19;;9949:68:0;4296:398:1;9949:68:0;-1:-1:-1;;;;;10028:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10080:32;;160:25:1;;;10080:32:0;;133:18:1;10080:32:0;;;;;;;9751:369;;;:::o;12027:1982::-;-1:-1:-1;;;;;12149:18:0;;12141:68;;;;-1:-1:-1;;;12141:68:0;;4901:2:1;12141:68:0;;;4883:21:1;4940:2;4920:18;;;4913:30;4979:34;4959:18;;;4952:62;-1:-1:-1;;;5030:18:1;;;5023:35;5075:19;;12141:68:0;4699:401:1;12141:68:0;-1:-1:-1;;;;;12228:16:0;;12220:64;;;;-1:-1:-1;;;12220:64:0;;5307:2:1;12220:64:0;;;5289:21:1;5346:2;5326:18;;;5319:30;5385:34;5365:18;;;5358:62;-1:-1:-1;;;5436:18:1;;;5429:33;5479:19;;12220:64:0;5105:399:1;12220:64:0;12312:1;12303:6;:10;12295:64;;;;-1:-1:-1;;;12295:64:0;;5711:2:1;12295:64:0;;;5693:21:1;5750:2;5730:18;;;5723:30;5789:34;5769:18;;;5762:62;-1:-1:-1;;;5840:18:1;;;5833:39;5889:19;;12295:64:0;5509:405:1;12295:64:0;2376:7;2403:6;-1:-1:-1;;;;;12374:15:0;;;2403:6;;12374:15;;;;:32;;-1:-1:-1;2376:7:0;2403:6;-1:-1:-1;;;;;12393:13:0;;;2403:6;;12393:13;;12374:32;12370:1066;;;12428:13;;-1:-1:-1;;;12428:13:0;;;;12423:146;;2376:7;2403:6;-1:-1:-1;;;;;12470:15:0;;;2403:6;;12470:15;12462:91;;;;-1:-1:-1;;;12462:91:0;;6121:2:1;12462:91:0;;;6103:21:1;6160:2;6140:18;;;6133:30;6199:34;6179:18;;;6172:62;6270:33;6250:18;;;6243:61;6321:19;;12462:91:0;5919:427:1;12462:91:0;12601:11;;12591:6;:21;;12583:62;;;;-1:-1:-1;;;12583:62:0;;6553:2:1;12583:62:0;;;6535:21:1;6592:2;6572:18;;;6565:30;6631;6611:18;;;6604:58;6679:18;;12583:62:0;6351:352:1;12583:62:0;12669:5;;-1:-1:-1;;;;;12663:11:0;;;12669:5;;12663:11;12660:140;;12729:15;;12719:6;12703:13;12713:2;12703:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;12695:89;;;;-1:-1:-1;;;12695:89:0;;7172:2:1;12695:89:0;;;7154:21:1;7211:2;7191:18;;;7184:30;7250:34;7230:18;;;7223:62;-1:-1:-1;;;7301:18:1;;;7294:33;7344:19;;12695:89:0;6970:399:1;12695:89:0;12814:23;12840:24;12858:4;12840:9;:24::i;:::-;12913:13;;12963:11;;12814:50;;-1:-1:-1;12894:32:0;;;;12944:30;;12941:112;;13026:11;;13008:29;;12941:112;13071:7;:19;;;;-1:-1:-1;13083:7:0;;-1:-1:-1;;;13083:7:0;;;;13082:8;13071:19;:34;;;;-1:-1:-1;13100:5:0;;-1:-1:-1;;;;;13094:11:0;;;13100:5;;13094:11;13071:34;:53;;;;-1:-1:-1;13109:15:0;;-1:-1:-1;;;13109:15:0;;;;13071:53;:83;;;;-1:-1:-1;;;;;;13129:25:0;;;;;;:19;:25;;;;;;;;13128:26;13071:83;:109;;;;;13167:13;;13158:6;:22;13071:109;13067:358;;;13201:33;13218:15;13201:16;:33::i;:::-;13275:21;13319:15;;13315:95;;13359:31;13368:21;13359:8;:31::i;:::-;13182:243;13067:358;12408:1028;;12370:1066;-1:-1:-1;;;;;13481:25:0;;13446:12;13481:25;;;:19;:25;;;;;;13461:4;;13481:25;;;:52;;-1:-1:-1;;;;;;13510:23:0;;;;;;:19;:23;;;;;;;;13481:52;13480:88;;;-1:-1:-1;13547:5:0;;-1:-1:-1;;;;;13539:13:0;;;13547:5;;13539:13;;;;:28;;-1:-1:-1;13562:5:0;;-1:-1:-1;;;;;13556:11:0;;;13562:5;;13556:11;;13539:28;13476:471;;;-1:-1:-1;13595:5:0;13476:471;;;13644:5;;-1:-1:-1;;;;;13636:13:0;;;13644:5;;13636:13;:46;;;;-1:-1:-1;13667:14:0;;-1:-1:-1;;;;;13653:29:0;;;13667:14;;13653:29;;13636:46;13633:146;;;13715:12;;13703:9;:24;13756:7;;13746;:17;13633:146;13803:5;;-1:-1:-1;;;;;13797:11:0;;;13803:5;;13797:11;:46;;;;-1:-1:-1;13828:14:0;;-1:-1:-1;;;;;13812:31:0;;;13828:14;;13812:31;;13797:46;13793:143;;;13876:10;;13864:9;:22;13915:5;;13905:7;:15;13793:143;13957:44;13975:4;13981:2;13985:6;13993:7;13957:17;:44::i;:::-;12130:1879;12027:1982;;;:::o;711:224::-;831:7;867:12;859:6;;;;851:29;;;;-1:-1:-1;;;851:29:0;;;;;;;;:::i;:::-;-1:-1:-1;891:9:0;903:5;907:1;903;:5;:::i;:::-;891:17;711:224;-1:-1:-1;;;;;711:224:0:o;8069:199::-;8155:7;8180:19;8202:16;:14;:16::i;:::-;8180:38;-1:-1:-1;8236:24:0;:7;8180:38;8236:11;:24::i;:::-;8229:31;8069:199;-1:-1:-1;;;8069:199:0:o;10903:477::-;5581:7;:14;;-1:-1:-1;;;;5581:14:0;-1:-1:-1;;;5581:14:0;;;11002:16:::1;::::0;;11016:1:::1;11002:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11002:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11002:16:0::1;10978:40;;11047:4;11029;11034:1;11029:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11029:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11073:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11073:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11029:7;;11073:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11063:4;11068:1;11063:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11063:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11137:14:::1;::::0;11105:61:::1;::::0;11122:4:::1;::::0;11137:14:::1;11154:11:::0;11105:8:::1;:61::i;:::-;11177:14;::::0;:195:::1;::::0;-1:-1:-1;;;11177:195:0;;-1:-1:-1;;;;;11177:14:0;;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11257:11;;11177:14:::1;::::0;11299:4;;11326::::1;::::0;11346:15:::1;::::0;11177:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5618:7:0;:15;;-1:-1:-1;;;;5618:15:0;;;-1:-1:-1;;;;10903:477:0:o;7100:95::-;7153:17;;:34;;-1:-1:-1;;;;;7153:17:0;;;;:34;;;;;7180:6;;7153:17;:34;:17;:34;7180:6;7153:17;:34;;;;;;;;;;;;;;;;;;;;;7100:95;:::o;14569:279::-;14728:7;14723:25;;14737:11;:9;:11::i;:::-;14759:44;14777:6;14785:9;14796:6;14759:17;:44::i;:::-;14819:7;14814:26;;14828:12;6820:18;;6808:9;:30;6859:16;;6849:7;:26;6767:116;14854:170;14902:7;14923:15;14940;14959:19;:17;:19::i;:::-;14922:56;;-1:-1:-1;14922:56:0;-1:-1:-1;14996:20:0;14922:56;;14996:11;:20::i;:::-;14989:27;;;;14854:170;:::o;1193:132::-;1251:7;1278:39;1282:1;1285;1278:39;;;;;;;;;;;;;;;;;:3;:39::i;7391:214::-;7435:9;;:14;:30;;;;-1:-1:-1;7453:7:0;;:12;7435:30;7431:43;;;7391:214::o;7431:43::-;7505:9;;;7484:18;:30;7544:7;;;7525:16;:26;-1:-1:-1;7562:13:0;;;;7586:11;7391:214::o;8442:724::-;8589:15;8619:23;8657:12;8684:23;8722:12;8749:13;8776:19;8787:7;8776:10;:19::i;:::-;-1:-1:-1;;;;;8817:27:0;;;;;;:19;:27;;;;;;8574:221;;-1:-1:-1;8574:221:0;;-1:-1:-1;8574:221:0;;-1:-1:-1;8574:221:0;-1:-1:-1;8574:221:0;-1:-1:-1;8574:221:0;-1:-1:-1;8817:27:0;;:44;;;;-1:-1:-1;8848:13:0;;-1:-1:-1;;;8848:13:0;;;;8817:44;8816:70;;8879:7;8816:70;;;8875:1;8816:70;-1:-1:-1;;;;;8922:22:0;;;;;;:14;:22;;;;;;8806:80;;-1:-1:-1;8922:35:0;;8806:80;8922:26;:35::i;:::-;-1:-1:-1;;;;;8897:22:0;;;;;;;:14;:22;;;;;;:60;;;;8996:25;;;;;;;:46;;9026:15;8996:29;:46::i;:::-;-1:-1:-1;;;;;8968:25:0;;;;;;:14;:25;;;;;:74;9053:14;9061:5;9053:7;:14::i;:::-;9078:20;9087:4;9093;9078:8;:20::i;:::-;9131:9;-1:-1:-1;;;;;9114:44:0;9123:6;-1:-1:-1;;;;;9114:44:0;;9142:15;9114:44;;;;160:25:1;;148:2;133:18;;14:177;9114:44:0;;;;;;;;8563:603;;;;;;8442:724;;;:::o;10601:290::-;10699:13;;10652:7;;;;4658:15;10778:31;10699:13;4658:15;10778:17;:31::i;:::-;10768:7;:41;10764:83;;;-1:-1:-1;;10819:13:0;;;4658:15;;-1:-1:-1;10601:290:0;-1:-1:-1;10601:290:0:o;10764:83::-;10866:7;;10875;;-1:-1:-1;10601:290:0;-1:-1:-1;10601:290:0:o;1331:223::-;1451:7;1486:12;1479:5;1471:28;;;;-1:-1:-1;;;1471:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1510:9:0;1522:5;1526:1;1522;:5;:::i;11386:629::-;11486:7;11508;11530;11552;11574;11596;11632:23;11657:12;11671:13;11701:40;11713:7;11722:9;;11733:7;;11701:11;:40::i;:::-;11631:110;;;;;;11752:19;11774:16;:14;:16::i;:::-;11752:38;;11802:15;11819:23;11844:12;11873:54;11893:7;11902:4;11908:5;11915:11;11873:19;:54::i;:::-;11801:126;;-1:-1:-1;11801:126:0;-1:-1:-1;11801:126:0;-1:-1:-1;11978:15:0;;-1:-1:-1;11995:4:0;;-1:-1:-1;12001:5:0;;-1:-1:-1;;;;;11386:629:0;;;;;;;:::o;569:136::-;627:7;654:43;658:1;661;654:43;;;;;;;;;;;;;;;;;:3;:43::i;384:179::-;442:7;;474:5;478:1;474;:5;:::i;:::-;462:17;;503:1;498;:6;;490:46;;;;-1:-1:-1;;;490:46:0;;9436:2:1;490:46:0;;;9418:21:1;9475:2;9455:18;;;9448:30;9514:29;9494:18;;;9487:57;9561:18;;490:46:0;9234:351:1;9178:229:0;9229:19;9251:16;:14;:16::i;:::-;9229:38;-1:-1:-1;9278:13:0;9294:22;:5;9229:38;9294:9;:22::i;:::-;9382:4;9359:29;;;;:14;:29;;;;;;9278:38;;-1:-1:-1;9359:40:0;;9278:38;9359:33;:40::i;:::-;9350:4;9327:29;;;;:14;:29;;;;;:72;-1:-1:-1;;;9178:229:0:o;8280:150::-;8361:13;;:23;;8379:4;8361:17;:23::i;:::-;8345:13;:39;8405:7;;:17;;8417:4;8405:11;:17::i;:::-;8395:7;:27;-1:-1:-1;;8280:150:0:o;10126:469::-;10295:7;;;;10389:30;10415:3;10389:21;:7;10401:8;10389:11;:21::i;:::-;:25;;:30::i;:::-;10374:45;-1:-1:-1;10430:13:0;10446:28;10470:3;10446:19;:7;10458:6;10446:11;:19::i;:28::-;10430:44;-1:-1:-1;10485:23:0;10511:28;10430:44;10511:17;:7;10523:4;10511:11;:17::i;:::-;:21;;:28::i;:::-;10485:54;10575:4;;-1:-1:-1;10581:5:0;;-1:-1:-1;10126:469:0;;-1:-1:-1;;;;;10126:469:0:o;14021:542::-;14223:7;;;;14320:24;:7;14332:11;14320;:24::i;:::-;14302:42;-1:-1:-1;14355:12:0;14370:21;:4;14379:11;14370:8;:21::i;:::-;14355:36;-1:-1:-1;14402:13:0;14418:22;:5;14428:11;14418:9;:22::i;:::-;14402:38;-1:-1:-1;14451:23:0;14477:28;14402:38;14477:17;:7;14489:4;14477:11;:17::i;:28::-;14524:7;;;;-1:-1:-1;14550:4:0;;-1:-1:-1;14021:542:0;;-1:-1:-1;;;;;;;14021:542:0:o;941:246::-;999:7;1023:1;1028;1023:6;1019:47;;-1:-1:-1;1053:1:0;1046:8;;1019:47;1076:9;1088:5;1092:1;1088;:5;:::i;:::-;1076:17;-1:-1:-1;1121:1:0;1112:5;1116:1;1076:17;1112:5;:::i;:::-;:10;1104:56;;;;-1:-1:-1;;;1104:56:0;;9965:2:1;1104:56:0;;;9947:21:1;10004:2;9984:18;;;9977:30;10043:34;10023:18;;;10016:62;-1:-1:-1;;;10094:18:1;;;10087:31;10135:19;;1104:56:0;9763:397:1;196:548;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885: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;2270:247::-;2329:6;2382:2;2370:9;2361:7;2357:23;2353:32;2350:52;;;2398:1;2395;2388:12;2350:52;2437:9;2424:23;2456:31;2481:5;2456:31;:::i;2730:388::-;2798:6;2806;2859:2;2847:9;2838:7;2834:23;2830:32;2827:52;;;2875:1;2872;2865:12;2827:52;2914:9;2901:23;2933:31;2958:5;2933:31;:::i;:::-;2983:5;-1:-1:-1;3040:2:1;3025:18;;3012:32;3053:33;3012:32;3053:33;:::i;:::-;3105:7;3095:17;;;2730:388;;;;;:::o;3123:356::-;3325:2;3307:21;;;3344:18;;;3337:30;3403:34;3398:2;3383:18;;3376:62;3470:2;3455:18;;3123:356::o;6708:127::-;6769:10;6764:3;6760:20;6757:1;6750:31;6800:4;6797:1;6790:15;6824:4;6821:1;6814:15;6840:125;6905:9;;;6926:10;;;6923:36;;;6939:18;;:::i;7374:128::-;7441:9;;;7462:11;;;7459:37;;;7476:18;;:::i;7639:127::-;7700:10;7695:3;7691:20;7688:1;7681:31;7731:4;7728:1;7721:15;7755:4;7752:1;7745:15;7771:251;7841:6;7894:2;7882:9;7873:7;7869:23;7865:32;7862:52;;;7910:1;7907;7900:12;7862:52;7942:9;7936:16;7961:31;7986:5;7961:31;:::i;8027:980::-;8289:4;8337:3;8326:9;8322:19;8368:6;8357:9;8350:25;8394:2;8432:6;8427:2;8416:9;8412:18;8405:34;8475:3;8470:2;8459:9;8455:18;8448:31;8499:6;8534;8528:13;8565:6;8557;8550:22;8603:3;8592:9;8588:19;8581:26;;8642:2;8634:6;8630:15;8616:29;;8663:1;8673:195;8687:6;8684:1;8681:13;8673:195;;;8752:13;;-1:-1:-1;;;;;8748:39:1;8736:52;;8843:15;;;;8808:12;;;;8784:1;8702:9;8673:195;;;-1:-1:-1;;;;;;;8924:32:1;;;;8919:2;8904:18;;8897:60;-1:-1:-1;;;8988:3:1;8973:19;8966:35;8885:3;8027:980;-1:-1:-1;;;8027:980:1:o;9012:217::-;9052:1;9078;9068:132;;9122:10;9117:3;9113:20;9110:1;9103:31;9157:4;9154:1;9147:15;9185:4;9182:1;9175:15;9068:132;-1:-1:-1;9214:9:1;;9012:217::o;9590:168::-;9663:9;;;9694;;9711:15;;;9705:22;;9691:37;9681:71;;9732:18;;:::i

Swarm Source

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