ETH Price: $2,449.15 (-2.46%)
Gas: 2.47 Gwei

Token

YiLongMa (YILONG)
 

Overview

Max Total Supply

100,000,000,000,000 YILONG

Holders

100

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.556538477 YILONG

Value
$0.00
0xdaf4b30d5f255696d5519d81db6e9a45a85f9f17
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:
YiLongMa

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 3 of 3: _YiLongMa.sol
//SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.7;

import "./Interfaces.sol";
import "./BaseErc20Min.sol";

contract YiLongMa is BaseErc20 {

    uint256 immutable public mhAmount;

    constructor() BaseErc20(msg.sender) {

        symbol = "YILONG";
        name = "YiLongMa";
        decimals = 9;

        // Max Hold
        mhAmount = 2_000_000_000_005  * 10 ** decimals;

        // Finalise
        _totalSupply = _totalSupply + (100_000_000_000_000 * 10 ** decimals);
        _balances[owner] = _balances[owner] + _totalSupply;
        emit Transfer(address(0), owner, _totalSupply);
    }

    // Overrides


    function preTransfer(address from, address to, uint256 value) override internal {      
        if (launched && 
            from != owner && to != owner && 
            exchanges[to] == false && 
            to != getRouterAddress()
        ) {
            require (_balances[to] + value <= mhAmount, "this is over the max hold amount");
        }
        
        super.preTransfer(from, to, value);
    }
} 

File 1 of 3: BaseErc20Min.sol
//SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.7;

import "./Interfaces.sol";

