ETH Price: $3,118.98 (-0.62%)

Token

Mona Lisa (DAVINCI)
 

Overview

Max Total Supply

1,000,000 DAVINCI

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
Uniswap V2: DAVINCI 7
Balance
4,252.87667257 DAVINCI

Value
$0.00
0xc63a77c361e05476e09b93fb47e96bc221682ac8
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:
MONALISA

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-14
*/

// SPDX-License-Identifier: MIT
// TG: https://t.me/monalisaerc
// Website: https://monalisaerc.com 

pragma solidity ^0.8.10;

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

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
	
    constructor() {
        _transferOwnership(_msgSender());
    }
	
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
	
    function owner() public view virtual returns (address) {
        return _owner;
    }
	
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
	
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
	
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
	
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
	
    function name() public view virtual override returns (string memory) {
        return _name;
    }
	
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
	
    function decimals() public view virtual override returns (uint8) {
        return 8;
    }
	
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
	
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
	
    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
	
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
	
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
	
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
	
    function _transfer( address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from]; 
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }
	
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }
	
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
	
    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
	
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

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 swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

contract MONALISA is ERC20, Ownable {
	address private taxWallet;
	address private pair;
	
	uint256 private initialBuyFee;
	uint256 private initialSellFee;
	uint256 private finalBuyFee;
	uint256 private finalSellFee;
	
	uint256 private tradingEnableBlock;
	uint256 private tradingEnableTime;
	
	uint256 public swapThreshold;
	uint256 public maxTokenPerWallet;
	uint256 public maxTokenPerTxn;
	
	bool private swapping;
	bool private tradingEnabled;
    bool private swapEnabled;
	bool public transferDelayEnabled;
	
	IDEXRouter public router;
	
	mapping(address => bool) private isExcludedFromFees;
	mapping(address => uint256) private holderLastTransferTimestamp;
	
    constructor() ERC20("Mona Lisa", "DAVINCI") {
	   taxWallet = address(owner());
	   
	   initialBuyFee = 25;
	   initialSellFee = 25;
	   finalBuyFee = 0;
	   finalSellFee = 0;
	   
	   isExcludedFromFees[address(this)] = true;
	   isExcludedFromFees[address(taxWallet)] = true;
	   
	   swapThreshold = 10000 * (10**8);
	   maxTokenPerWallet = 20000 * (10**8);
	   maxTokenPerTxn = 20000 * (10**8);
	   
	   transferDelayEnabled = true;
	   
	   _mint(address(owner()), 1000000 * (10**8));
    }
	
	receive() external payable {}
	
	function openTrading() external onlyOwner {
	   require(!tradingEnabled, "Trading already started");
	   
	   router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
       pair = IDEXFactory(router.factory()).createPair(address(this), router.WETH());
	   
	   _approve(address(this), address(router), totalSupply());
       router.addLiquidityETH{value: address(this).balance}(
		 address(this),
		 balanceOf(address(this)),
		 0, 
		 0,
		 owner(),
		 block.timestamp
       );
	   
       tradingEnabled = true;
       swapEnabled = true;
	   
	   tradingEnableBlock = block.number;
	   tradingEnableTime = block.timestamp;
    }
	
	function removeLimits() external onlyOwner {
	   require(transferDelayEnabled, "Limit already removed");
	   
	   maxTokenPerWallet = totalSupply();
	   maxTokenPerTxn = totalSupply();
       transferDelayEnabled = false;	   
    }
	
	function _transfer(address sender, address recipient, uint256 amount) internal override(ERC20) {      
        require(sender != address(0), "transfer from the zero address");
        require(recipient != address(0), "transfer to the zero address");
		
		uint256 fees;
		uint256 taxApplicable;
		if(sender != owner() && recipient != owner())
		{
			taxApplicable = block.number >= (tradingEnableBlock+1) ? (block.timestamp >= (tradingEnableTime + 300) ? finalBuyFee : calBuyFee()) : 25;
			fees = ((amount * taxApplicable) / 100);
			
			if(transferDelayEnabled && sender != address(router) && recipient != address(pair)) 
			{
			   require(holderLastTransferTimestamp[tx.origin] < block.number, "transfer:: Transfer Delay enabled. Only one purchase per block allowed.");
               holderLastTransferTimestamp[tx.origin] = block.number;
            }
			if(sender == address(pair) && recipient != address(router) && !isExcludedFromFees[recipient]) 
			{
			    require(amount <= maxTokenPerTxn, "Buy transfer amount exceeds the maxTokenPerTxn.");
			    require(amount + balanceOf(recipient) <= maxTokenPerWallet, "maxTokenPerWallet exceeded");
			}
			if(recipient == address(pair) && sender != address(this))
			{
			    taxApplicable = block.number >= (tradingEnableBlock+1) ? (block.timestamp >= (tradingEnableTime + 300) ? finalSellFee : calSellFee()) : 25;
			    fees = ((amount * taxApplicable) / 100);
            }
		}
		
		uint256 contractTokenBalance = balanceOf(address(this));
		bool canSwap = contractTokenBalance >= swapThreshold;
		
		if(!swapping && canSwap && recipient == address(pair) && swapEnabled) 
		{
			swapping = true;
			
			swapTokensForETH(min(amount, swapThreshold));
			uint256 ethBalance = address(this).balance;
			payable(taxWallet).transfer(ethBalance);
			
			swapping = false; 
		}
		if(fees > 0) 
		{
		   super._transfer(sender, address(this), fees);
		}
		super._transfer(sender, recipient, amount - fees);
    }
	
	function min(uint256 a, uint256 b) private pure returns (uint256){
        return (a > b) ? b : a;
    }
	
	function calSellFee() private view returns (uint256){
	   return initialSellFee - (((block.timestamp - tradingEnableTime) / 60) * 5);
    }
	
	function calBuyFee() private view returns (uint256){
       return initialBuyFee - (((block.timestamp - tradingEnableTime) / 60) * 5);
    }
	
	function swapTokensForETH(uint256 amount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
		
        _approve(address(this), address(router), amount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
	
	function manualSwap() external {
	    require(tradingEnabled, "trading is not open");
        require(address(msg.sender)== taxWallet, 'Incorrect request');
		
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0)
		{
           swapTokensForETH(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if(ethBalance > 0)
		{
           payable(taxWallet).transfer(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTokenPerTxn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTokenPerWallet","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b5060408051808201825260098152684d6f6e61204c69736160b81b602080830191825283518085019094526007845266444156494e434960c81b90840152815191929162000062916003916200027c565b508051620000789060049060208401906200027c565b505050620000956200008f6200013e60201b60201c565b62000142565b60058054600680546001600160a01b0319166001600160a01b03928316178155601960088190556009556000600a819055600b81905530815260126020526040808220805460ff1990811660019081179092559354851683529120805490921617905564e8d4a51000600e556501d1a94a2000600f8190556010556011805463ff000000191663010000001790559054620001389116655af3107a400062000194565b62000386565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001ef5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000203919062000322565b90915550506001600160a01b038216600090815260208190526040812080548392906200023290849062000322565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200028a9062000349565b90600052602060002090601f016020900481019282620002ae5760008555620002f9565b82601f10620002c957805160ff1916838001178555620002f9565b82800160010185558215620002f9579182015b82811115620002f9578251825591602001919060010190620002dc565b50620003079291506200030b565b5090565b5b808211156200030757600081556001016200030c565b600082198211156200034457634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200035e57607f821691505b602082108114156200038057634e487b7160e01b600052602260045260246000fd5b50919050565b61177080620003966000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb146102da578063c876d0b9146102fa578063c9567bf91461031b578063dd62ed3e14610330578063f887ea401461037657600080fd5b8063715018a614610253578063751039fc146102685780637a8baf521461027d5780638da5cb5b1461029357806395d89b41146102c557600080fd5b806323b872dd116100e757806323b872dd146101b4578063313ce567146101d4578063510622d5146101f057806351bc3c851461020657806370a082311461021d57600080fd5b80630445b6671461012457806306fdde031461014d578063095ea7b31461016f57806318160ddd1461019f57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061013a600e5481565b6040519081526020015b60405180910390f35b34801561015957600080fd5b5061016261039d565b6040516101449190611477565b34801561017b57600080fd5b5061018f61018a3660046114e4565b61042f565b6040519015158152602001610144565b3480156101ab57600080fd5b5060025461013a565b3480156101c057600080fd5b5061018f6101cf366004611510565b610447565b3480156101e057600080fd5b5060405160088152602001610144565b3480156101fc57600080fd5b5061013a60105481565b34801561021257600080fd5b5061021b61046b565b005b34801561022957600080fd5b5061013a610238366004611551565b6001600160a01b031660009081526020819052604090205490565b34801561025f57600080fd5b5061021b610571565b34801561027457600080fd5b5061021b610585565b34801561028957600080fd5b5061013a600f5481565b34801561029f57600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610144565b3480156102d157600080fd5b506101626105f9565b3480156102e657600080fd5b5061018f6102f53660046114e4565b610608565b34801561030657600080fd5b5060115461018f906301000000900460ff1681565b34801561032757600080fd5b5061021b610616565b34801561033c57600080fd5b5061013a61034b36600461156e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561038257600080fd5b506011546102ad90600160201b90046001600160a01b031681565b6060600380546103ac906115a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d8906115a7565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b60003361043d818585610933565b5060019392505050565b600033610455858285610a57565b610460858585610ae9565b506001949350505050565b601154610100900460ff166104bd5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064015b60405180910390fd5b6006546001600160a01b0316331461050b5760405162461bcd60e51b8152602060048201526011602482015270125b98dbdc9c9958dd081c995c5d595cdd607a1b60448201526064016104b4565b30600090815260208190526040902054801561052a5761052a81610fe6565b47801561056d576006546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056b573d6000803e3d6000fd5b505b5050565b610579611167565b61058360006111c1565b565b61058d611167565b6011546301000000900460ff166105de5760405162461bcd60e51b8152602060048201526015602482015274131a5b5a5d08185b1c9958591e481c995b5bdd9959605a1b60448201526064016104b4565b600254600f556002546010556011805463ff00000019169055565b6060600480546103ac906115a7565b60003361043d818585610ae9565b61061e611167565b601154610100900460ff16156106765760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c7265616479207374617274656400000000000000000060448201526064016104b4565b60118054777a250d5630b4cf539739df2c5dacb4c659f2488d00000000640100000000600160c01b031990911617908190556040805163c45a015560e01b81529051600160201b9092046001600160a01b03169163c45a0155916004818101926020929091908290030181865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071991906115e2565b6001600160a01b031663c9c6539630601160049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081091906115e2565b600780546001600160a01b0319166001600160a01b03928316179055601154600254610846923092600160201b90041690610933565b60115430600081815260208190526040902054600160201b9092046001600160a01b03169163f305d7199147916000806108886005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f0573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091591906115ff565b50506011805462ffff001916620101001790555043600c5542600d55565b6001600160a01b0383166109955760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b4565b6001600160a01b0382166109f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610ae35781811015610ad65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104b4565b610ae38484848403610933565b50505050565b6001600160a01b038316610b3f5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f2061646472657373000060448201526064016104b4565b6001600160a01b038216610b955760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f20616464726573730000000060448201526064016104b4565b600080610baa6005546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610bd957506005546001600160a01b03858116911614155b15610ef357600c54610bec906001611643565b431015610bfa576019610c21565b600d54610c099061012c611643565b421015610c1d57610c18611213565b610c21565b600a545b90506064610c2f828561165b565b610c39919061167a565b6011549092506301000000900460ff168015610c6a57506011546001600160a01b03868116600160201b9092041614155b8015610c8457506007546001600160a01b03858116911614155b15610d3057326000908152601360205260409020544311610d1d5760405162461bcd60e51b815260206004820152604760248201527f7472616e736665723a3a205472616e736665722044656c617920656e61626c6560448201527f642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a4016104b4565b3260009081526013602052604090204390555b6007546001600160a01b038681169116148015610d6257506011546001600160a01b03858116600160201b9092041614155b8015610d8757506001600160a01b03841660009081526012602052604090205460ff16155b15610e6a57601054831115610df65760405162461bcd60e51b815260206004820152602f60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526e36b0bc2a37b5b2b72832b92a3c371760891b60648201526084016104b4565b600f546001600160a01b038516600090815260208190526040902054610e1c9085611643565b1115610e6a5760405162461bcd60e51b815260206004820152601a60248201527f6d6178546f6b656e50657257616c6c657420657863656564656400000000000060448201526064016104b4565b6007546001600160a01b038581169116148015610e9057506001600160a01b0385163014155b15610ef357600c54610ea3906001611643565b431015610eb1576019610ed8565b600d54610ec09061012c611643565b421015610ed457610ecf61124c565b610ed8565b600b545b90506064610ee6828561165b565b610ef0919061167a565b91505b30600090815260208190526040902054600e54601154908210159060ff16158015610f1b5750805b8015610f3457506007546001600160a01b038781169116145b8015610f48575060115462010000900460ff165b15610fb8576011805460ff19166001179055600e54610f7190610f6c908790611280565b610fe6565b60065460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610fab573d6000803e3d6000fd5b50506011805460ff191690555b8315610fc957610fc9873086611298565b610fdd8787610fd8878961169c565b611298565b50505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061101b5761101b6116b3565b60200260200101906001600160a01b031690816001600160a01b031681525050601160049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b291906115e2565b816001815181106110c5576110c56116b3565b6001600160a01b0392831660209182029290920101526011546110f2913091600160201b90041684610933565b60115460405163791ac94760e01b8152600160201b9091046001600160a01b03169063791ac947906111319085906000908690309042906004016116c9565b600060405180830381600087803b15801561114b57600080fd5b505af115801561115f573d6000803e3d6000fd5b505050505050565b6005546001600160a01b031633146105835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000603c600d5442611225919061169c565b61122f919061167a565b61123a90600561165b565b600854611247919061169c565b905090565b6000603c600d544261125e919061169c565b611268919061167a565b61127390600561165b565b600954611247919061169c565b600081831161128f5782611291565b815b9392505050565b6001600160a01b0383166112fc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b4565b6001600160a01b03821661135e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b4565b61136983838361056b565b6001600160a01b038316600090815260208190526040902054818110156113e15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104b4565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611418908490611643565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161146491815260200190565b60405180910390a3610ae384848461056b565b600060208083528351808285015260005b818110156114a457858101830151858201604001528201611488565b818111156114b6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114e157600080fd5b50565b600080604083850312156114f757600080fd5b8235611502816114cc565b946020939093013593505050565b60008060006060848603121561152557600080fd5b8335611530816114cc565b92506020840135611540816114cc565b929592945050506040919091013590565b60006020828403121561156357600080fd5b8135611291816114cc565b6000806040838503121561158157600080fd5b823561158c816114cc565b9150602083013561159c816114cc565b809150509250929050565b600181811c908216806115bb57607f821691505b602082108114156115dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156115f457600080fd5b8151611291816114cc565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600082198211156116565761165661162d565b500190565b60008160001904831182151516156116755761167561162d565b500290565b60008261169757634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156116ae576116ae61162d565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117195784516001600160a01b0316835293830193918301916001016116f4565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220007c346060fcf477edf51cc3b4e1907f890c82dc6028276655f2a5348ae9438164736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063a9059cbb11610064578063a9059cbb146102da578063c876d0b9146102fa578063c9567bf91461031b578063dd62ed3e14610330578063f887ea401461037657600080fd5b8063715018a614610253578063751039fc146102685780637a8baf521461027d5780638da5cb5b1461029357806395d89b41146102c557600080fd5b806323b872dd116100e757806323b872dd146101b4578063313ce567146101d4578063510622d5146101f057806351bc3c851461020657806370a082311461021d57600080fd5b80630445b6671461012457806306fdde031461014d578063095ea7b31461016f57806318160ddd1461019f57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5061013a600e5481565b6040519081526020015b60405180910390f35b34801561015957600080fd5b5061016261039d565b6040516101449190611477565b34801561017b57600080fd5b5061018f61018a3660046114e4565b61042f565b6040519015158152602001610144565b3480156101ab57600080fd5b5060025461013a565b3480156101c057600080fd5b5061018f6101cf366004611510565b610447565b3480156101e057600080fd5b5060405160088152602001610144565b3480156101fc57600080fd5b5061013a60105481565b34801561021257600080fd5b5061021b61046b565b005b34801561022957600080fd5b5061013a610238366004611551565b6001600160a01b031660009081526020819052604090205490565b34801561025f57600080fd5b5061021b610571565b34801561027457600080fd5b5061021b610585565b34801561028957600080fd5b5061013a600f5481565b34801561029f57600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610144565b3480156102d157600080fd5b506101626105f9565b3480156102e657600080fd5b5061018f6102f53660046114e4565b610608565b34801561030657600080fd5b5060115461018f906301000000900460ff1681565b34801561032757600080fd5b5061021b610616565b34801561033c57600080fd5b5061013a61034b36600461156e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561038257600080fd5b506011546102ad90600160201b90046001600160a01b031681565b6060600380546103ac906115a7565b80601f01602080910402602001604051908101604052809291908181526020018280546103d8906115a7565b80156104255780601f106103fa57610100808354040283529160200191610425565b820191906000526020600020905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b60003361043d818585610933565b5060019392505050565b600033610455858285610a57565b610460858585610ae9565b506001949350505050565b601154610100900460ff166104bd5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064015b60405180910390fd5b6006546001600160a01b0316331461050b5760405162461bcd60e51b8152602060048201526011602482015270125b98dbdc9c9958dd081c995c5d595cdd607a1b60448201526064016104b4565b30600090815260208190526040902054801561052a5761052a81610fe6565b47801561056d576006546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561056b573d6000803e3d6000fd5b505b5050565b610579611167565b61058360006111c1565b565b61058d611167565b6011546301000000900460ff166105de5760405162461bcd60e51b8152602060048201526015602482015274131a5b5a5d08185b1c9958591e481c995b5bdd9959605a1b60448201526064016104b4565b600254600f556002546010556011805463ff00000019169055565b6060600480546103ac906115a7565b60003361043d818585610ae9565b61061e611167565b601154610100900460ff16156106765760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c7265616479207374617274656400000000000000000060448201526064016104b4565b60118054777a250d5630b4cf539739df2c5dacb4c659f2488d00000000640100000000600160c01b031990911617908190556040805163c45a015560e01b81529051600160201b9092046001600160a01b03169163c45a0155916004818101926020929091908290030181865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071991906115e2565b6001600160a01b031663c9c6539630601160049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f91906115e2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081091906115e2565b600780546001600160a01b0319166001600160a01b03928316179055601154600254610846923092600160201b90041690610933565b60115430600081815260208190526040902054600160201b9092046001600160a01b03169163f305d7199147916000806108886005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108f0573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061091591906115ff565b50506011805462ffff001916620101001790555043600c5542600d55565b6001600160a01b0383166109955760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b4565b6001600160a01b0382166109f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610ae35781811015610ad65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104b4565b610ae38484848403610933565b50505050565b6001600160a01b038316610b3f5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f2061646472657373000060448201526064016104b4565b6001600160a01b038216610b955760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f20616464726573730000000060448201526064016104b4565b600080610baa6005546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610bd957506005546001600160a01b03858116911614155b15610ef357600c54610bec906001611643565b431015610bfa576019610c21565b600d54610c099061012c611643565b421015610c1d57610c18611213565b610c21565b600a545b90506064610c2f828561165b565b610c39919061167a565b6011549092506301000000900460ff168015610c6a57506011546001600160a01b03868116600160201b9092041614155b8015610c8457506007546001600160a01b03858116911614155b15610d3057326000908152601360205260409020544311610d1d5760405162461bcd60e51b815260206004820152604760248201527f7472616e736665723a3a205472616e736665722044656c617920656e61626c6560448201527f642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a4016104b4565b3260009081526013602052604090204390555b6007546001600160a01b038681169116148015610d6257506011546001600160a01b03858116600160201b9092041614155b8015610d8757506001600160a01b03841660009081526012602052604090205460ff16155b15610e6a57601054831115610df65760405162461bcd60e51b815260206004820152602f60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526e36b0bc2a37b5b2b72832b92a3c371760891b60648201526084016104b4565b600f546001600160a01b038516600090815260208190526040902054610e1c9085611643565b1115610e6a5760405162461bcd60e51b815260206004820152601a60248201527f6d6178546f6b656e50657257616c6c657420657863656564656400000000000060448201526064016104b4565b6007546001600160a01b038581169116148015610e9057506001600160a01b0385163014155b15610ef357600c54610ea3906001611643565b431015610eb1576019610ed8565b600d54610ec09061012c611643565b421015610ed457610ecf61124c565b610ed8565b600b545b90506064610ee6828561165b565b610ef0919061167a565b91505b30600090815260208190526040902054600e54601154908210159060ff16158015610f1b5750805b8015610f3457506007546001600160a01b038781169116145b8015610f48575060115462010000900460ff165b15610fb8576011805460ff19166001179055600e54610f7190610f6c908790611280565b610fe6565b60065460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610fab573d6000803e3d6000fd5b50506011805460ff191690555b8315610fc957610fc9873086611298565b610fdd8787610fd8878961169c565b611298565b50505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061101b5761101b6116b3565b60200260200101906001600160a01b031690816001600160a01b031681525050601160049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b291906115e2565b816001815181106110c5576110c56116b3565b6001600160a01b0392831660209182029290920101526011546110f2913091600160201b90041684610933565b60115460405163791ac94760e01b8152600160201b9091046001600160a01b03169063791ac947906111319085906000908690309042906004016116c9565b600060405180830381600087803b15801561114b57600080fd5b505af115801561115f573d6000803e3d6000fd5b505050505050565b6005546001600160a01b031633146105835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000603c600d5442611225919061169c565b61122f919061167a565b61123a90600561165b565b600854611247919061169c565b905090565b6000603c600d544261125e919061169c565b611268919061167a565b61127390600561165b565b600954611247919061169c565b600081831161128f5782611291565b815b9392505050565b6001600160a01b0383166112fc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b4565b6001600160a01b03821661135e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b4565b61136983838361056b565b6001600160a01b038316600090815260208190526040902054818110156113e15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104b4565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611418908490611643565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161146491815260200190565b60405180910390a3610ae384848461056b565b600060208083528351808285015260005b818110156114a457858101830151858201604001528201611488565b818111156114b6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146114e157600080fd5b50565b600080604083850312156114f757600080fd5b8235611502816114cc565b946020939093013593505050565b60008060006060848603121561152557600080fd5b8335611530816114cc565b92506020840135611540816114cc565b929592945050506040919091013590565b60006020828403121561156357600080fd5b8135611291816114cc565b6000806040838503121561158157600080fd5b823561158c816114cc565b9150602083013561159c816114cc565b809150509250929050565b600181811c908216806115bb57607f821691505b602082108114156115dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156115f457600080fd5b8151611291816114cc565b60008060006060848603121561161457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600082198211156116565761165661162d565b500190565b60008160001904831182151516156116755761167561162d565b500290565b60008261169757634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156116ae576116ae61162d565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117195784516001600160a01b0316835293830193918301916001016116f4565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220007c346060fcf477edf51cc3b4e1907f890c82dc6028276655f2a5348ae9438164736f6c634300080a0033

Deployed Bytecode Sourcemap

6508:5490:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6815:28;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6815:28:0;;;;;;;;2427:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;3365:201::-;;;;;;;;;;-1:-1:-1;3365:201:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;3365:201:0;1254:187:1;2750:108:0;;;;;;;;;;-1:-1:-1;2838:12:0;;2750:108;;3575:261;;;;;;;;;;-1:-1:-1;3575:261:0;;;;;:::i;:::-;;:::i;2649:92::-;;;;;;;;;;-1:-1:-1;2649:92:0;;2732:1;2049:36:1;;2037:2;2022:18;2649:92:0;1907:184:1;6883:29:0;;;;;;;;;;;;;;;;11528:467;;;;;;;;;;;;;:::i;:::-;;2867:127;;;;;;;;;;-1:-1:-1;2867:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2968:18:0;2941:7;2968:18;;;;;;;;;;;;2867:127;1711:103;;;;;;;;;;;;;:::i;8427:237::-;;;;;;;;;;;;;:::i;6847:32::-;;;;;;;;;;;;;;;;1474:87;;;;;;;;;;-1:-1:-1;1547:6:0;;-1:-1:-1;;;;;1547:6:0;1474:87;;;-1:-1:-1;;;;;2512:32:1;;;2494:51;;2482:2;2467:18;1474:87:0;2348:203:1;2536:104:0;;;;;;;;;;;;;:::i;3003:193::-;;;;;;;;;;-1:-1:-1;3003:193:0;;;;;:::i;:::-;;:::i;7006:32::-;;;;;;;;;;-1:-1:-1;7006:32:0;;;;;;;;;;;7759:662;;;;;;;;;;;;;:::i;3205:151::-;;;;;;;;;;-1:-1:-1;3205:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3321:18:0;;;3294:7;3321:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3205:151;7045:24;;;;;;;;;;-1:-1:-1;7045:24:0;;;;-1:-1:-1;;;7045:24:0;;-1:-1:-1;;;;;7045:24:0;;;2427:100;2481:13;2514:5;2507:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:100;:::o;3365:201::-;3448:4;248:10;3504:32;248:10;3520:7;3529:6;3504:8;:32::i;:::-;-1:-1:-1;3554:4:0;;3365:201;-1:-1:-1;;;3365:201:0:o;3575:261::-;3672:4;248:10;3730:38;3746:4;248:10;3761:6;3730:15;:38::i;:::-;3779:27;3789:4;3795:2;3799:6;3779:9;:27::i;:::-;-1:-1:-1;3824:4:0;;3575:261;-1:-1:-1;;;;3575:261:0:o;11528:467::-;11575:14;;;;;;;11567:46;;;;-1:-1:-1;;;11567:46:0;;3762:2:1;11567:46:0;;;3744:21:1;3801:2;3781:18;;;3774:30;-1:-1:-1;;;3820:18:1;;;3813:49;3879:18;;11567:46:0;;;;;;;;;11654:9;;-1:-1:-1;;;;;11654:9:0;11640:10;11632:31;11624:61;;;;-1:-1:-1;;;11624:61:0;;4110:2:1;11624:61:0;;;4092:21:1;4149:2;4129:18;;;4122:30;-1:-1:-1;;;4168:18:1;;;4161:47;4225:18;;11624:61:0;3908:341:1;11624:61:0;11741:4;11700:20;2968:18;;;;;;;;;;;11761:16;;11758:80;;11796:30;11813:12;11796:16;:30::i;:::-;11869:21;11904:14;;11901:87;;11945:9;;11937:39;;-1:-1:-1;;;;;11945:9:0;;;;11937:39;;;;;11965:10;;11945:9;11937:39;11945:9;11937:39;11965:10;11945:9;11937:39;;;;;;;;;;;;;;;;;;;;;11901:87;11559:436;;11528:467::o;1711:103::-;1432:13;:11;:13::i;:::-;1776:30:::1;1803:1;1776:18;:30::i;:::-;1711:103::o:0;8427:237::-;1432:13;:11;:13::i;:::-;8485:20:::1;::::0;;;::::1;;;8477:54;;;::::0;-1:-1:-1;;;8477:54:0;;4456:2:1;8477:54:0::1;::::0;::::1;4438:21:1::0;4495:2;4475:18;;;4468:30;-1:-1:-1;;;4514:18:1;;;4507:51;4575:18;;8477:54:0::1;4254:345:1::0;8477:54:0::1;2838:12:::0;;8544:17:::1;:33:::0;2838:12;;8584:14:::1;:30:::0;8624:20:::1;:28:::0;;-1:-1:-1;;8624:28:0::1;::::0;;8427:237::o;2536:104::-;2592:13;2625:7;2618:14;;;;;:::i;3003:193::-;3082:4;248:10;3138:28;248:10;3155:2;3159:6;3138:9;:28::i;7759:662::-;1432:13;:11;:13::i;:::-;7817:14:::1;::::0;::::1;::::0;::::1;;;7816:15;7808:51;;;::::0;-1:-1:-1;;;7808:51:0;;4806:2:1;7808:51:0::1;::::0;::::1;4788:21:1::0;4845:2;4825:18;;;4818:30;4884:25;4864:18;;;4857:53;4927:18;;7808:51:0::1;4604:347:1::0;7808:51:0::1;7872:6;:63:::0;;;-1:-1:-1;;;;;;7872:63:0;;::::1;;::::0;;;;7964:16:::1;::::0;;-1:-1:-1;;;7964:16:0;;;;-1:-1:-1;;;7964:6:0;;::::1;-1:-1:-1::0;;;;;7964:6:0::1;::::0;:14:::1;::::0;7872:6:::1;7964:16:::0;;::::1;::::0;::::1;::::0;;;;;;;;;:6;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7952:40:0::1;;8001:4;8008:6;;;;;;;;;-1:-1:-1::0;;;;;8008:6:0::1;-1:-1:-1::0;;;;;8008:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7952:70;::::0;-1:-1:-1;;;;;;7952:70:0::1;::::0;;;;;;-1:-1:-1;;;;;5442:15:1;;;7952:70:0::1;::::0;::::1;5424:34:1::0;5494:15;;5474:18;;;5467:43;5359:18;;7952:70:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7945:4;:77:::0;;-1:-1:-1;;;;;;7945:77:0::1;-1:-1:-1::0;;;;;7945:77:0;;::::1;;::::0;;8067:6:::1;::::0;2838:12;;8035:55:::1;::::0;8052:4:::1;::::0;-1:-1:-1;;;8067:6:0;::::1;;::::0;8035:8:::1;:55::i;:::-;8100:6;::::0;8166:4:::1;2941:7:::0;2968:18;;;;;;;;;;;-1:-1:-1;;;8100:6:0;;::::1;-1:-1:-1::0;;;;;8100:6:0::1;::::0;:22:::1;::::0;8130:21:::1;::::0;8207:1:::1;8215::::0;8222:7:::1;1547:6:::0;;-1:-1:-1;;;;;1547:6:0;;1474:87;8222:7:::1;8100:160;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8100:160:0;;;-1:-1:-1;;;;;5880:15:1;;;8100:160:0::1;::::0;::::1;5862:34:1::0;5912:18;;;5905:34;;;;5955:18;;;5948:34;;;;5998:18;;;5991:34;6062:15;;;6041:19;;;6034:44;8235:15:0::1;6094:19:1::0;;;6087:35;5796:19;;8100:160:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8276:14:0::1;:21:::0;;-1:-1:-1;;8307:18:0;;;;;-1:-1:-1;8359:12:0::1;8338:18;:33:::0;8398:15:::1;8378:17;:35:::0;7759:662::o;4901:346::-;-1:-1:-1;;;;;5003:19:0;;4995:68;;;;-1:-1:-1;;;4995:68:0;;6646:2:1;4995:68:0;;;6628:21:1;6685:2;6665:18;;;6658:30;6724:34;6704:18;;;6697:62;-1:-1:-1;;;6775:18:1;;;6768:34;6819:19;;4995:68:0;6444:400:1;4995:68:0;-1:-1:-1;;;;;5082:21:0;;5074:68;;;;-1:-1:-1;;;5074:68:0;;7051:2:1;5074:68:0;;;7033:21:1;7090:2;7070:18;;;7063:30;7129:34;7109:18;;;7102:62;-1:-1:-1;;;7180:18:1;;;7173:32;7222:19;;5074:68:0;6849:398:1;5074:68:0;-1:-1:-1;;;;;5155:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5207:32;;160:25:1;;;5207:32:0;;133:18:1;5207:32:0;;;;;;;4901:346;;;:::o;5256:419::-;-1:-1:-1;;;;;3321:18:0;;;5357:24;3321:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;5424:37:0;;5420:248;;5506:6;5486:16;:26;;5478:68;;;;-1:-1:-1;;;5478:68:0;;7454:2:1;5478:68:0;;;7436:21:1;7493:2;7473:18;;;7466:30;7532:31;7512:18;;;7505:59;7581:18;;5478:68:0;7252:353:1;5478:68:0;5590:51;5599:5;5606:7;5634:6;5615:16;:25;5590:8;:51::i;:::-;5346:329;5256:419;;;:::o;8670:2006::-;-1:-1:-1;;;;;8790:20:0;;8782:63;;;;-1:-1:-1;;;8782:63:0;;7812:2:1;8782:63:0;;;7794:21:1;7851:2;7831:18;;;7824:30;7890:32;7870:18;;;7863:60;7940:18;;8782:63:0;7610:354:1;8782:63:0;-1:-1:-1;;;;;8864:23:0;;8856:64;;;;-1:-1:-1;;;8856:64:0;;8171:2:1;8856:64:0;;;8153:21:1;8210:2;8190:18;;;8183:30;8249;8229:18;;;8222:58;8297:18;;8856:64:0;7969:352:1;8856:64:0;8929:12;8946:21;8985:7;1547:6;;-1:-1:-1;;;;;1547:6:0;;1474:87;8985:7;-1:-1:-1;;;;;8975:17:0;:6;-1:-1:-1;;;;;8975:17:0;;;:41;;;;-1:-1:-1;1547:6:0;;-1:-1:-1;;;;;8996:20:0;;;1547:6;;8996:20;;8975:41;8972:1158;;;9060:18;;:20;;9079:1;9060:20;:::i;:::-;9043:12;:38;;:120;;9161:2;9043:120;;;9105:17;;:23;;9125:3;9105:23;:::i;:::-;9085:15;:44;;:72;;9146:11;:9;:11::i;:::-;9085:72;;;9132:11;;9085:72;9027:136;-1:-1:-1;9204:3:0;9178:22;9027:136;9178:6;:22;:::i;:::-;9177:30;;;;:::i;:::-;9222:20;;9169:39;;-1:-1:-1;9222:20:0;;;;;:49;;;;-1:-1:-1;9264:6:0;;-1:-1:-1;;;;;9246:25:0;;;-1:-1:-1;;;9264:6:0;;;;9246:25;;9222:49;:79;;;;-1:-1:-1;9296:4:0;;-1:-1:-1;;;;;9275:26:0;;;9296:4;;9275:26;;9222:79;9219:322;;;9353:9;9325:38;;;;:27;:38;;;;;;9366:12;-1:-1:-1;9317:137:0;;;;-1:-1:-1;;;9317:137:0;;9188:2:1;9317:137:0;;;9170:21:1;9227:2;9207:18;;;9200:30;9266:34;9246:18;;;9239:62;9337:34;9317:18;;;9310:62;-1:-1:-1;;;9388:19:1;;;9381:38;9436:19;;9317:137:0;8986:475:1;9317:137:0;9500:9;9472:38;;;;:27;:38;;;;;9513:12;9472:53;;9219:322;9567:4;;-1:-1:-1;;;;;9549:23:0;;;9567:4;;9549:23;:55;;;;-1:-1:-1;9597:6:0;;-1:-1:-1;;;;;9576:28:0;;;-1:-1:-1;;;9597:6:0;;;;9576:28;;9549:55;:89;;;;-1:-1:-1;;;;;;9609:29:0;;;;;;:18;:29;;;;;;;;9608:30;9549:89;9546:299;;;9673:14;;9663:6;:24;;9655:84;;;;-1:-1:-1;;;9655:84:0;;9668:2:1;9655:84:0;;;9650:21:1;9707:2;9687:18;;;9680:30;9746:34;9726:18;;;9719:62;-1:-1:-1;;;9797:18:1;;;9790:45;9852:19;;9655:84:0;9466:411:1;9655:84:0;9790:17;;-1:-1:-1;;;;;2968:18:0;;2941:7;2968:18;;;;;;;;;;;9757:29;;:6;:29;:::i;:::-;:50;;9749:89;;;;-1:-1:-1;;;9749:89:0;;10084:2:1;9749:89:0;;;10066:21:1;10123:2;10103:18;;;10096:30;10162:28;10142:18;;;10135:56;10208:18;;9749:89:0;9882:350:1;9749:89:0;9874:4;;-1:-1:-1;;;;;9853:26:0;;;9874:4;;9853:26;:53;;;;-1:-1:-1;;;;;;9883:23:0;;9901:4;9883:23;;9853:53;9850:275;;;9955:18;;:20;;9974:1;9955:20;:::i;:::-;9938:12;:38;;:122;;10058:2;9938:122;;;10000:17;;:23;;10020:3;10000:23;:::i;:::-;9980:15;:44;;:74;;10042:12;:10;:12::i;:::-;9980:74;;;10027:12;;9980:74;9922:138;-1:-1:-1;10105:3:0;10079:22;9922:138;10079:6;:22;:::i;:::-;10078:30;;;;:::i;:::-;10070:39;;9850:275;10187:4;10138:28;2968:18;;;;;;;;;;;10237:13;;10263:8;;10213:37;;;;;10263:8;;10262:9;:20;;;;;10275:7;10262:20;:50;;;;-1:-1:-1;10307:4:0;;-1:-1:-1;;;;;10286:26:0;;;10307:4;;10286:26;10262:50;:65;;;;-1:-1:-1;10316:11:0;;;;;;;10262:65;10259:277;;;10339:8;:15;;-1:-1:-1;;10339:15:0;10350:4;10339:15;;;10394:13;;10365:44;;10382:26;;10386:6;;10382:3;:26::i;:::-;10365:16;:44::i;:::-;10471:9;;10463:39;;10436:21;;-1:-1:-1;;;;;10471:9:0;;10463:39;;;;;10436:21;;10415:18;10463:39;10415:18;10463:39;10436:21;10471:9;10463:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10513:8:0;:16;;-1:-1:-1;;10513:16:0;;;10259:277;10543:8;;10540:75;;10565:44;10581:6;10597:4;10604;10565:15;:44::i;:::-;10619:49;10635:6;10643:9;10654:13;10663:4;10654:6;:13;:::i;:::-;10619:15;:49::i;:::-;8765:1911;;;;8670:2006;;;:::o;11089:433::-;11174:16;;;11188:1;11174:16;;;;;;;;11150:21;;11174:16;;;;;;;;;;-1:-1:-1;11174:16:0;11150:40;;11219:4;11201;11206:1;11201:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11201:23:0;;;-1:-1:-1;;;;;11201:23:0;;;;;11245:6;;;;;;;;;-1:-1:-1;;;;;11245:6:0;-1:-1:-1;;;;;11245:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11235:4;11240:1;11235:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11235:23:0;;;:7;;;;;;;;;:23;11305:6;;11273:48;;11290:4;;-1:-1:-1;;;11305:6:0;;;11314;11273:8;:48::i;:::-;11332:6;;:182;;-1:-1:-1;;;11332:182:0;;-1:-1:-1;;;11332:6:0;;;-1:-1:-1;;;;;11332:6:0;;:57;;:182;;11404:6;;11425:1;;11441:4;;11468;;11488:15;;11332:6;:182;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11139:383;11089:433;:::o;1570:132::-;1547:6;;-1:-1:-1;;;;;1547:6:0;248:10;1634:23;1626:68;;;;-1:-1:-1;;;1626:68:0;;11818:2:1;1626:68:0;;;11800:21:1;;;11837:18;;;11830:30;11896:34;11876:18;;;11869:62;11948:18;;1626:68:0;11616:356:1;1823:191:0;1916:6;;;-1:-1:-1;;;;;1933:17:0;;;-1:-1:-1;;;;;;1933:17:0;;;;;;;1966:40;;1916:6;;;1933:17;1916:6;;1966:40;;1897:16;;1966:40;1886:128;1823:191;:::o;10941:142::-;10984:7;11067:2;11046:17;;11028:15;:35;;;;:::i;:::-;11027:42;;;;:::i;:::-;11026:48;;11073:1;11026:48;:::i;:::-;11009:13;;:66;;;;:::i;:::-;11002:73;;10941:142;:::o;10794:141::-;10838:7;10919:2;10898:17;;10880:15;:35;;;;:::i;:::-;10879:42;;;;:::i;:::-;10878:48;;10925:1;10878:48;:::i;:::-;10860:14;;:67;;;;:::i;10682:106::-;10739:7;10770:1;10766;:5;10765:15;;10779:1;10765:15;;;10775:1;10765:15;10758:22;10682:106;-1:-1:-1;;;10682:106:0:o;3845:639::-;-1:-1:-1;;;;;3943:18:0;;3935:68;;;;-1:-1:-1;;;3935:68:0;;12179:2:1;3935:68:0;;;12161:21:1;12218:2;12198:18;;;12191:30;12257:34;12237:18;;;12230:62;-1:-1:-1;;;12308:18:1;;;12301:35;12353:19;;3935:68:0;11977:401:1;3935:68:0;-1:-1:-1;;;;;4022:16:0;;4014:64;;;;-1:-1:-1;;;4014:64:0;;12585:2:1;4014:64:0;;;12567:21:1;12624:2;12604:18;;;12597:30;12663:34;12643:18;;;12636:62;-1:-1:-1;;;12714:18:1;;;12707:33;12757:19;;4014:64:0;12383:399:1;4014:64:0;4091:38;4112:4;4118:2;4122:6;4091:20;:38::i;:::-;-1:-1:-1;;;;;4164:15:0;;4142:19;4164:15;;;;;;;;;;;4199:21;;;;4191:72;;;;-1:-1:-1;;;4191:72:0;;12989:2:1;4191:72:0;;;12971:21:1;13028:2;13008:18;;;13001:30;13067:34;13047:18;;;13040:62;-1:-1:-1;;;13118:18:1;;;13111:36;13164:19;;4191:72:0;12787:402:1;4191:72:0;-1:-1:-1;;;;;4299:15:0;;;:9;:15;;;;;;;;;;;4317:20;;;4299:38;;4359:13;;;;;;;;:23;;4331:6;;4299:9;4359:23;;4331:6;;4359:23;:::i;:::-;;;;;;;;4415:2;-1:-1:-1;;;;;4400:26:0;4409:4;-1:-1:-1;;;;;4400:26:0;;4419:6;4400:26;;;;160:25:1;;148:2;133:18;;14:177;4400:26:0;;;;;;;;4439:37;4459:4;4465:2;4469:6;4439:19;:37::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;853:70;798:131;:::o;934:315::-;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2556:388::-;2624:6;2632;2685:2;2673:9;2664:7;2660:23;2656:32;2653:52;;;2701:1;2698;2691:12;2653:52;2740:9;2727:23;2759:31;2784:5;2759:31;:::i;:::-;2809:5;-1:-1:-1;2866:2:1;2851:18;;2838:32;2879:33;2838:32;2879:33;:::i;:::-;2931:7;2921:17;;;2556:388;;;;;:::o;3175:380::-;3254:1;3250:12;;;;3297;;;3318:61;;3372:4;3364:6;3360:17;3350:27;;3318:61;3425:2;3417:6;3414:14;3394:18;3391:38;3388:161;;;3471:10;3466:3;3462:20;3459:1;3452:31;3506:4;3503:1;3496:15;3534:4;3531:1;3524:15;3388:161;;3175:380;;;:::o;4956:251::-;5026:6;5079:2;5067:9;5058:7;5054:23;5050:32;5047:52;;;5095:1;5092;5085:12;5047:52;5127:9;5121:16;5146:31;5171:5;5146:31;:::i;6133:306::-;6221:6;6229;6237;6290:2;6278:9;6269:7;6265:23;6261:32;6258:52;;;6306:1;6303;6296:12;6258:52;6335:9;6329:16;6319:26;;6385:2;6374:9;6370:18;6364:25;6354:35;;6429:2;6418:9;6414:18;6408:25;6398:35;;6133:306;;;;;:::o;8326:127::-;8387:10;8382:3;8378:20;8375:1;8368:31;8418:4;8415:1;8408:15;8442:4;8439:1;8432:15;8458:128;8498:3;8529:1;8525:6;8522:1;8519:13;8516:39;;;8535:18;;:::i;:::-;-1:-1:-1;8571:9:1;;8458:128::o;8591:168::-;8631:7;8697:1;8693;8689:6;8685:14;8682:1;8679:21;8674:1;8667:9;8660:17;8656:45;8653:71;;;8704:18;;:::i;:::-;-1:-1:-1;8744:9:1;;8591:168::o;8764:217::-;8804:1;8830;8820:132;;8874:10;8869:3;8865:20;8862:1;8855:31;8909:4;8906:1;8899:15;8937:4;8934:1;8927:15;8820:132;-1:-1:-1;8966:9:1;;8764:217::o;10237:125::-;10277:4;10305:1;10302;10299:8;10296:34;;;10310:18;;:::i;:::-;-1:-1:-1;10347:9:1;;10237:125::o;10499:127::-;10560:10;10555:3;10551:20;10548:1;10541:31;10591:4;10588:1;10581:15;10615:4;10612:1;10605:15;10631:980;10893:4;10941:3;10930:9;10926:19;10972:6;10961:9;10954:25;10998:2;11036:6;11031:2;11020:9;11016:18;11009:34;11079:3;11074:2;11063:9;11059:18;11052:31;11103:6;11138;11132:13;11169:6;11161;11154:22;11207:3;11196:9;11192:19;11185:26;;11246:2;11238:6;11234:15;11220:29;;11267:1;11277:195;11291:6;11288:1;11285:13;11277:195;;;11356:13;;-1:-1:-1;;;;;11352:39:1;11340:52;;11447:15;;;;11412:12;;;;11388:1;11306:9;11277:195;;;-1:-1:-1;;;;;;;11528:32:1;;;;11523:2;11508:18;;11501:60;-1:-1:-1;;;11592:3:1;11577:19;11570:35;11489:3;10631:980;-1:-1:-1;;;10631:980:1:o

Swarm Source

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