ETH Price: $2,578.79 (-1.76%)

Token

Barbie (BARBIE)
 

Overview

Max Total Supply

1,000,000,000 BARBIE

Holders

78

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,163,213.01777376 BARBIE

Value
$0.00
0x6238e0f435f72ce3afa8c0a9e6380ce5cd41180a
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:
BARBIE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-25
*/

// SPDX-License-Identifier: Unlicensed

/**
https://t.me/barbie_coin_erc
 */

pragma solidity = 0.8.19;

//--- Context ---//
abstract contract Context {
    constructor() {
    }

    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

//--- Ownable ---//
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IRouter01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

interface IUniswapFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address _pairAddress, uint);
    function getPair(address tokenA, address tokenB) external view returns (address _pairAddress);
    function createPair(address tokenA, address tokenB) external returns (address _pairAddress);
}

//--- Interface for ERC20 ---//
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

//--- Contract ---//

contract BARBIE is Context, Ownable, IERC20 {

    string private constant _name = "Barbie";
    string private constant _symbol = "BARBIE";
    uint8 private constant _decimals = 9;

    uint256 public constant _total_supply = 10 ** 18;

    uint256 private constant _transfer_fees = 0;
    uint256 private constant _denominator = 1_000;
    uint256 private _max_wallet_amount = 25 * _total_supply / 1000;

    bool private _is_limit_deactive = false;
    uint256 private _buy_fees = 200;
    uint256 private _sell_fees = 200;

    address private _pair_address;
    IRouter02 private _uniswap_router;
    bool private _is_trading_opened = false;
    bool private _swapping;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _address_with_no_fee;
    mapping (address => bool) private _address_lp_provide;
    mapping (address => bool) private _address_liq_pairs;
    mapping (address => uint256) private _balances;

    uint256 private constant _swap_threshold = _total_supply / 100_000;
    address payable private _fee_receipient = payable(address(0xc116fa37B1421885Ac633d463b1203c81Ff5B5Ec));
    address public constant dead = 0x000000000000000000000000000000000000dEaD;

    bool private _swap_enabled = true;

    modifier in_swaps() {
        _swapping = true;
        _;
        _swapping = false;
    }

    constructor () {
        _address_with_no_fee[msg.sender] = true;
        _address_with_no_fee[_fee_receipient] = true;

        if (block.chainid == 56) {
            _uniswap_router = IRouter02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        } else if (block.chainid == 97) {
            _uniswap_router = IRouter02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1);
        } else if (block.chainid == 1 || block.chainid == 4 || block.chainid == 3) {
            _uniswap_router = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else if (block.chainid == 42161) {
            _uniswap_router = IRouter02(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506);
        } else if (block.chainid == 5) {
            _uniswap_router = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        } else {
            revert("Chain not valid");
        }
        _address_lp_provide[msg.sender] = true;
        _balances[msg.sender] = _total_supply;
        emit Transfer(address(0), msg.sender, _total_supply);

        _pair_address = IUniswapFactoryV2(_uniswap_router.factory()).createPair(_uniswap_router.WETH(), address(this));
        _address_liq_pairs[_pair_address] = true;
        _approve(msg.sender, address(_uniswap_router), type(uint256).max);
        _approve(address(this), address(_uniswap_router), type(uint256).max);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function has_transfer_limits(address ins, address out) internal view returns (bool) {
        return ins != owner() && out != owner() && msg.sender != owner() && !_address_lp_provide[ins] && !_address_lp_provide[out] && out != address(0) && out != address(this);
    }

    function swap_back(uint256 contract_token_balance) internal in_swaps {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswap_router.WETH();

        if (_allowances[address(this)][address(_uniswap_router)] != type(uint256).max) {
            _allowances[address(this)][address(_uniswap_router)] = type(uint256).max;
        }

        try _uniswap_router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contract_token_balance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        if (address(this).balance > 0) {
            _fee_receipient.transfer(address(this).balance);
        }
    }

    function totalSupply() external pure override returns (uint256) {
        if (_total_supply == 0) {
            revert();
        }
        return _total_supply;
    }

    function decimals() external pure override returns (uint8) {
        if (_total_supply == 0) {
            revert();
        }
        return _decimals;
    }

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

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

    function getOwner() external view override returns (address) {
        return owner();
    }

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

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

    function get_recipient_amount(address from, bool is_buy, bool is_sell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (is_buy) {
            fee = _buy_fees;
        } else if (is_sell) {
            fee = _sell_fees;
        } else {
            fee = _transfer_fees;
        }
        if (fee == 0) {
            return amount;
        }
        uint256 fee_amount = (amount * fee) / _denominator;
        if (fee_amount > 0) {
            _balances[address(this)] += fee_amount;
            emit Transfer(from, address(this), fee_amount);
        }
        return amount - fee_amount;
    }

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");
        _allowances[sender][spender] = amount;
    }

    function _transfer(address from, address to, uint256 amount) internal returns (bool) {
        bool take_fee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (has_transfer_limits(from, to)) {
            require(_is_trading_opened, "Trading is not enabled");
            if (!_address_liq_pairs[to] && from != address(this) && to != address(this) || is_transferring(from, to) && !_is_limit_deactive) {
                require(_balances[to] + amount <= _max_wallet_amount, "_max_wallet_amount exceed");
            }
        }

        if (is_selling(from, to) && !_swapping && _verify_to_swap_back(from)) {
            uint256 contract_token_balance = _balances[address(this)];
            if (contract_token_balance >= _swap_threshold) {
                if (amount > _swap_threshold) swap_back(contract_token_balance);
            }
        }

        if (_address_with_no_fee[from] || _address_with_no_fee[to]) {
            take_fee = false;
        }
        uint256 amount_after_fee = (take_fee) ? get_recipient_amount(from, is_buying(from, to), is_selling(from, to), amount) : amount;
        uint256 amount_before_fee = (take_fee) ? amount : (!_is_trading_opened ? amount : 0);
        _balances[from] -= amount_before_fee;
        _balances[to] += amount_after_fee;
        emit Transfer(from, to, amount_after_fee);

        return true;
    }

    function enable_trading() external onlyOwner {
        require(!_is_trading_opened, "Trading already enabled");
        _is_trading_opened = true;
    }

    function remove_taxes_and_limits() external onlyOwner {
        require(!_is_limit_deactive, "Already initialized");
        _max_wallet_amount = _total_supply;
        _is_limit_deactive = true;
        _buy_fees = 0;
        _sell_fees = 0;
    }

    receive() external payable {}

    function _verify_to_swap_back(address ins) internal view returns (bool) {
        bool can_swap = _swap_enabled && !_address_with_no_fee[ins];
        return can_swap;
    }

    function is_buying(address ins, address out) internal view returns (bool) {
        return !_address_liq_pairs[out] && _address_liq_pairs[ins];
    }

    function is_selling(address ins, address out) internal view returns (bool) {
        return _address_liq_pairs[out] && !_address_liq_pairs[ins];
    }

    function is_transferring(address ins, address out) internal view returns (bool) {
        return !_address_liq_pairs[out] && !_address_liq_pairs[ins];
    }
}

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":[],"name":"_total_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"dead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enable_trading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"remove_taxes_and_limits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526103e86200001c670de0b6b3a7640000601962000585565b620000289190620005b1565b6001556002805460ff1916905560c860038190556004556006805460ff60a01b19169055600c80546001600160a81b0319167401c116fa37b1421885ac633d463b1203c81ff5b5ec1790553480156200008057600080fd5b506200008c336200046d565b336000908152600860205260408082208054600160ff199182168117909255600c546001600160a01b03168452919092208054909116909117905546603803620000fc57600680546001600160a01b0319167310ed43c718714eb63d5aa57b78b54704e256024e17905562000229565b466061036200013157600680546001600160a01b03191673d99d1c33f9fc3444f8101754abc46c52416550d117905562000229565b4660011480620001415750466004145b806200014d5750466003145b156200017f57600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000229565b4661a4b103620001b557600680546001600160a01b031916731b02da8cb0d097eb8d57a175b88c7d8b4799750617905562000229565b46600503620001ea57600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905562000229565b60405162461bcd60e51b815260206004820152600f60248201526e10da185a5b881b9bdd081d985b1a59608a1b60448201526064015b60405180910390fd5b336000818152600960209081526040808320805460ff19166001179055600b8252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003049190620005d4565b6001600160a01b031663c9c65396600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000366573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038c9190620005d4565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620003d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ff9190620005d4565b600580546001600160a01b0319166001600160a01b039283169081179091556000908152600a60205260409020805460ff191660011790556006546200044b91339116600019620004bd565b600654620004679030906001600160a01b0316600019620004bd565b62000606565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200050b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000220565b6001600160a01b038216620005595760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640162000220565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b8082028115828204841417620005ab57634e487b7160e01b600052601160045260246000fd5b92915050565b600082620005cf57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005e757600080fd5b81516001600160a01b0381168114620005ff57600080fd5b9392505050565b6112ca80620006166000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c4578063beb51b57146102e4578063cb3bc15f146102f9578063dd62ed3e1461030e578063f2fde38b1461035457600080fd5b8063715018a614610260578063893d20e8146102775780638da5cb5b1461027757806395d89b411461029557600080fd5b8063313ce567116100d1578063313ce567146101c457806336cf7c87146101e05780634d3cfc831461020e57806370a082311461022a57600080fd5b806306fdde031461010e578063095ea7b31461014f57806318160ddd1461017f57806323b872dd146101a457600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600681526542617262696560d01b60208201525b6040516101469190611020565b60405180910390f35b34801561015b57600080fd5b5061016f61016a366004611083565b610374565b6040519015158152602001610146565b34801561018b57600080fd5b50670de0b6b3a76400005b604051908152602001610146565b3480156101b057600080fd5b5061016f6101bf3660046110af565b61038b565b3480156101d057600080fd5b5060405160098152602001610146565b3480156101ec57600080fd5b506101f661dead81565b6040516001600160a01b039091168152602001610146565b34801561021a57600080fd5b50610196670de0b6b3a764000081565b34801561023657600080fd5b506101966102453660046110f0565b6001600160a01b03166000908152600b602052604090205490565b34801561026c57600080fd5b50610275610403565b005b34801561028357600080fd5b506000546001600160a01b03166101f6565b3480156102a157600080fd5b5060408051808201909152600681526542415242494560d01b6020820152610139565b3480156102d057600080fd5b5061016f6102df366004611083565b610442565b3480156102f057600080fd5b50610275610459565b34801561030557600080fd5b506102756104f3565b34801561031a57600080fd5b5061019661032936600461110d565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561036057600080fd5b5061027561036f3660046110f0565b61058c565b6000610381338484610627565b5060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146103f0576001600160a01b0384166000908152600760209081526040808320338452909152812080548492906103ea90849061115c565b90915550505b6103fb8484846106eb565b949350505050565b6000546001600160a01b031633146104365760405162461bcd60e51b815260040161042d9061116f565b60405180910390fd5b6104406000610b37565b565b600061044f3384846106eb565b5060019392505050565b6000546001600160a01b031633146104835760405162461bcd60e51b815260040161042d9061116f565b60025460ff16156104cc5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161042d565b670de0b6b3a764000060019081556002805460ff1916909117905560006003819055600455565b6000546001600160a01b0316331461051d5760405162461bcd60e51b815260040161042d9061116f565b600654600160a01b900460ff16156105775760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161042d565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b65760405162461bcd60e51b815260040161042d9061116f565b6001600160a01b03811661061b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161042d565b61062481610b37565b50565b6001600160a01b0383166106735760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161042d565b6001600160a01b0382166106bf5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161042d565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166107515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161042d565b6001600160a01b0385166107b55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161042d565b600083116108175760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161042d565b6108218585610b87565b1561095857600654600160a01b900460ff166108785760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161042d565b6001600160a01b0384166000908152600a602052604090205460ff161580156108aa57506001600160a01b0385163014155b80156108bf57506001600160a01b0384163014155b806108de57506108cf8585610c45565b80156108de575060025460ff16155b15610958576001546001600160a01b0385166000908152600b602052604090205461090a9085906111a4565b11156109585760405162461bcd60e51b815260206004820152601960248201527f5f6d61785f77616c6c65745f616d6f756e742065786365656400000000000000604482015260640161042d565b6109628585610c8a565b80156109785750600654600160a81b900460ff16155b8015610988575061098885610cce565b156109df57306000908152600b60205260409020546109b2620186a0670de0b6b3a76400006111b7565b81106109dd576109cd620186a0670de0b6b3a76400006111b7565b8411156109dd576109dd81610d08565b505b6001600160a01b03851660009081526008602052604090205460ff1680610a1e57506001600160a01b03841660009081526008602052604090205460ff165b15610a27575060005b600081610a345783610a52565b610a5286610a428888610f0b565b610a4c8989610c8a565b87610f4f565b9050600082610a7a57600654600160a01b900460ff1615610a74576000610a7c565b84610a7c565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610aa990849061115c565b90915550506001600160a01b0386166000908152600b602052604081208054849290610ad69084906111a4565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b2291815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b03848116911614801590610bb457506000546001600160a01b03838116911614155b8015610bcb57506000546001600160a01b03163314155b8015610bf057506001600160a01b03831660009081526009602052604090205460ff16155b8015610c1557506001600160a01b03821660009081526009602052604090205460ff16155b8015610c2957506001600160a01b03821615155b8015610c3e57506001600160a01b0382163014155b9392505050565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c3e575050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a602052604081205460ff168015610c3e575050506001600160a01b03166000908152600a602052604090205460ff161590565b600c546000908190600160a01b900460ff168015610c3e575050506001600160a01b031660009081526008602052604090205460ff161590565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5057610d506111d9565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd91906111ef565b81600181518110610de057610de06111d9565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610e4a573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e8390859060009086903090429060040161120c565b600060405180830381600087803b158015610e9d57600080fd5b505af1925050508015610eae575060015b610eb85750610efb565b4715610ef957600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ef7573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c3e575050506001600160a01b03166000908152600a602052604090205460ff1690565b6000808415610f615750600354610f74565b8315610f705750600454610f74565b5060005b80600003610f8557829150506103fb565b60006103e8610f94838661127d565b610f9e91906111b7565b9050801561100b57306000908152600b602052604081208054839290610fc59084906111a4565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611015818561115c565b979650505050505050565b600060208083528351808285015260005b8181101561104d57858101830151858201604001528201611031565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461062457600080fd5b6000806040838503121561109657600080fd5b82356110a18161106e565b946020939093013593505050565b6000806000606084860312156110c457600080fd5b83356110cf8161106e565b925060208401356110df8161106e565b929592945050506040919091013590565b60006020828403121561110257600080fd5b8135610c3e8161106e565b6000806040838503121561112057600080fd5b823561112b8161106e565b9150602083013561113b8161106e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038557610385611146565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561038557610385611146565b6000826111d457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120157600080fd5b8151610c3e8161106e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125c5784516001600160a01b031683529383019391830191600101611237565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103855761038561114656fea2646970667358221220bb5e242d73c09a65f72b4402ffe895850d6d2b9b84acf18f6d28c66a2e3ff00764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c4578063beb51b57146102e4578063cb3bc15f146102f9578063dd62ed3e1461030e578063f2fde38b1461035457600080fd5b8063715018a614610260578063893d20e8146102775780638da5cb5b1461027757806395d89b411461029557600080fd5b8063313ce567116100d1578063313ce567146101c457806336cf7c87146101e05780634d3cfc831461020e57806370a082311461022a57600080fd5b806306fdde031461010e578063095ea7b31461014f57806318160ddd1461017f57806323b872dd146101a457600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600681526542617262696560d01b60208201525b6040516101469190611020565b60405180910390f35b34801561015b57600080fd5b5061016f61016a366004611083565b610374565b6040519015158152602001610146565b34801561018b57600080fd5b50670de0b6b3a76400005b604051908152602001610146565b3480156101b057600080fd5b5061016f6101bf3660046110af565b61038b565b3480156101d057600080fd5b5060405160098152602001610146565b3480156101ec57600080fd5b506101f661dead81565b6040516001600160a01b039091168152602001610146565b34801561021a57600080fd5b50610196670de0b6b3a764000081565b34801561023657600080fd5b506101966102453660046110f0565b6001600160a01b03166000908152600b602052604090205490565b34801561026c57600080fd5b50610275610403565b005b34801561028357600080fd5b506000546001600160a01b03166101f6565b3480156102a157600080fd5b5060408051808201909152600681526542415242494560d01b6020820152610139565b3480156102d057600080fd5b5061016f6102df366004611083565b610442565b3480156102f057600080fd5b50610275610459565b34801561030557600080fd5b506102756104f3565b34801561031a57600080fd5b5061019661032936600461110d565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561036057600080fd5b5061027561036f3660046110f0565b61058c565b6000610381338484610627565b5060015b92915050565b6001600160a01b0383166000908152600760209081526040808320338452909152812054600019146103f0576001600160a01b0384166000908152600760209081526040808320338452909152812080548492906103ea90849061115c565b90915550505b6103fb8484846106eb565b949350505050565b6000546001600160a01b031633146104365760405162461bcd60e51b815260040161042d9061116f565b60405180910390fd5b6104406000610b37565b565b600061044f3384846106eb565b5060019392505050565b6000546001600160a01b031633146104835760405162461bcd60e51b815260040161042d9061116f565b60025460ff16156104cc5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161042d565b670de0b6b3a764000060019081556002805460ff1916909117905560006003819055600455565b6000546001600160a01b0316331461051d5760405162461bcd60e51b815260040161042d9061116f565b600654600160a01b900460ff16156105775760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c6564000000000000000000604482015260640161042d565b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b65760405162461bcd60e51b815260040161042d9061116f565b6001600160a01b03811661061b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161042d565b61062481610b37565b50565b6001600160a01b0383166106735760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161042d565b6001600160a01b0382166106bf5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b604482015260640161042d565b6001600160a01b0392831660009081526007602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166107515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161042d565b6001600160a01b0385166107b55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161042d565b600083116108175760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161042d565b6108218585610b87565b1561095857600654600160a01b900460ff166108785760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161042d565b6001600160a01b0384166000908152600a602052604090205460ff161580156108aa57506001600160a01b0385163014155b80156108bf57506001600160a01b0384163014155b806108de57506108cf8585610c45565b80156108de575060025460ff16155b15610958576001546001600160a01b0385166000908152600b602052604090205461090a9085906111a4565b11156109585760405162461bcd60e51b815260206004820152601960248201527f5f6d61785f77616c6c65745f616d6f756e742065786365656400000000000000604482015260640161042d565b6109628585610c8a565b80156109785750600654600160a81b900460ff16155b8015610988575061098885610cce565b156109df57306000908152600b60205260409020546109b2620186a0670de0b6b3a76400006111b7565b81106109dd576109cd620186a0670de0b6b3a76400006111b7565b8411156109dd576109dd81610d08565b505b6001600160a01b03851660009081526008602052604090205460ff1680610a1e57506001600160a01b03841660009081526008602052604090205460ff165b15610a27575060005b600081610a345783610a52565b610a5286610a428888610f0b565b610a4c8989610c8a565b87610f4f565b9050600082610a7a57600654600160a01b900460ff1615610a74576000610a7c565b84610a7c565b845b6001600160a01b0388166000908152600b6020526040812080549293508392909190610aa990849061115c565b90915550506001600160a01b0386166000908152600b602052604081208054849290610ad69084906111a4565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b2291815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b03848116911614801590610bb457506000546001600160a01b03838116911614155b8015610bcb57506000546001600160a01b03163314155b8015610bf057506001600160a01b03831660009081526009602052604090205460ff16155b8015610c1557506001600160a01b03821660009081526009602052604090205460ff16155b8015610c2957506001600160a01b03821615155b8015610c3e57506001600160a01b0382163014155b9392505050565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c3e575050506001600160a01b03166000908152600a602052604090205460ff161590565b6001600160a01b0381166000908152600a602052604081205460ff168015610c3e575050506001600160a01b03166000908152600a602052604090205460ff161590565b600c546000908190600160a01b900460ff168015610c3e575050506001600160a01b031660009081526008602052604090205460ff161590565b6006805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610d5057610d506111d9565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd91906111ef565b81600181518110610de057610de06111d9565b6001600160a01b03928316602091820292909201810191909152306000908152600782526040808220600654909416825292909152205460001914610e4a573060009081526007602090815260408083206006546001600160a01b03168452909152902060001990555b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e8390859060009086903090429060040161120c565b600060405180830381600087803b158015610e9d57600080fd5b505af1925050508015610eae575060015b610eb85750610efb565b4715610ef957600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610ef7573d6000803e3d6000fd5b505b505b506006805460ff60a81b19169055565b6001600160a01b0381166000908152600a602052604081205460ff16158015610c3e575050506001600160a01b03166000908152600a602052604090205460ff1690565b6000808415610f615750600354610f74565b8315610f705750600454610f74565b5060005b80600003610f8557829150506103fb565b60006103e8610f94838661127d565b610f9e91906111b7565b9050801561100b57306000908152600b602052604081208054839290610fc59084906111a4565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b611015818561115c565b979650505050505050565b600060208083528351808285015260005b8181101561104d57858101830151858201604001528201611031565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461062457600080fd5b6000806040838503121561109657600080fd5b82356110a18161106e565b946020939093013593505050565b6000806000606084860312156110c457600080fd5b83356110cf8161106e565b925060208401356110df8161106e565b929592945050506040919091013590565b60006020828403121561110257600080fd5b8135610c3e8161106e565b6000806040838503121561112057600080fd5b823561112b8161106e565b9150602083013561113b8161106e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038557610385611146565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561038557610385611146565b6000826111d457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561120157600080fd5b8151610c3e8161106e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125c5784516001600160a01b031683529383019391830191600101611237565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103855761038561114656fea2646970667358221220bb5e242d73c09a65f72b4402ffe895850d6d2b9b84acf18f6d28c66a2e3ff00764736f6c63430008130033