abstract contract BaseErc20 is IERC20, IOwnable {
    mapping (address => uint256) internal _balances;
    mapping (address => mapping (address => uint256)) internal _allowed;
    uint256 internal _totalSupply;
    
    string public symbol;
    string public name;
    uint8 public decimals;
    
    address public override owner;
    bool public launched;
    
    mapping (address => bool) internal exchanges;

    modifier onlyOwner() {
        require(msg.sender == owner, "can only be called by the contract owner");
        _;
    }
    
    modifier isLaunched() {
        require(launched, "can only be called once token is launched");
        _;
    }

    // @dev Trading is allowed before launch if the sender is the owner, we are transferring from the owner, or in canAlwaysTrade list
    modifier tradingEnabled(address from) {
        require(launched || from == owner, "trading not enabled");
        _;
    }
    
    constructor(address _owner) {
        owner = _owner;
    }

    /**
    * @dev Total number of tokens in existence
    */
    function totalSupply() external override view returns (uint256) {
        return _totalSupply;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) external override view returns (uint256) {
        return _balances[_owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address spender) external override view returns (uint256) {
        return _allowed[_owner][spender];
    }

    /**
    * @dev Transfer token for a specified address
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function transfer(address to, uint256 value) external override tradingEnabled(msg.sender) returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) external override tradingEnabled(msg.sender) returns (bool) {
        require(spender != address(0), "cannot approve the 0 address");

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another.
     * Note that while this function emits an Approval event, this is not required as per the specification,
     * and other compliant implementations may not emit the event.
     * @param from address The address which you want to send tokens from
     * @param to address The address which you want to transfer to
     * @param value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address from, address to, uint256 value) external override tradingEnabled(from) returns (bool) {
        _allowed[from][msg.sender] = _allowed[from][msg.sender] - value;
        _transfer(from, to, value);
        emit Approval(from, msg.sender, _allowed[from][msg.sender]);
        return true;
    }

    // Virtual methods
    function launch() virtual external onlyOwner {
        require(launched == false, "contract already launched");
        launched = true;
    }

    function calculateTransferAmount(address from, address to, uint256 value) virtual internal returns (uint256) {
        require(from != to, "you cannot transfer to yourself");
        return value;
    }
    
    function preTransfer(address from, address to, uint256 value) virtual internal { }

    // Admin methods
    function changeOwner(address who) external onlyOwner {
        owner = who;
    }

    function setExchange(address who, bool on) external onlyOwner {
        require(exchanges[who] != on, "already set");
        exchanges[who] = on;
    }

    // Private methods

    function getRouterAddress() internal view returns (address routerAddress) {
        if (block.chainid == 1 || block.chainid == 3 || block.chainid == 4  || block.chainid == 5) {
            routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ; // ETHEREUM
        } else if (block.chainid == 56) {
            routerAddress = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BSC MAINNET
        } else if (block.chainid == 97) {
            routerAddress = 0xc99f3718dB7c90b020cBBbb47eD26b0BA0C6512B; // BSC TESTNET - https://pancakeswap.rainbit.me/
        } else {
            revert("Unknown Chain ID");
        }
    }

    /**
    * @dev Transfer token for a specified addresses
    * @param from The address to transfer from.
    * @param to The address to transfer to.
    * @param value The amount to be transferred.
    */
    function _transfer(address from, address to, uint256 value) private {
        require(to != address(0), "cannot be zero address");

        preTransfer(from, to, value);

        uint256 modifiedAmount = calculateTransferAmount(from, to, value);
        _balances[from] = _balances[from] - value;
        _balances[to] = _balances[to] + modifiedAmount;

        emit Transfer(from, to, modifiedAmount);
    }
}

File 2 of 3: Interfaces.sol
//SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.7;

interface IOwnable {
    function owner() external view returns (address);
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address _owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IBurnable {
    function burn(uint256 value) external;
    function burnFrom(address account, uint256 value) external;
}

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

interface IDEXRouter {
    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 addLiquidity(address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline) external returns (uint amountA, uint amountB, uint liquidity);    
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
    function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts);
}

interface IDividendDistributor {
    function setDistributionCriteria(uint256 _minPeriod, uint256 _minDistribution) external;
    function setShare(address shareholder, uint256 amount) external;
    function depositNative() external payable;
    function depositToken(address from, uint256 amount) external;
    function process(uint256 gas) external;
    function inSwap() external view returns (bool);
}

interface ITaxDistributorLight {
    receive() external payable;
    function lastSwapTime() external view returns (uint256);
    function inSwap() external view returns (bool);
    function createWalletTax(string memory name, uint256 buyTax, uint256 sellTax, address wallet, bool convertToNative) external;
    function distribute() external payable;
    function getSellTax() external view returns (uint256);
    function getBuyTax() external view returns (uint256);
    function getTaxWallet(string memory taxName) external view returns(address);
    function setTaxWallet(string memory taxName, address wallet) external;
    function setSellTax(string memory taxName, uint256 taxPercentage) external;
    function setBuyTax(string memory taxName, uint256 taxPercentage) external;
    function takeSellTax(uint256 value) external returns (uint256);
    function takeBuyTax(uint256 value) external returns (uint256);
}

interface ITaxDistributor {
    function createDistributorTax(string memory name, uint256 buyTax, uint256 sellTax, address wallet, bool convertToNative) external;
    function createDividendTax(string memory name, uint256 buyTax, uint256 sellTax, address dividendDistributor, bool convertToNative) external;
    function createBurnTax(string memory name, uint256 buyTax, uint256 sellTax) external;
    function createLiquidityTax(string memory name, uint256 buyTax, uint256 sellTax, address holder) external; 
}


interface IWalletDistributor {
    function receiveToken(address token, address from, uint256 amount) external;
}

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":"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mhAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"},{"internalType":"bool","name":"on","type":"bool"}],"name":"setExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60a06040523480156200001157600080fd5b5060058054610100600160a81b03191633610100021790556040805180820190915260068082526559494c4f4e4760d01b6020909201918252620000589160039162000193565b506040805180820190915260088082526759694c6f6e674d6160c01b60209092019182526200008a9160049162000193565b506005805460ff19166009908117909155620000a890600a6200029d565b620000ba906501d1a94a20056200036b565b608052600554620000d09060ff16600a6200029d565b620000e290655af3107a40006200036b565b600254620000f1919062000239565b600281905560055461010090046001600160a01b031660009081526020819052604090205462000122919062000239565b600580546001600160a01b03610100918290048116600090815260208190526040808220959095559254600254945192900416927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200018591815260200190565b60405180910390a3620003e0565b828054620001a1906200038d565b90600052602060002090601f016020900481019282620001c5576000855562000210565b82601f10620001e057805160ff191683800117855562000210565b8280016001018555821562000210579182015b8281111562000210578251825591602001919060010190620001f3565b506200021e92915062000222565b5090565b5b808211156200021e576000815560010162000223565b600082198211156200024f576200024f620003ca565b500190565b600181815b8085111562000295578160001904821115620002795762000279620003ca565b808516156200028757918102915b93841c939080029062000259565b509250929050565b6000620002ae60ff841683620002b5565b9392505050565b600082620002c65750600162000365565b81620002d55750600062000365565b8160018114620002ee5760028114620002f95762000319565b600191505062000365565b60ff8411156200030d576200030d620003ca565b50506001821b62000365565b5060208310610133831016604e8410600b84101617156200033e575081810a62000365565b6200034a838362000254565b8060001904821115620003615762000361620003ca565b0290505b92915050565b6000816000190483118215151615620003885762000388620003ca565b500290565b600181811c90821680620003a257607f821691505b60208210811415620003c457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b608051610d6862000403600039600081816101a101526109280152610d686000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80636331bf651161009757806395d89b411161006657806395d89b4114610230578063a6f9dae114610238578063a9059cbb1461024b578063dd62ed3e1461025e57600080fd5b80636331bf651461019c57806370a08231146101c35780638091f3bf146101ec5780638da5cb5b1461020057600080fd5b806318160ddd116100d357806318160ddd1461014557806323b872dd1461015757806328be90381461016a578063313ce5671461017d57600080fd5b806301339c21146100fa57806306fdde0314610104578063095ea7b314610122575b600080fd5b610102610297565b005b61010c61033e565b6040516101199190610be8565b60405180910390f35b610135610130366004610bbe565b6103cc565b6040519015158152602001610119565b6002545b604051908152602001610119565b610135610165366004610b46565b6104d2565b610102610178366004610b82565b6105e0565b60055461018a9060ff1681565b60405160ff9091168152602001610119565b6101497f000000000000000000000000000000000000000000000000000000000000000081565b6101496101d1366004610af1565b6001600160a01b031660009081526020819052604090205490565b60055461013590600160a81b900460ff1681565b6005546102189061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610119565b61010c610697565b610102610246366004610af1565b6106a4565b610135610259366004610bbe565b6106fb565b61014961026c366004610b13565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b031633146102cf5760405162461bcd60e51b81526004016102c690610c6a565b60405180910390fd5b600554600160a81b900460ff16156103295760405162461bcd60e51b815260206004820152601960248201527f636f6e747261637420616c7265616479206c61756e636865640000000000000060448201526064016102c6565b6005805460ff60a81b1916600160a81b179055565b6004805461034b90610ce1565b80601f016020809104026020016040519081016040528092919081815260200182805461037790610ce1565b80156103c45780601f10610399576101008083540402835291602001916103c4565b820191906000526020600020905b8154815290600101906020018083116103a757829003601f168201915b505050505081565b6005546000903390600160a81b900460ff16806103fb57506005546001600160a01b0382811661010090920416145b6104175760405162461bcd60e51b81526004016102c690610c3d565b6001600160a01b03841661046d5760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064016102c6565b3360008181526001602090815260408083206001600160a01b03891680855290835292819020879055518681529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6005546000908490600160a81b900460ff168061050157506005546001600160a01b0382811661010090920416145b61051d5760405162461bcd60e51b81526004016102c690610c3d565b6001600160a01b038516600090815260016020908152604080832033845290915290205461054c908490610cca565b6001600160a01b038616600090815260016020908152604080832033845290915290205561057b85858561075b565b6001600160a01b038516600081815260016020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3506001949350505050565b60055461010090046001600160a01b0316331461060f5760405162461bcd60e51b81526004016102c690610c6a565b6001600160a01b03821660009081526006602052604090205460ff161515811515141561066c5760405162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b60448201526064016102c6565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6003805461034b90610ce1565b60055461010090046001600160a01b031633146106d35760405162461bcd60e51b81526004016102c690610c6a565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546000903390600160a81b900460ff168061072a57506005546001600160a01b0382811661010090920416145b6107465760405162461bcd60e51b81526004016102c690610c3d565b61075133858561075b565b5060019392505050565b6001600160a01b0382166107aa5760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b60448201526064016102c6565b6107b5838383610873565b60006107c28484846109a6565b6001600160a01b0385166000908152602081905260409020549091506107e9908390610cca565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610819908290610cb2565b6001600160a01b038481166000818152602081815260409182902094909455518481529092918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600554600160a81b900460ff16801561089f57506005546001600160a01b038481166101009092041614155b80156108be57506005546001600160a01b038381166101009092041614155b80156108e357506001600160a01b03821660009081526006602052604090205460ff16155b801561090857506108f2610a11565b6001600160a01b0316826001600160a01b031614155b156109a1576001600160a01b0382166000908152602081905260409020547f000000000000000000000000000000000000000000000000000000000000000090610953908390610cb2565b11156109a15760405162461bcd60e51b815260206004820181905260248201527f74686973206973206f76657220746865206d617820686f6c6420616d6f756e7460448201526064016102c6565b505050565b6000826001600160a01b0316846001600160a01b03161415610a0a5760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c660060448201526064016102c6565b5092915050565b60004660011480610a225750466003145b80610a2d5750466004145b80610a385750466005145b15610a565750737a250d5630b4cf539739df2c5dacb4c659f2488d90565b4660381415610a7857507310ed43c718714eb63d5aa57b78b54704e256024e90565b4660611415610a9a575073c99f3718db7c90b020cbbbb47ed26b0ba0c6512b90565b60405162461bcd60e51b815260206004820152601060248201526f155b9adb9bdddb8810da185a5b88125160821b60448201526064016102c6565b80356001600160a01b0381168114610aec57600080fd5b919050565b600060208284031215610b0357600080fd5b610b0c82610ad5565b9392505050565b60008060408385031215610b2657600080fd5b610b2f83610ad5565b9150610b3d60208401610ad5565b90509250929050565b600080600060608486031215610b5b57600080fd5b610b6484610ad5565b9250610b7260208501610ad5565b9150604084013590509250925092565b60008060408385031215610b9557600080fd5b610b9e83610ad5565b915060208301358015158114610bb357600080fd5b809150509250929050565b60008060408385031215610bd157600080fd5b610bda83610ad5565b946020939093013593505050565b600060208083528351808285015260005b81811015610c1557858101830151858201604001528201610bf9565b81811115610c27576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601390820152721d1c98591a5b99c81b9bdd08195b98589b1959606a1b604082015260600190565b60208082526028908201527f63616e206f6e6c792062652063616c6c65642062792074686520636f6e74726160408201526731ba1037bbb732b960c11b606082015260800190565b60008219821115610cc557610cc5610d1c565b500190565b600082821015610cdc57610cdc610d1c565b500390565b600181811c90821680610cf557607f821691505b60208210811415610d1657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220d368b768dcf919e855981c0038802bb90cd9bbb999051428383a6c93cda535f664736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80636331bf651161009757806395d89b411161006657806395d89b4114610230578063a6f9dae114610238578063a9059cbb1461024b578063dd62ed3e1461025e57600080fd5b80636331bf651461019c57806370a08231146101c35780638091f3bf146101ec5780638da5cb5b1461020057600080fd5b806318160ddd116100d357806318160ddd1461014557806323b872dd1461015757806328be90381461016a578063313ce5671461017d57600080fd5b806301339c21146100fa57806306fdde0314610104578063095ea7b314610122575b600080fd5b610102610297565b005b61010c61033e565b6040516101199190610be8565b60405180910390f35b610135610130366004610bbe565b6103cc565b6040519015158152602001610119565b6002545b604051908152602001610119565b610135610165366004610b46565b6104d2565b610102610178366004610b82565b6105e0565b60055461018a9060ff1681565b60405160ff9091168152602001610119565b6101497f00000000000000000000000000000000000000000000006c6b935b8ce745f20081565b6101496101d1366004610af1565b6001600160a01b031660009081526020819052604090205490565b60055461013590600160a81b900460ff1681565b6005546102189061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610119565b61010c610697565b610102610246366004610af1565b6106a4565b610135610259366004610bbe565b6106fb565b61014961026c366004610b13565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b031633146102cf5760405162461bcd60e51b81526004016102c690610c6a565b60405180910390fd5b600554600160a81b900460ff16156103295760405162461bcd60e51b815260206004820152601960248201527f636f6e747261637420616c7265616479206c61756e636865640000000000000060448201526064016102c6565b6005805460ff60a81b1916600160a81b179055565b6004805461034b90610ce1565b80601f016020809104026020016040519081016040528092919081815260200182805461037790610ce1565b80156103c45780601f10610399576101008083540402835291602001916103c4565b820191906000526020600020905b8154815290600101906020018083116103a757829003601f168201915b505050505081565b6005546000903390600160a81b900460ff16806103fb57506005546001600160a01b0382811661010090920416145b6104175760405162461bcd60e51b81526004016102c690610c3d565b6001600160a01b03841661046d5760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420617070726f766520746865203020616464726573730000000060448201526064016102c6565b3360008181526001602090815260408083206001600160a01b03891680855290835292819020879055518681529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6005546000908490600160a81b900460ff168061050157506005546001600160a01b0382811661010090920416145b61051d5760405162461bcd60e51b81526004016102c690610c3d565b6001600160a01b038516600090815260016020908152604080832033845290915290205461054c908490610cca565b6001600160a01b038616600090815260016020908152604080832033845290915290205561057b85858561075b565b6001600160a01b038516600081815260016020908152604080832033808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3506001949350505050565b60055461010090046001600160a01b0316331461060f5760405162461bcd60e51b81526004016102c690610c6a565b6001600160a01b03821660009081526006602052604090205460ff161515811515141561066c5760405162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b60448201526064016102c6565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6003805461034b90610ce1565b60055461010090046001600160a01b031633146106d35760405162461bcd60e51b81526004016102c690610c6a565b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546000903390600160a81b900460ff168061072a57506005546001600160a01b0382811661010090920416145b6107465760405162461bcd60e51b81526004016102c690610c3d565b61075133858561075b565b5060019392505050565b6001600160a01b0382166107aa5760405162461bcd60e51b815260206004820152601660248201527563616e6e6f74206265207a65726f206164647265737360501b60448201526064016102c6565b6107b5838383610873565b60006107c28484846109a6565b6001600160a01b0385166000908152602081905260409020549091506107e9908390610cca565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610819908290610cb2565b6001600160a01b038481166000818152602081815260409182902094909455518481529092918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b600554600160a81b900460ff16801561089f57506005546001600160a01b038481166101009092041614155b80156108be57506005546001600160a01b038381166101009092041614155b80156108e357506001600160a01b03821660009081526006602052604090205460ff16155b801561090857506108f2610a11565b6001600160a01b0316826001600160a01b031614155b156109a1576001600160a01b0382166000908152602081905260409020547f00000000000000000000000000000000000000000000006c6b935b8ce745f20090610953908390610cb2565b11156109a15760405162461bcd60e51b815260206004820181905260248201527f74686973206973206f76657220746865206d617820686f6c6420616d6f756e7460448201526064016102c6565b505050565b6000826001600160a01b0316846001600160a01b03161415610a0a5760405162461bcd60e51b815260206004820152601f60248201527f796f752063616e6e6f74207472616e7366657220746f20796f757273656c660060448201526064016102c6565b5092915050565b60004660011480610a225750466003145b80610a2d5750466004145b80610a385750466005145b15610a565750737a250d5630b4cf539739df2c5dacb4c659f2488d90565b4660381415610a7857507310ed43c718714eb63d5aa57b78b54704e256024e90565b4660611415610a9a575073c99f3718db7c90b020cbbbb47ed26b0ba0c6512b90565b60405162461bcd60e51b815260206004820152601060248201526f155b9adb9bdddb8810da185a5b88125160821b60448201526064016102c6565b80356001600160a01b0381168114610aec57600080fd5b919050565b600060208284031215610b0357600080fd5b610b0c82610ad5565b9392505050565b60008060408385031215610b2657600080fd5b610b2f83610ad5565b9150610b3d60208401610ad5565b90509250929050565b600080600060608486031215610b5b57600080fd5b610b6484610ad5565b9250610b7260208501610ad5565b9150604084013590509250925092565b60008060408385031215610b9557600080fd5b610b9e83610ad5565b915060208301358015158114610bb357600080fd5b809150509250929050565b60008060408385031215610bd157600080fd5b610bda83610ad5565b946020939093013593505050565b600060208083528351808285015260005b81811015610c1557858101830151858201604001528201610bf9565b81811115610c27576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601390820152721d1c98591a5b99c81b9bdd08195b98589b1959606a1b604082015260600190565b60208082526028908201527f63616e206f6e6c792062652063616c6c65642062792074686520636f6e74726160408201526731ba1037bbb732b960c11b606082015260800190565b60008219821115610cc557610cc5610d1c565b500190565b600082821015610cdc57610cdc610d1c565b500390565b600181811c90821680610cf557607f821691505b60208210811415610d1657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220d368b768dcf919e855981c0038802bb90cd9bbb999051428383a6c93cda535f664736f6c63430008070033

Deployed Bytecode Sourcemap

127:957:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4262:145:0;;;:::i;:::-;;349:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3115:314;;;;;;:::i;:::-;;:::i;:::-;;;1965:14:3;;1958:22;1940:41;;1928:2;1913:18;3115:314:0;1800:187:3;1197:102:0;1279:12;;1197:102;;;5965:25:3;;;5953:2;5938:18;1197:102:0;5819:177:3;3902:328:0;;;;;;:::i;:::-;;:::i;4835:155::-;;;;;;:::i;:::-;;:::i;374:21::-;;;;;;;;;;;;6173:4:3;6161:17;;;6143:36;;6131:2;6116:18;374:21:0;6001:184:3;167:33:2;;;;;1516:119:0;;;;;;:::i;:::-;-1:-1:-1;;;;;1610:17:0;1583:7;1610:17;;;;;;;;;;;;1516:119;444:20;;;;;-1:-1:-1;;;444:20:0;;;;;;408:29;;;;;;;;-1:-1:-1;;;;;408:29:0;;;;;;-1:-1:-1;;;;;1756:32:3;;;1738:51;;1726:2;1711:18;408:29:0;1592:203:3;322:20:0;;;:::i;4744:83::-;;;;;;:::i;:::-;;:::i;2290:178::-;;;;;;:::i;:::-;;:::i;1975:144::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2086:16:0;;;2059:7;2086:16;;;:8;:16;;;;;;;;:25;;;;;;;;;;;;;1975:144;4262:145;584:5;;;;;-1:-1:-1;;;;;584:5:0;570:10;:19;562:72;;;;-1:-1:-1;;;562:72:0;;;;;;;:::i;:::-;;;;;;;;;4326:8:::1;::::0;-1:-1:-1;;;4326:8:0;::::1;;;:17;4318:55;;;::::0;-1:-1:-1;;;4318:55:0;;4967:2:3;4318:55:0::1;::::0;::::1;4949:21:3::0;5006:2;4986:18;;;4979:30;5045:27;5025:18;;;5018:55;5090:18;;4318:55:0::1;4765:349:3::0;4318:55:0::1;4384:8;:15:::0;;-1:-1:-1;;;;4384:15:0::1;-1:-1:-1::0;;;4384:15:0::1;::::0;;4262:145::o;349:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3115:314::-;982:8;;3218:4;;3197:10;;-1:-1:-1;;;982:8:0;;;;;:25;;-1:-1:-1;1002:5:0;;-1:-1:-1;;;;;994:13:0;;;1002:5;;;;;994:13;982:25;974:57;;;;-1:-1:-1;;;974:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3243:21:0;::::1;3235:62;;;::::0;-1:-1:-1;;;3235:62:0;;2796:2:3;3235:62:0::1;::::0;::::1;2778:21:3::0;2835:2;2815:18;;;2808:30;2874;2854:18;;;2847:58;2922:18;;3235:62:0::1;2594:352:3::0;3235:62:0::1;3319:10;3310:20;::::0;;;:8:::1;:20;::::0;;;;;;;-1:-1:-1;;;;;3310:29:0;::::1;::::0;;;;;;;;;;:37;;;3363:36;5965:25:3;;;3310:29:0;;3319:10;3363:36:::1;::::0;5938:18:3;3363:36:0::1;;;;;;;-1:-1:-1::0;3417:4:0::1;::::0;3115:314;-1:-1:-1;;;3115:314:0:o;3902:328::-;982:8;;4013:4;;3998;;-1:-1:-1;;;982:8:0;;;;;:25;;-1:-1:-1;1002:5:0;;-1:-1:-1;;;;;994:13:0;;;1002:5;;;;;994:13;982:25;974:57;;;;-1:-1:-1;;;974:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4059:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;;;;4074:10:::1;4059:26:::0;;;;;;;;:34:::1;::::0;4088:5;;4059:34:::1;:::i;:::-;-1:-1:-1::0;;;;;4030:14:0;::::1;;::::0;;;:8:::1;:14;::::0;;;;;;;4045:10:::1;4030:26:::0;;;;;;;:63;4104:26:::1;4039:4:::0;4120:2;4124:5;4104:9:::1;:26::i;:::-;-1:-1:-1::0;;;;;4146:54:0;::::1;4173:14;::::0;;;:8:::1;:14;::::0;;;;;;;4161:10:::1;4173:26:::0;;;;;;;;;;;4146:54;;5965:25:3;;;4161:10:0;;4146:54;::::1;::::0;5938:18:3;4146:54:0::1;;;;;;;-1:-1:-1::0;4218:4:0::1;::::0;3902:328;-1:-1:-1;;;;3902:328:0:o;4835:155::-;584:5;;;;;-1:-1:-1;;;;;584:5:0;570:10;:19;562:72;;;;-1:-1:-1;;;562:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4916:14:0;::::1;;::::0;;;:9:::1;:14;::::0;;;;;::::1;;:20;;::::0;::::1;;;;4908:44;;;::::0;-1:-1:-1;;;4908:44:0;;5681:2:3;4908:44:0::1;::::0;::::1;5663:21:3::0;5720:2;5700:18;;;5693:30;-1:-1:-1;;;5739:18:3;;;5732:41;5790:18;;4908:44:0::1;5479:335:3::0;4908:44:0::1;-1:-1:-1::0;;;;;4963:14:0;;;::::1;;::::0;;;:9:::1;:14;::::0;;;;:19;;-1:-1:-1;;4963:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;4835:155::o;322:20::-;;;;;;;:::i;4744:83::-;584:5;;;;;-1:-1:-1;;;;;584:5:0;570:10;:19;562:72;;;;-1:-1:-1;;;562:72:0;;;;;;;:::i;:::-;4808:5:::1;:11:::0;;-1:-1:-1;;;;;4808:11:0;;::::1;;;-1:-1:-1::0;;;;;;4808:11:0;;::::1;::::0;;;::::1;::::0;;4744:83::o;2290:178::-;982:8;;2389:4;;2368:10;;-1:-1:-1;;;982:8:0;;;;;:25;;-1:-1:-1;1002:5:0;;-1:-1:-1;;;;;994:13:0;;;1002:5;;;;;994:13;982:25;974:57;;;;-1:-1:-1;;;974:57:0;;;;;;;:::i;:::-;2406:32:::1;2416:10;2428:2;2432:5;2406:9;:32::i;:::-;-1:-1:-1::0;2456:4:0::1;::::0;2290:178;-1:-1:-1;;;2290:178:0:o;5882:418::-;-1:-1:-1;;;;;5969:16:0;;5961:51;;;;-1:-1:-1;;;5961:51:0;;4616:2:3;5961:51:0;;;4598:21:3;4655:2;4635:18;;;4628:30;-1:-1:-1;;;4674:18:3;;;4667:52;4736:18;;5961:51:0;4414:346:3;5961:51:0;6025:28;6037:4;6043:2;6047:5;6025:11;:28::i;:::-;6066:22;6091:40;6115:4;6121:2;6125:5;6091:23;:40::i;:::-;-1:-1:-1;;;;;6160:15:0;;:9;:15;;;;;;;;;;;6066:65;;-1:-1:-1;6160:23:0;;6178:5;;6160:23;:::i;:::-;-1:-1:-1;;;;;6142:15:0;;;:9;:15;;;;;;;;;;;:41;;;;6210:13;;;;;;;:30;;6226:14;;6210:30;:::i;:::-;-1:-1:-1;;;;;6194:13:0;;;:9;:13;;;;;;;;;;;;:46;;;;6258:34;5965:25:3;;;6194:13:0;;6258:34;;;;;;5938:18:3;6258:34:0;;;;;;;5950:350;5882:418;;;:::o;664:417:2:-;765:8;;-1:-1:-1;;;765:8:2;;;;:39;;;;-1:-1:-1;799:5:2;;-1:-1:-1;;;;;791:13:2;;;799:5;;;;;791:13;;765:39;:54;;;;-1:-1:-1;814:5:2;;-1:-1:-1;;;;;808:11:2;;;814:5;;;;;808:11;;765:54;:94;;;;-1:-1:-1;;;;;;837:13:2;;;;;;:9;:13;;;;;;;;:22;765:94;:136;;;;;883:18;:16;:18::i;:::-;-1:-1:-1;;;;;877:24:2;:2;-1:-1:-1;;;;;877:24:2;;;765:136;761:258;;;-1:-1:-1;;;;;937:13:2;;:9;:13;;;;;;;;;;;962:8;;937:21;;953:5;;937:21;:::i;:::-;:33;;928:79;;;;-1:-1:-1;;;928:79:2;;3153:2:3;928:79:2;;;3135:21:3;;;3172:18;;;3165:30;3231:34;3211:18;;;3204:62;3283:18;;928:79:2;2951:356:3;928:79:2;664:417;;;:::o;4415:205:0:-;4515:7;4551:2;-1:-1:-1;;;;;4543:10:0;:4;-1:-1:-1;;;;;4543:10:0;;;4535:54;;;;-1:-1:-1;;;4535:54:0;;5321:2:3;4535:54:0;;;5303:21:3;5360:2;5340:18;;;5333:30;5399:33;5379:18;;;5372:61;5450:18;;4535:54:0;5119:355:3;4535:54:0;-1:-1:-1;4607:5:0;4415:205;-1:-1:-1;;4415:205:0:o;5024:636::-;5075:21;5113:13;5130:1;5113:18;:40;;;;5135:13;5152:1;5135:18;5113:40;:62;;;;5157:13;5174:1;5157:18;5113:62;:85;;;;5180:13;5197:1;5180:18;5113:85;5109:544;;;-1:-1:-1;5231:42:0;5024:636;:::o;5109:544::-;5308:13;5325:2;5308:19;5304:349;;;-1:-1:-1;5360:42:0;5024:636;:::o;5304:349::-;5439:13;5456:2;5439:19;5435:218;;;-1:-1:-1;5491:42:0;5024:636;:::o;5435:218::-;5615:26;;-1:-1:-1;;;5615:26:0;;4271:2:3;5615:26:0;;;4253:21:3;4310:2;4290:18;;;4283:30;-1:-1:-1;;;4329:18:3;;;4322:46;4385:18;;5615:26:0;4069:340:3;14:173;82:20;;-1:-1:-1;;;;;131:31:3;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:3:o;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:347::-;1046:6;1054;1107:2;1095:9;1086:7;1082:23;1078:32;1075:52;;;1123:1;1120;1113:12;1075:52;1146:29;1165:9;1146:29;:::i;:::-;1136:39;;1225:2;1214:9;1210:18;1197:32;1272:5;1265:13;1258:21;1251:5;1248:32;1238:60;;1294:1;1291;1284:12;1238:60;1317:5;1307:15;;;981:347;;;;;:::o;1333:254::-;1401:6;1409;1462:2;1450:9;1441:7;1437:23;1433:32;1430:52;;;1478:1;1475;1468:12;1430:52;1501:29;1520:9;1501:29;:::i;:::-;1491:39;1577:2;1562:18;;;;1549:32;;-1:-1:-1;;;1333:254:3:o;1992:597::-;2104:4;2133:2;2162;2151:9;2144:21;2194:6;2188:13;2237:6;2232:2;2221:9;2217:18;2210:34;2262:1;2272:140;2286:6;2283:1;2280:13;2272:140;;;2381:14;;;2377:23;;2371:30;2347:17;;;2366:2;2343:26;2336:66;2301:10;;2272:140;;;2430:6;2427:1;2424:13;2421:91;;;2500:1;2495:2;2486:6;2475:9;2471:22;2467:31;2460:42;2421:91;-1:-1:-1;2573:2:3;2552:15;-1:-1:-1;;2548:29:3;2533:45;;;;2580:2;2529:54;;1992:597;-1:-1:-1;;;1992:597:3:o;3312:343::-;3514:2;3496:21;;;3553:2;3533:18;;;3526:30;-1:-1:-1;;;3587:2:3;3572:18;;3565:49;3646:2;3631:18;;3312:343::o;3660:404::-;3862:2;3844:21;;;3901:2;3881:18;;;3874:30;3940:34;3935:2;3920:18;;3913:62;-1:-1:-1;;;4006:2:3;3991:18;;3984:38;4054:3;4039:19;;3660:404::o;6190:128::-;6230:3;6261:1;6257:6;6254:1;6251:13;6248:39;;;6267:18;;:::i;:::-;-1:-1:-1;6303:9:3;;6190:128::o;6323:125::-;6363:4;6391:1;6388;6385:8;6382:34;;;6396:18;;:::i;:::-;-1:-1:-1;6433:9:3;;6323:125::o;6453:380::-;6532:1;6528:12;;;;6575;;;6596:61;;6650:4;6642:6;6638:17;6628:27;;6596:61;6703:2;6695:6;6692:14;6672:18;6669:38;6666:161;;;6749:10;6744:3;6740:20;6737:1;6730:31;6784:4;6781:1;6774:15;6812:4;6809:1;6802:15;6666:161;;6453:380;;;:::o;6838:127::-;6899:10;6894:3;6890:20;6887:1;6880:31;6930:4;6927:1;6920:15;6954:4;6951:1;6944:15

Swarm Source

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