Deployed Bytecode Sourcemap

4714:9093:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9350:94;;;;;;;;;;-1:-1:-1;9431:5:0;;;;;;;;;;;;-1:-1:-1;;;9431:5:0;;;;9350:94;;;;;;;:::i;:::-;;;;;;;;10658:161;;;;;;;;;;-1:-1:-1;10658:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;10658:161:0;1023:187:1;8893:172:0;;;;;;;;;;-1:-1:-1;4948:8:0;8893:172;;;1361:25:1;;;1349:2;1334:18;8893:172:0;1215:177:1;7515:306:0;;;;;;;;;;-1:-1:-1;7515:306:0;;;;;:::i;:::-;;:::i;9073:163::-;;;;;;;;;;-1:-1:-1;9073:163:0;;4898:1;2000:36:1;;1988:2;1973:18;9073:163:0;1858:184:1;5909:73:0;;;;;;;;;;;;5940:42;5909:73;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;5909:73:0;2047:203:1;4908:48:0;;;;;;;;;;;;4948:8;4908:48;;9709:119;;;;;;;;;;-1:-1:-1;9709:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9802:18:0;9775:7;9802:18;;;:9;:18;;;;;;;9709:119;900:94;;;;;;;;;;;;;:::i;:::-;;9452;;;;;;;;;;-1:-1:-1;9504:7:0;750:6;-1:-1:-1;;;;;750:6:0;9452:94;;9244:98;;;;;;;;;;-1:-1:-1;9327:7:0;;;;;;;;;;;;-1:-1:-1;;;9327:7:0;;;;9244:98;;10485:165;;;;;;;;;;-1:-1:-1;10485:165:0;;;;;:::i;:::-;;:::i;12844:254::-;;;;;;;;;;;;;:::i;12681:155::-;;;;;;;;;;;;;:::i;9554:147::-;;;;;;;;;;-1:-1:-1;9554:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;9665:19:0;;;9638:7;9665:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9554:147;1002:192;;;;;;;;;;-1:-1:-1;1002:192:0;;;;;:::i;:::-;;:::i;10658:161::-;10735:4;10752:37;10761:10;10773:7;10782:6;10752:8;:37::i;:::-;-1:-1:-1;10807:4:0;10658:161;;;;;:::o;7515:306::-;-1:-1:-1;;;;;7636:19:0;;7615:4;7636:19;;;:11;:19;;;;;;;;7656:10;7636:31;;;;;;;;-1:-1:-1;;7636:52:0;7632:126;;-1:-1:-1;;;;;7705:19:0;;;;;;:11;:19;;;;;;;;7725:10;7705:31;;;;;;;:41;;7740:6;;7705:19;:41;;7740:6;;7705:41;:::i;:::-;;;;-1:-1:-1;;7632:126:0;7777:36;7787:6;7795:9;7806:6;7777:9;:36::i;:::-;7770:43;7515:306;-1:-1:-1;;;;7515:306:0:o;900:94::-;723:7;750:6;-1:-1:-1;;;;;750:6:0;285:10;812:23;804:68;;;;-1:-1:-1;;;804:68:0;;;;;;;:::i;:::-;;;;;;;;;965:21:::1;983:1;965:9;:21::i;:::-;900:94::o:0;10485:165::-;10563:4;10580:40;10590:10;10602:9;10613:6;10580:9;:40::i;:::-;-1:-1:-1;10638:4:0;;10485:165;-1:-1:-1;;;10485:165:0:o;12844:254::-;723:7;750:6;-1:-1:-1;;;;;750:6:0;285:10;812:23;804:68;;;;-1:-1:-1;;;804:68:0;;;;;;;:::i;:::-;12918:18:::1;::::0;::::1;;12917:19;12909:51;;;::::0;-1:-1:-1;;;12909:51:0;;3728:2:1;12909:51:0::1;::::0;::::1;3710:21:1::0;3767:2;3747:18;;;3740:30;-1:-1:-1;;;3786:18:1;;;3779:49;3845:18;;12909:51:0::1;3526:343:1::0;12909:51:0::1;4948:8;12971:18;:34:::0;;;13016:18:::1;:25:::0;;-1:-1:-1;;13016:25:0::1;::::0;;::::1;::::0;;:18:::1;13052:9;:13:::0;;;13076:10:::1;:14:::0;12844:254::o;12681:155::-;723:7;750:6;-1:-1:-1;;;;;750:6:0;285:10;812:23;804:68;;;;-1:-1:-1;;;804:68:0;;;;;;;:::i;:::-;12746:18:::1;::::0;-1:-1:-1;;;12746:18:0;::::1;;;12745:19;12737:55;;;::::0;-1:-1:-1;;;12737:55:0;;4076:2:1;12737:55:0::1;::::0;::::1;4058:21:1::0;4115:2;4095:18;;;4088:30;4154:25;4134:18;;;4127:53;4197:18;;12737:55:0::1;3874:347:1::0;12737:55:0::1;12803:18;:25:::0;;-1:-1:-1;;;;12803:25:0::1;-1:-1:-1::0;;;12803:25:0::1;::::0;;12681:155::o;1002:192::-;723:7;750:6;-1:-1:-1;;;;;750:6:0;285:10;812:23;804:68;;;;-1:-1:-1;;;804:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1091:22:0;::::1;1083:73;;;::::0;-1:-1:-1;;;1083:73:0;;4428:2:1;1083:73:0::1;::::0;::::1;4410:21:1::0;4467:2;4447:18;;;4440:30;4506:34;4486:18;;;4479:62;-1:-1:-1;;;4557:18:1;;;4550:36;4603:19;;1083:73:0::1;4226:402:1::0;1083:73:0::1;1167:19;1177:8;1167:9;:19::i;:::-;1002:192:::0;:::o;10827:259::-;-1:-1:-1;;;;;10922:20:0;;10914:52;;;;-1:-1:-1;;;10914:52:0;;4835:2:1;10914:52:0;;;4817:21:1;4874:2;4854:18;;;4847:30;-1:-1:-1;;;4893:18:1;;;4886:49;4952:18;;10914:52:0;4633:343:1;10914:52:0;-1:-1:-1;;;;;10985:21:0;;10977:53;;;;-1:-1:-1;;;10977:53:0;;4835:2:1;10977:53:0;;;4817:21:1;4874:2;4854:18;;;4847:30;-1:-1:-1;;;4893:18:1;;;4886:49;4952:18;;10977:53:0;4633:343:1;10977:53:0;-1:-1:-1;;;;;11041:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;10827:259::o;11094:1579::-;11173:4;11206;-1:-1:-1;;;;;11229:16:0;;11221:64;;;;-1:-1:-1;;;11221:64:0;;5183:2:1;11221:64:0;;;5165:21:1;5222:2;5202:18;;;5195:30;5261:34;5241:18;;;5234:62;-1:-1:-1;;;5312:18:1;;;5305:33;5355:19;;11221:64:0;4981:399:1;11221:64:0;-1:-1:-1;;;;;11304:18:0;;11296:68;;;;-1:-1:-1;;;11296:68:0;;5587:2:1;11296:68:0;;;5569:21:1;5626:2;5606:18;;;5599:30;5665:34;5645:18;;;5638:62;-1:-1:-1;;;5716:18:1;;;5709:35;5761:19;;11296:68:0;5385:401:1;11296:68:0;11392:1;11383:6;:10;11375:64;;;;-1:-1:-1;;;11375:64:0;;5993:2:1;11375:64:0;;;5975:21:1;6032:2;6012:18;;;6005:30;6071:34;6051:18;;;6044:62;-1:-1:-1;;;6122:18:1;;;6115:39;6171:19;;11375:64:0;5791:405:1;11375:64:0;11456:29;11476:4;11482:2;11456:19;:29::i;:::-;11452:375;;;11510:18;;-1:-1:-1;;;11510:18:0;;;;11502:53;;;;-1:-1:-1;;;11502:53:0;;6403:2:1;11502:53:0;;;6385:21:1;6442:2;6422:18;;;6415:30;-1:-1:-1;;;6461:18:1;;;6454:52;6523:18;;11502:53:0;6201:346:1;11502:53:0;-1:-1:-1;;;;;11575:22:0;;;;;;:18;:22;;;;;;;;11574:23;:48;;;;-1:-1:-1;;;;;;11601:21:0;;11617:4;11601:21;;11574:48;:71;;;;-1:-1:-1;;;;;;11626:19:0;;11640:4;11626:19;;11574:71;:123;;;;11649:25;11665:4;11671:2;11649:15;:25::i;:::-;:48;;;;-1:-1:-1;11679:18:0;;;;11678:19;11649:48;11570:246;;;11752:18;;-1:-1:-1;;;;;11726:13:0;;;;;;:9;:13;;;;;;:22;;11742:6;;11726:22;:::i;:::-;:44;;11718:82;;;;-1:-1:-1;;;11718:82:0;;6884:2:1;11718:82:0;;;6866:21:1;6923:2;6903:18;;;6896:30;6962:27;6942:18;;;6935:55;7007:18;;11718:82:0;6682:349:1;11718:82:0;11843:20;11854:4;11860:2;11843:10;:20::i;:::-;:34;;;;-1:-1:-1;11868:9:0;;-1:-1:-1;;;11868:9:0;;;;11867:10;11843:34;:64;;;;;11881:26;11902:4;11881:20;:26::i;:::-;11839:313;;;11975:4;11924:30;11957:24;;;:9;:24;;;;;;5770:23;5786:7;4948:8;5770:23;:::i;:::-;12000:22;:41;11996:145;;5770:23;5786:7;4948:8;5770:23;:::i;:::-;12066:6;:24;12062:63;;;12092:33;12102:22;12092:9;:33::i;:::-;11909:243;11839:313;-1:-1:-1;;;;;12168:26:0;;;;;;:20;:26;;;;;;;;;:54;;-1:-1:-1;;;;;;12198:24:0;;;;;;:20;:24;;;;;;;;12168:54;12164:103;;;-1:-1:-1;12250:5:0;12164:103;12277:24;12305:8;12304:99;;12397:6;12304:99;;;12317:77;12338:4;12344:19;12354:4;12360:2;12344:9;:19::i;:::-;12365:20;12376:4;12382:2;12365:10;:20::i;:::-;12387:6;12317:20;:77::i;:::-;12277:126;;12414:25;12443:8;12442:56;;12466:18;;-1:-1:-1;;;12466:18:0;;;;12465:19;:32;;12496:1;12442:56;;12465:32;12487:6;12442:56;;;12455:6;12442:56;-1:-1:-1;;;;;12509:15:0;;;;;;:9;:15;;;;;:36;;12414:84;;-1:-1:-1;12414:84:0;;12509:15;;;:36;;12414:84;;12509:36;:::i;:::-;;;;-1:-1:-1;;;;;;;12556:13:0;;;;;;:9;:13;;;;;:33;;12573:16;;12556:13;:33;;12573:16;;12556:33;:::i;:::-;;;;;;;;12620:2;-1:-1:-1;;;;;12605:36:0;12614:4;-1:-1:-1;;;;;12605:36:0;;12624:16;12605:36;;;;1361:25:1;;1349:2;1334:18;;1215:177;12605:36:0;;;;;;;;-1:-1:-1;12661:4:0;;11094:1579;-1:-1:-1;;;;;;11094:1579:0:o;1202:173::-;1258:16;1277:6;;-1:-1:-1;;;;;1294:17:0;;;-1:-1:-1;;;;;;1294:17:0;;;;;;1327:40;;1277:6;;;;;;;1327:40;;1258:16;1327:40;1247:128;1202:173;:::o;7829:270::-;7907:4;750:6;;-1:-1:-1;;;;;7931:14:0;;;750:6;;7931:14;;;;:32;;-1:-1:-1;723:7:0;750:6;-1:-1:-1;;;;;7949:14:0;;;750:6;;7949:14;;7931:32;:57;;;;-1:-1:-1;723:7:0;750:6;-1:-1:-1;;;;;750:6:0;7967:10;:21;;7931:57;:86;;;;-1:-1:-1;;;;;;7993:24:0;;;;;;:19;:24;;;;;;;;7992:25;7931:86;:115;;;;-1:-1:-1;;;;;;8022:24:0;;;;;;:19;:24;;;;;;;;8021:25;7931:115;:136;;;;-1:-1:-1;;;;;;8050:17:0;;;;7931:136;:160;;;;-1:-1:-1;;;;;;8071:20:0;;8086:4;8071:20;;7931:160;7924:167;7829:270;-1:-1:-1;;;7829:270:0:o;13646:158::-;-1:-1:-1;;;;;13745:23:0;;13720:4;13745:23;;;:18;:23;;;;;;;;13744:24;:52;;;;-1:-1:-1;;;;;;;;13773:23:0;;;;;:18;:23;;;;;;;;13772:24;;13646:158::o;13486:152::-;-1:-1:-1;;;;;13579:23:0;;13555:4;13579:23;;;:18;:23;;;;;;;;:51;;;;-1:-1:-1;;;;;;;;13607:23:0;;;;;:18;:23;;;;;;;;13606:24;;13486:152::o;13143:176::-;13242:13;;13209:4;;;;-1:-1:-1;;;13242:13:0;;;;:43;;;;-1:-1:-1;;;;;;;;13260:25:0;;;;;:20;:25;;;;;;;;13259:26;;13143:176::o;8107:778::-;6064:9;:16;;-1:-1:-1;;;;6064:16:0;-1:-1:-1;;;6064:16:0;;;8211::::1;::::0;;8225:1:::1;8211:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8211:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8211:16:0::1;8187:40;;8256:4;8238;8243:1;8238:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8238:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8282:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8282:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8238:7;;8282:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8272:4;8277:1;8272:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8272:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:32;;;;8341:4:::1;8321:26;::::0;;;:11:::1;:26:::0;;;;;;8356:15:::1;::::0;;;::::1;8321:52:::0;;;;;;;;-1:-1:-1;;8321:73:0::1;8317:178;;8431:4;8411:26;::::0;;;:11:::1;:26;::::0;;;;;;;8446:15:::1;::::0;-1:-1:-1;;;;;8446:15:0::1;8411:52:::0;;;;;;;-1:-1:-1;;8411:72:0;;8317:178:::1;8511:15;::::0;:207:::1;::::0;-1:-1:-1;;;8511:207:0;;-1:-1:-1;;;;;8511:15:0;;::::1;::::0;:66:::1;::::0;:207:::1;::::0;8592:22;;8511:15:::1;::::0;8645:4;;8672::::1;::::0;8692:15:::1;::::0;8511:207:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8507:254;;8743:7;;;8507:254;8777:21;:25:::0;8773:105:::1;;8819:15;::::0;:47:::1;::::0;-1:-1:-1;;;;;8819:15:0;;::::1;::::0;8844:21:::1;8819:47:::0;::::1;;;::::0;:15:::1;:47:::0;:15;:47;8844:21;8819:15;:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8773:105;8176:709;6091:1;-1:-1:-1::0;6103:9:0;:17;;-1:-1:-1;;;;6103:17:0;;;8107:778::o;13327:151::-;-1:-1:-1;;;;;13420:23:0;;13395:4;13420:23;;;:18;:23;;;;;;;;13419:24;:51;;;;-1:-1:-1;;;;;;;;13447:23:0;;;;;:18;:23;;;;;;;;;13327:151::o;9836:641::-;9941:7;9961:11;9987:6;9983:169;;;-1:-1:-1;10016:9:0;;9983:169;;;10047:7;10043:109;;;-1:-1:-1;10077:10:0;;10043:109;;;-1:-1:-1;5007:1:0;10043:109;10166:3;10173:1;10166:8;10162:54;;10198:6;10191:13;;;;;10162:54;10226:18;5055:5;10248:12;10257:3;10248:6;:12;:::i;:::-;10247:29;;;;:::i;:::-;10226:50;-1:-1:-1;10291:14:0;;10287:146;;10340:4;10322:24;;;;:9;:24;;;;;:38;;10350:10;;10322:24;:38;;10350:10;;10322:38;:::i;:::-;;;;-1:-1:-1;;10380:41:0;;1361:25:1;;;10403:4:0;;-1:-1:-1;;;;;10380:41:0;;;;;1349:2:1;1334:18;10380:41:0;;;;;;;10287:146;10450:19;10459:10;10450:6;:19;:::i;:::-;10443:26;9836:641;-1:-1:-1;;;;;;;9836:641:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:128;3099:9;;;3120:11;;;3117:37;;;3134:18;;:::i;3165:356::-;3367:2;3349:21;;;3386:18;;;3379:30;3445:34;3440:2;3425:18;;3418:62;3512:2;3497:18;;3165:356::o;6552:125::-;6617:9;;;6638:10;;;6635:36;;;6651:18;;:::i;7036:217::-;7076:1;7102;7092:132;;7146:10;7141:3;7137:20;7134:1;7127:31;7181:4;7178:1;7171:15;7209:4;7206:1;7199:15;7092:132;-1:-1:-1;7238:9:1;;7036:217::o;7390:127::-;7451:10;7446:3;7442:20;7439:1;7432:31;7482:4;7479:1;7472:15;7506:4;7503:1;7496:15;7522:251;7592:6;7645:2;7633:9;7624:7;7620:23;7616:32;7613:52;;;7661:1;7658;7651:12;7613:52;7693:9;7687:16;7712:31;7737:5;7712:31;:::i;7778:980::-;8040:4;8088:3;8077:9;8073:19;8119:6;8108:9;8101:25;8145:2;8183:6;8178:2;8167:9;8163:18;8156:34;8226:3;8221:2;8210:9;8206:18;8199:31;8250:6;8285;8279:13;8316:6;8308;8301:22;8354:3;8343:9;8339:19;8332:26;;8393:2;8385:6;8381:15;8367:29;;8414:1;8424:195;8438:6;8435:1;8432:13;8424:195;;;8503:13;;-1:-1:-1;;;;;8499:39:1;8487:52;;8594:15;;;;8559:12;;;;8535:1;8453:9;8424:195;;;-1:-1:-1;;;;;;;8675:32:1;;;;8670:2;8655:18;;8648:60;-1:-1:-1;;;8739:3:1;8724:19;8717:35;8636:3;7778:980;-1:-1:-1;;;7778:980:1:o;8763:168::-;8836:9;;;8867;;8884:15;;;8878:22;;8864:37;8854:71;;8905:18;;:::i

Swarm Source

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