ETH Price: $2,348.90 (-0.36%)

Token

10X (10X)
 

Overview

Max Total Supply

10,000,000,000 10X

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
154,324,526.879836291659554386 10X

Value
$0.00
0xd8f1627407d6ae1f724e1066b3590d4a71d27622
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:
WEN10XTOKEN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-24
*/

// SPDX-License-Identifier: UNLICENSED

/*

X is the roman numeral for 10.

10X is the tenth wonder of crypto world!

We will conquer the crypto empire and give all you degen soldiers a 10X or more in a safe and secure project from every entry.

Veni Vidi Vici!

Portal: https://t.me/wen10XERC
Web: wen10x.com

*/

pragma solidity 0.8.17;

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

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

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract WEN10XTOKEN  is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "10X";
    string public constant symbol = "10X";
    uint8 public constant decimals = 18;
    
    uint256 public constant totalSupply = 10_000_000_000 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 50;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public _isFeeExempt;
    mapping (address => bool) public _isWalletLimitExempt;

    uint256 public totalFee = 10;
    uint256 public constant feeDenominator = 100;
    bool public tradingOpen = false;
    
    uint256 buyMultiplier = 250;
    uint256 sellMultiplier = 600;
    uint256 transferMultiplier = 250;

    address public marketingWallet;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = false;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _allowances[address(this)][address(router)] = type(uint256).max;
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        marketingWallet = 0x9862897D56a927c84248479E1ac370676aa7d89D;

        _isFeeExempt[msg.sender] = true;
        _isFeeExempt[marketingWallet] = true;

        _isWalletLimitExempt[msg.sender] = true;
        _isWalletLimitExempt[marketingWallet] = true;
        _isWalletLimitExempt[address(this)] = true;
        _isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    function tradingLive() external onlyOwner{
        tradingOpen = true;
        swapEnabled = true;
    }

    receive() external payable { }

    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 approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!_isFeeExempt[sender]){
            require(tradingOpen, "Trading not open yet");
        }

        if (!_isWalletLimitExempt[sender] && !_isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (_isFeeExempt[sender] || _isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
    }

    function setMaxWallet(uint256 maxWallPercent) external onlyOwner {
        require(maxWallPercent >= 1,"Cannot set max wallet less than 1%");
        _maxWalletToken = (totalSupply * maxWallPercent ) / 100;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        require(_denominator > 0,"Cannot be zero");
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526032620000146012600a620004bc565b62000025906402540be400620004d4565b620000319190620004ee565b600155600a60068190556007805460ff1916905560fa60088190556102586009558155600d805460ff60a01b191690556064906200007290601290620004bc565b62000083906402540be400620004d4565b6200008f9190620004ee565b600e553480156200009f57600080fd5b5060008054336001600160a01b0319918216178255600c8054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821781553083526003602090815260408085209385529281529282902060001990555481516315ab88c960e31b815291516001600160a01b039091169263ad5c464892600480820193918290030181865afa15801562000133573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000159919062000511565b6001600160a01b03908116608052600c546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d0919062000511565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000248919062000511565b600d80546001600160a01b039283166001600160a01b031991821617909155600b8054909116739862897d56a927c84248479e1ac370676aa7d89d178155336000818152600460209081526040808320805460ff199081166001908117909255865488168552828520805482168317905594845260059092528083208054851683179055935490941681528281208054831685179055308152918220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490911690911790556200032b6012600a620004bc565b6200033c906402540be400620004d4565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200037f6012600a620004bc565b62000390906402540be400620004d4565b60405190815260200160405180910390a36200053c565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003fe578160001904821115620003e257620003e2620003a7565b80851615620003f057918102915b93841c9390800290620003c2565b509250929050565b6000826200041757506001620004b6565b816200042657506000620004b6565b81600181146200043f57600281146200044a576200046a565b6001915050620004b6565b60ff8411156200045e576200045e620003a7565b50506001821b620004b6565b5060208310610133831016604e8410600b84101617156200048f575081810a620004b6565b6200049b8383620003bd565b8060001904821115620004b257620004b2620003a7565b0290505b92915050565b6000620004cd60ff84168362000406565b9392505050565b8082028115828204841417620004b657620004b6620003a7565b6000826200050c57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200052457600080fd5b81516001600160a01b0381168114620004cd57600080fd5b6080516117ad62000558600039600061103201526117ad6000f3fe6080604052600436106101d15760003560e01c80636ddd1713116100f7578063893d20e811610095578063dd62ed3e11610064578063dd62ed3e14610551578063df20fd4914610597578063f887ea40146105b7578063ffb54a99146105d757600080fd5b8063893d20e8146104f357806395d89b41146101dd578063a8aa1b3114610511578063a9059cbb1461053157600080fd5b806375f0a874116100d157806375f0a8741461045557806377b54bad1461048d57806378109e54146104ad57806384270812146104c357600080fd5b80636ddd1713146103f257806370a0823114610413578063715018a61461044057600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461036b578063571ac8b0146103925780635d0044ca146103b25780636ce46bc3146103d257600080fd5b806323b872dd146102d757806327fa7b18146102f75780632b112e49146103275780632f54bf6e1461033c57600080fd5b8063180b0d7e116101ab578063180b0d7e1461026957806318160ddd1461028c5780631da1db5e146102a15780631df4ccfc146102c157600080fd5b806306fdde03146101dd578063095ea7b31461022257806311704f521461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5061020c6040518060400160405280600381526020016206260b60eb1b81525081565b60405161021991906113a0565b60405180910390f35b34801561022e57600080fd5b5061024261023d36600461140a565b6105f1565b6040519015158152602001610219565b34801561025e57600080fd5b5061026761065e565b005b34801561027557600080fd5b5061027e606481565b604051908152602001610219565b34801561029857600080fd5b5061027e6106b3565b3480156102ad57600080fd5b506102676102bc366004611434565b6106d1565b3480156102cd57600080fd5b5061027e60065481565b3480156102e357600080fd5b506102426102f236600461144d565b61074a565b34801561030357600080fd5b50610242610312366004611489565b60046020526000908152604090205460ff1681565b34801561033357600080fd5b5061027e61080c565b34801561034857600080fd5b50610242610357366004611489565b6000546001600160a01b0391821691161490565b34801561037757600080fd5b50610380601281565b60405160ff9091168152602001610219565b34801561039e57600080fd5b506102426103ad366004611489565b610894565b3480156103be57600080fd5b506102676103cd366004611434565b6108a2565b3480156103de57600080fd5b506102676103ed3660046114a4565b610960565b3480156103fe57600080fd5b50600d5461024290600160a01b900460ff1681565b34801561041f57600080fd5b5061027e61042e366004611489565b60026020526000908152604090205481565b34801561044c57600080fd5b5061026761099b565b34801561046157600080fd5b50600b54610475906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b34801561049957600080fd5b506102426104a836600461140a565b6109d7565b3480156104b957600080fd5b5061027e60015481565b3480156104cf57600080fd5b506102426104de366004611489565b60056020526000908152604090205460ff1681565b3480156104ff57600080fd5b506000546001600160a01b0316610475565b34801561051d57600080fd5b50600d54610475906001600160a01b031681565b34801561053d57600080fd5b5061024261054c36600461140a565b610ae6565b34801561055d57600080fd5b5061027e61056c3660046114d0565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506102676105b2366004611514565b610af3565b3480156105c357600080fd5b50600c54610475906001600160a01b031681565b3480156105e357600080fd5b506007546102429060ff1681565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061064c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106915760405162461bcd60e51b815260040161068890611532565b60405180910390fd5b6007805460ff19166001179055600d805460ff60a01b1916600160a01b179055565b6106bf6012600a61164c565b6106ce906402540be40061165b565b81565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260040161068890611532565b476000606461070a848461165b565b6107149190611672565b604051909150339082156108fc029083906000818181858888f19350505050158015610744573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107f7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107d2918490610ba2565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610802848484610bdc565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061086c6012600a61164c565b61087b906402540be40061165b565b6108859190611694565b61088f9190611694565b905090565b6000610658826000196105f1565b6000546001600160a01b031633146108cc5760405162461bcd60e51b815260040161068890611532565b60018110156109285760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610688565b6064816109376012600a61164c565b610946906402540be40061165b565b610950919061165b565b61095a9190611672565b60015550565b6000546001600160a01b0316331461098a5760405162461bcd60e51b815260040161068890611532565b600991909155600891909155600a55565b6000546001600160a01b031633146109c55760405162461bcd60e51b815260040161068890611532565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a025760405162461bcd60e51b815260040161068890611532565b81600003610a75576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7291906116a7565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080591906116c0565b6000610805338484610bdc565b6000546001600160a01b03163314610b1d5760405162461bcd60e51b815260040161068890611532565b60008111610b5e5760405162461bcd60e51b815260206004820152600e60248201526d43616e6e6f74206265207a65726f60901b6044820152606401610688565b600d805460ff60a01b1916600160a01b8415150217905580610b826012600a61164c565b610b91906402540be40061165b565b610b9b9190611672565b600e555050565b60008184841115610bc65760405162461bcd60e51b815260040161068891906113a0565b506000610bd38486611694565b95945050505050565b600f5460009060ff1615610bfc57610bf5848484610e92565b9050610805565b6001600160a01b03841660009081526004602052604090205460ff16610c655760075460ff16610c655760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610688565b6001600160a01b03841660009081526005602052604090205460ff16158015610ca757506001600160a01b03831660009081526005602052604090205460ff16155b8015610cc15750600d546001600160a01b03848116911614155b15610d3b576001546001600160a01b038416600090815260026020526040902054610ced9084906116dd565b1115610d3b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610688565b610d43610f78565b15610d5057610d50610fce565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610da2918490610ba2565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610def57506001600160a01b03841660009081526004602052604090205460ff165b610e0357610dfe8584866110f0565b610e05565b825b6001600160a01b038516600090815260026020526040902054909150610e2b908261120d565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7f9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610ee3918490610ba2565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610f12908361120d565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f669086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b03163314801590610f995750600f5460ff16155b8015610fae5750600d54600160a01b900460ff165b801561088f575050600e5430600090815260026020526040902054101590565b600f805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611010576110106116f0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611064576110646116f0565b6001600160a01b039283166020918202929092010152600c54600e54600b5460405163791ac94760e01b81529284169363791ac947936110b1939260009288929116904290600401611706565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b5050600f805460ff19169055505050565b60008215806110ff5750600654155b1561110b575081610805565b600a54600d546001600160a01b039081169084160361112d5750600954611148565b600d546001600160a01b039081169086160361114857506008545b600061117d61115860648061165b565b611177846111716006548a61126c90919063ffffffff16565b9061126c565b906112ee565b905080156111f9573060009081526002602052604090205461119f908261120d565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f09085815260200190565b60405180910390a35b6112038582611330565b9695505050505050565b60008061121a83856116dd565b9050838110156108055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610688565b60008260000361127e57506000610658565b600061128a838561165b565b9050826112978583611672565b146108055760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610688565b600061080583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611372565b600061080583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ba2565b600081836113935760405162461bcd60e51b815260040161068891906113a0565b506000610bd38486611672565b600060208083528351808285015260005b818110156113cd578581018301518582016040015282016113b1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140557600080fd5b919050565b6000806040838503121561141d57600080fd5b611426836113ee565b946020939093013593505050565b60006020828403121561144657600080fd5b5035919050565b60008060006060848603121561146257600080fd5b61146b846113ee565b9250611479602085016113ee565b9150604084013590509250925092565b60006020828403121561149b57600080fd5b610805826113ee565b6000806000606084860312156114b957600080fd5b505081359360208301359350604090920135919050565b600080604083850312156114e357600080fd5b6114ec836113ee565b91506114fa602084016113ee565b90509250929050565b801515811461151157600080fd5b50565b6000806040838503121561152757600080fd5b823561142681611503565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115a357816000190482111561158957611589611552565b8085161561159657918102915b93841c939080029061156d565b509250929050565b6000826115ba57506001610658565b816115c757506000610658565b81600181146115dd57600281146115e757611603565b6001915050610658565b60ff8411156115f8576115f8611552565b50506001821b610658565b5060208310610133831016604e8410600b8410161715611626575081810a610658565b6116308383611568565b806000190482111561164457611644611552565b029392505050565b600061080560ff8416836115ab565b808202811582820484141761065857610658611552565b60008261168f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561065857610658611552565b6000602082840312156116b957600080fd5b5051919050565b6000602082840312156116d257600080fd5b815161080581611503565b8082018082111561065857610658611552565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117565784516001600160a01b031683529383019391830191600101611731565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122056a9a36455d7543a999f32e4cca7b1cd0484285d0fff02fb57e6797ae8bea89464736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80636ddd1713116100f7578063893d20e811610095578063dd62ed3e11610064578063dd62ed3e14610551578063df20fd4914610597578063f887ea40146105b7578063ffb54a99146105d757600080fd5b8063893d20e8146104f357806395d89b41146101dd578063a8aa1b3114610511578063a9059cbb1461053157600080fd5b806375f0a874116100d157806375f0a8741461045557806377b54bad1461048d57806378109e54146104ad57806384270812146104c357600080fd5b80636ddd1713146103f257806370a0823114610413578063715018a61461044057600080fd5b806323b872dd1161016f578063313ce5671161013e578063313ce5671461036b578063571ac8b0146103925780635d0044ca146103b25780636ce46bc3146103d257600080fd5b806323b872dd146102d757806327fa7b18146102f75780632b112e49146103275780632f54bf6e1461033c57600080fd5b8063180b0d7e116101ab578063180b0d7e1461026957806318160ddd1461028c5780631da1db5e146102a15780631df4ccfc146102c157600080fd5b806306fdde03146101dd578063095ea7b31461022257806311704f521461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5061020c6040518060400160405280600381526020016206260b60eb1b81525081565b60405161021991906113a0565b60405180910390f35b34801561022e57600080fd5b5061024261023d36600461140a565b6105f1565b6040519015158152602001610219565b34801561025e57600080fd5b5061026761065e565b005b34801561027557600080fd5b5061027e606481565b604051908152602001610219565b34801561029857600080fd5b5061027e6106b3565b3480156102ad57600080fd5b506102676102bc366004611434565b6106d1565b3480156102cd57600080fd5b5061027e60065481565b3480156102e357600080fd5b506102426102f236600461144d565b61074a565b34801561030357600080fd5b50610242610312366004611489565b60046020526000908152604090205460ff1681565b34801561033357600080fd5b5061027e61080c565b34801561034857600080fd5b50610242610357366004611489565b6000546001600160a01b0391821691161490565b34801561037757600080fd5b50610380601281565b60405160ff9091168152602001610219565b34801561039e57600080fd5b506102426103ad366004611489565b610894565b3480156103be57600080fd5b506102676103cd366004611434565b6108a2565b3480156103de57600080fd5b506102676103ed3660046114a4565b610960565b3480156103fe57600080fd5b50600d5461024290600160a01b900460ff1681565b34801561041f57600080fd5b5061027e61042e366004611489565b60026020526000908152604090205481565b34801561044c57600080fd5b5061026761099b565b34801561046157600080fd5b50600b54610475906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b34801561049957600080fd5b506102426104a836600461140a565b6109d7565b3480156104b957600080fd5b5061027e60015481565b3480156104cf57600080fd5b506102426104de366004611489565b60056020526000908152604090205460ff1681565b3480156104ff57600080fd5b506000546001600160a01b0316610475565b34801561051d57600080fd5b50600d54610475906001600160a01b031681565b34801561053d57600080fd5b5061024261054c36600461140a565b610ae6565b34801561055d57600080fd5b5061027e61056c3660046114d0565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105a357600080fd5b506102676105b2366004611514565b610af3565b3480156105c357600080fd5b50600c54610475906001600160a01b031681565b3480156105e357600080fd5b506007546102429060ff1681565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061064c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106915760405162461bcd60e51b815260040161068890611532565b60405180910390fd5b6007805460ff19166001179055600d805460ff60a01b1916600160a01b179055565b6106bf6012600a61164c565b6106ce906402540be40061165b565b81565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260040161068890611532565b476000606461070a848461165b565b6107149190611672565b604051909150339082156108fc029083906000818181858888f19350505050158015610744573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107f7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107d2918490610ba2565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610802848484610bdc565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5490919061086c6012600a61164c565b61087b906402540be40061165b565b6108859190611694565b61088f9190611694565b905090565b6000610658826000196105f1565b6000546001600160a01b031633146108cc5760405162461bcd60e51b815260040161068890611532565b60018110156109285760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610688565b6064816109376012600a61164c565b610946906402540be40061165b565b610950919061165b565b61095a9190611672565b60015550565b6000546001600160a01b0316331461098a5760405162461bcd60e51b815260040161068890611532565b600991909155600891909155600a55565b6000546001600160a01b031633146109c55760405162461bcd60e51b815260040161068890611532565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a025760405162461bcd60e51b815260040161068890611532565b81600003610a75576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7291906116a7565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ac2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080591906116c0565b6000610805338484610bdc565b6000546001600160a01b03163314610b1d5760405162461bcd60e51b815260040161068890611532565b60008111610b5e5760405162461bcd60e51b815260206004820152600e60248201526d43616e6e6f74206265207a65726f60901b6044820152606401610688565b600d805460ff60a01b1916600160a01b8415150217905580610b826012600a61164c565b610b91906402540be40061165b565b610b9b9190611672565b600e555050565b60008184841115610bc65760405162461bcd60e51b815260040161068891906113a0565b506000610bd38486611694565b95945050505050565b600f5460009060ff1615610bfc57610bf5848484610e92565b9050610805565b6001600160a01b03841660009081526004602052604090205460ff16610c655760075460ff16610c655760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610688565b6001600160a01b03841660009081526005602052604090205460ff16158015610ca757506001600160a01b03831660009081526005602052604090205460ff16155b8015610cc15750600d546001600160a01b03848116911614155b15610d3b576001546001600160a01b038416600090815260026020526040902054610ced9084906116dd565b1115610d3b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610688565b610d43610f78565b15610d5057610d50610fce565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610da2918490610ba2565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610def57506001600160a01b03841660009081526004602052604090205460ff165b610e0357610dfe8584866110f0565b610e05565b825b6001600160a01b038516600090815260026020526040902054909150610e2b908261120d565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7f9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610ee3918490610ba2565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610f12908361120d565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f669086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b03163314801590610f995750600f5460ff16155b8015610fae5750600d54600160a01b900460ff165b801561088f575050600e5430600090815260026020526040902054101590565b600f805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110611010576110106116f0565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611064576110646116f0565b6001600160a01b039283166020918202929092010152600c54600e54600b5460405163791ac94760e01b81529284169363791ac947936110b1939260009288929116904290600401611706565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b5050600f805460ff19169055505050565b60008215806110ff5750600654155b1561110b575081610805565b600a54600d546001600160a01b039081169084160361112d5750600954611148565b600d546001600160a01b039081169086160361114857506008545b600061117d61115860648061165b565b611177846111716006548a61126c90919063ffffffff16565b9061126c565b906112ee565b905080156111f9573060009081526002602052604090205461119f908261120d565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f09085815260200190565b60405180910390a35b6112038582611330565b9695505050505050565b60008061121a83856116dd565b9050838110156108055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610688565b60008260000361127e57506000610658565b600061128a838561165b565b9050826112978583611672565b146108055760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610688565b600061080583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611372565b600061080583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ba2565b600081836113935760405162461bcd60e51b815260040161068891906113a0565b506000610bd38486611672565b600060208083528351808285015260005b818110156113cd578581018301518582016040015282016113b1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140557600080fd5b919050565b6000806040838503121561141d57600080fd5b611426836113ee565b946020939093013593505050565b60006020828403121561144657600080fd5b5035919050565b60008060006060848603121561146257600080fd5b61146b846113ee565b9250611479602085016113ee565b9150604084013590509250925092565b60006020828403121561149b57600080fd5b610805826113ee565b6000806000606084860312156114b957600080fd5b505081359360208301359350604090920135919050565b600080604083850312156114e357600080fd5b6114ec836113ee565b91506114fa602084016113ee565b90509250929050565b801515811461151157600080fd5b50565b6000806040838503121561152757600080fd5b823561142681611503565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115a357816000190482111561158957611589611552565b8085161561159657918102915b93841c939080029061156d565b509250929050565b6000826115ba57506001610658565b816115c757506000610658565b81600181146115dd57600281146115e757611603565b6001915050610658565b60ff8411156115f8576115f8611552565b50506001821b610658565b5060208310610133831016604e8410600b8410161715611626575081810a610658565b6116308383611568565b806000190482111561164457611644611552565b029392505050565b600061080560ff8416836115ab565b808202811582820484141761065857610658611552565b60008261168f57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561065857610658611552565b6000602082840312156116b957600080fd5b5051919050565b6000602082840312156116d257600080fd5b815161080581611503565b8082018082111561065857610658611552565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117565784516001600160a01b031683529383019391830191600101611731565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122056a9a36455d7543a999f32e4cca7b1cd0484285d0fff02fb57e6797ae8bea89464736f6c63430008110033

Deployed Bytecode Sourcemap

3073:7283:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:35;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3329:35:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5503:216;;;;;;;;;;-1:-1:-1;5503:216:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5503:216:0;1004:187:1;5125:107:0;;;;;;;;;;;;;:::i;:::-;;3868:44;;;;;;;;;;;;3909:3;3868:44;;;;;1342:25:1;;;1330:2;1315:18;3868:44:0;1196:177:1;3463:67:0;;;;;;;;;;;;;:::i;8618:259::-;;;;;;;;;;-1:-1:-1;8618:259:0;;;;;:::i;:::-;;:::i;3833:28::-;;;;;;;;;;;;;;;;6021:370;;;;;;;;;;-1:-1:-1;6021:370:0;;;;;:::i;:::-;;:::i;3719:45::-;;;;;;;;;;-1:-1:-1;3719:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10216:137;;;;;;;;;;;;;:::i;2393:103::-;;;;;;;;;;-1:-1:-1;2393:103:0;;;;;:::i;:::-;2448:4;2483:5;-1:-1:-1;;;;;2472:16:0;;;2483:5;;2472:16;;2393:103;3415:35;;;;;;;;;;;;3448:2;3415:35;;;;;2259:4:1;2247:17;;;2229:36;;2217:2;2202:18;3415:35:0;2087:184:1;5727:122:0;;;;;;;;;;-1:-1:-1;5727:122:0;;;;;:::i;:::-;;:::i;9753:215::-;;;;;;;;;;-1:-1:-1;9753:215:0;;;;;:::i;:::-;;:::i;9547:198::-;;;;;;;;;;-1:-1:-1;9547:198:0;;;;;:::i;:::-;;:::i;4171:31::-;;;;;;;;;;-1:-1:-1;4171:31:0;;;;-1:-1:-1;;;4171:31:0;;;;;;3597:45;;;;;;;;;;-1:-1:-1;3597:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2504:85;;;;;;;;;;;;;:::i;4073:30::-;;;;;;;;;;-1:-1:-1;4073:30:0;;;;-1:-1:-1;;;;;4073:30:0;;;;;;-1:-1:-1;;;;;2761:32:1;;;2743:51;;2731:2;2716:18;4073:30:0;2597:203:1;8885:284:0;;;;;;;;;;-1:-1:-1;8885:284:0;;;;;:::i;:::-;;:::i;3539:49::-;;;;;;;;;;;;;;;;3771:53;;;;;;;;;;-1:-1:-1;3771:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5278:78;;;;;;;;;;-1:-1:-1;5330:7:0;5348:5;-1:-1:-1;;;;;5348:5:0;5278:78;;4143:19;;;;;;;;;;-1:-1:-1;4143:19:0;;;;-1:-1:-1;;;;;4143:19:0;;;5857:156;;;;;;;;;;-1:-1:-1;5857:156:0;;;;;:::i;:::-;;:::i;5362:133::-;;;;;;;;;;-1:-1:-1;5362:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5464:19:0;;;5446:7;5464:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5362:133;9976:232;;;;;;;;;;-1:-1:-1;9976:232:0;;;;;:::i;:::-;;:::i;4112:24::-;;;;;;;;;;-1:-1:-1;4112:24:0;;;;-1:-1:-1;;;;;4112:24:0;;;3919:31;;;;;;;;;;-1:-1:-1;3919:31:0;;;;;;;;5503:216;5607:10;5578:4;5595:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5595:32:0;;;;;;;;;;:41;;;5652:37;5578:4;;5595:32;;5652:37;;;;5630:6;1342:25:1;;1330:2;1315:18;;1196:177;5652:37:0;;;;;;;;-1:-1:-1;5707:4:0;5503:216;;;;;:::o;5125:107::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;;;;;;;;;5177:11:::1;:18:::0;;-1:-1:-1;;5177:18:0::1;5191:4;5177:18;::::0;;5206:11:::1;:18:::0;;-1:-1:-1;;;;5206:18:0::1;-1:-1:-1::0;;;5206:18:0::1;::::0;;5125:107::o;3463:67::-;3518:12;3448:2;3518;:12;:::i;:::-;3501:29;;:14;:29;:::i;:::-;3463:67;:::o;8618:259::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;8721:21:::1;8701:17;8812:3;8779:28;8791:16:::0;8721:21;8779:28:::1;:::i;:::-;8777:38;;;;:::i;:::-;8826:43;::::0;8753:62;;-1:-1:-1;8834:10:0::1;::::0;8826:43;::::1;;;::::0;8753:62;;8826:43:::1;::::0;;;8753:62;8834:10;8826:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8690:187;;8618:259:::0;:::o;6021:370::-;-1:-1:-1;;;;;6141:19:0;;6121:4;6141:19;;;:11;:19;;;;;;;;6161:10;6141:31;;;;;;;;-1:-1:-1;;6141:52:0;6138:186;;6243:69;;;;;;;;;;;-1:-1:-1;;;6243:69:0;;;;;;;;-1:-1:-1;;;;;6243:19:0;;-1:-1:-1;6243:19:0;;;:11;:19;;;;;6263:10;6243:31;;;;;;;;;;:69;;6279:6;;6243:35;:69::i;:::-;-1:-1:-1;;;;;6209:19:0;;;;;;:11;:19;;;;;;;;6229:10;6209:31;;;;;;;:103;6138:186;6343:40;6357:6;6365:9;6376:6;6343:13;:40::i;:::-;6336:47;;6021:370;;;;;;:::o;10216:137::-;10329:9;:15;;;;3205:42;10269:7;10311:15;;;;;10269:7;;10329:15;3518:12;3448:2;3518;:12;:::i;:::-;3501:29;;:14;:29;:::i;:::-;10297;;;;:::i;:::-;:47;;;;:::i;:::-;10289:56;;10216:137;:::o;5727:122::-;5782:4;5806:35;5814:7;-1:-1:-1;;5806:7:0;:35::i;9753:215::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;9855:1:::1;9837:14;:19;;9829:65;;;::::0;-1:-1:-1;;;9829:65:0;;6312:2:1;9829:65:0::1;::::0;::::1;6294:21:1::0;6351:2;6331:18;;;6324:30;6390:34;6370:18;;;6363:62;-1:-1:-1;;;6441:18:1;;;6434:32;6483:19;;9829:65:0::1;6110:398:1::0;9829:65:0::1;9957:3;9938:14:::0;3518:12:::1;3448:2;3518;:12;:::i;:::-;3501:29;::::0;:14:::1;:29;:::i;:::-;9924:28;;;;:::i;:::-;9923:37;;;;:::i;:::-;9905:15;:55:::0;-1:-1:-1;9753:215:0:o;9547:198::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;9646:14:::1;:22:::0;;;;9679:13:::1;:20:::0;;;;9710:18:::1;:27:::0;9547:198::o;2504:85::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;2579:1:::1;2563:18:::0;;-1:-1:-1;;;;;;2563:18:0::1;::::0;;2504:85::o;8885:284::-;8976:12;2483:5;;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;9004:6:::1;9014:1;9004:11:::0;9001:95:::1;;9040:44;::::0;-1:-1:-1;;;9040:44:0;;9078:4:::1;9040:44;::::0;::::1;2743:51:1::0;-1:-1:-1;;;;;9040:29:0;::::1;::::0;::::1;::::0;2716:18:1;;9040:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9031:53;;9001:95;9113:48;::::0;-1:-1:-1;;;9113:48:0;;9142:10:::1;9113:48;::::0;::::1;6876:51:1::0;6943:18;;;6936:34;;;-1:-1:-1;;;;;9113:28:0;::::1;::::0;::::1;::::0;6849:18:1;;9113:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5857:156::-:0;5937:4;5961:44;5975:10;5987:9;5998:6;5961:13;:44::i;9976:232::-;2448:4;2483:5;-1:-1:-1;;;;;2483:5:0;2352:10;2472:16;2336:38;;;;-1:-1:-1;;;2336:38:0;;;;;;;:::i;:::-;10095:1:::1;10080:12;:16;10072:42;;;::::0;-1:-1:-1;;;10072:42:0;;7433:2:1;10072:42:0::1;::::0;::::1;7415:21:1::0;7472:2;7452:18;;;7445:30;-1:-1:-1;;;7491:18:1;;;7484:44;7545:18;;10072:42:0::1;7231:338:1::0;10072:42:0::1;10125:11;:22:::0;;-1:-1:-1;;;;10125:22:0::1;-1:-1:-1::0;;;10125:22:0;::::1;;;;::::0;;10188:12;3518::::1;3448:2;3518;:12;:::i;:::-;3501:29;::::0;:14:::1;:29;:::i;:::-;10174:26;;;;:::i;:::-;10158:13;:42:::0;-1:-1:-1;;9976:232:0:o;712:192::-;798:7;834:12;826:6;;;;818:29;;;;-1:-1:-1;;;818:29:0;;;;;;;;:::i;:::-;-1:-1:-1;858:9:0;870:5;874:1;870;:5;:::i;:::-;858:17;712:192;-1:-1:-1;;;;;712:192:0:o;6399:933::-;6511:6;;6491:4;;6511:6;;6508:63;;;6527:41;6542:6;6550:9;6561:6;6527:14;:41::i;:::-;6520:48;;;;6508:63;-1:-1:-1;;;;;6587:20:0;;;;;;:12;:20;;;;;;;;6583:96;;6631:11;;;;6623:44;;;;-1:-1:-1;;;6623:44:0;;7776:2:1;6623:44:0;;;7758:21:1;7815:2;7795:18;;;7788:30;-1:-1:-1;;;7834:18:1;;;7827:50;7894:18;;6623:44:0;7574:344:1;6623:44:0;-1:-1:-1;;;;;6696:28:0;;;;;;:20;:28;;;;;;;;6695:29;:65;;;;-1:-1:-1;;;;;;6729:31:0;;;;;;:20;:31;;;;;;;;6728:32;6695:65;:86;;;;-1:-1:-1;6777:4:0;;-1:-1:-1;;;;;6764:17:0;;;6777:4;;6764:17;;6695:86;6691:205;;;6841:15;;-1:-1:-1;;;;;6807:20:0;;;;;;:9;:20;;;;;;:29;;6830:6;;6807:29;:::i;:::-;6806:50;;6798:86;;;;-1:-1:-1;;;6798:86:0;;8255:2:1;6798:86:0;;;8237:21:1;8294:2;8274:18;;;8267:30;8333:26;8313:18;;;8306:54;8377:18;;6798:86:0;8053:348:1;6798:86:0;6915:16;:14;:16::i;:::-;6912:35;;;6934:10;:8;:10::i;:::-;6979:53;;;;;;;;;;;-1:-1:-1;;;6979:53:0;;;;;;;;-1:-1:-1;;;;;6979:17:0;;-1:-1:-1;6979:17:0;;;:9;:17;;;;;;;;:53;;7001:6;;6979:21;:53::i;:::-;-1:-1:-1;;;;;6959:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7071:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;7095:23:0;;;;;;:12;:23;;;;;;;;7071:47;7070:95;;7131:34;7139:6;7147;7155:9;7131:7;:34::i;:::-;7070:95;;;7122:6;7070:95;-1:-1:-1;;;;;7201:20:0;;;;;;:9;:20;;;;;;7045:120;;-1:-1:-1;7201:40:0;;7045:120;7201:24;:40::i;:::-;-1:-1:-1;;;;;7178:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7259:43;;;;;;;;;;7287:14;1342:25:1;;1330:2;1315:18;;1196:177;7259:43:0;;;;;;;;-1:-1:-1;7320:4:0;;6399:933;-1:-1:-1;;;;6399:933:0:o;7344:330::-;7474:53;;;;;;;;;;;-1:-1:-1;;;7474:53:0;;;;;;;;-1:-1:-1;;;;;7474:17:0;;7437:4;7474:17;;;:9;:17;;;;;;;:53;;7496:6;;7474:21;:53::i;:::-;-1:-1:-1;;;;;7454:17:0;;;;;;;:9;:17;;;;;;:73;;;;7561:20;;;;;;;:32;;7586:6;7561:24;:32::i;:::-;-1:-1:-1;;;;;7538:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7609:35;;;;;;;;;;7637:6;1342:25:1;;1330:2;1315:18;;1196:177;7609:35:0;;;;;;;;-1:-1:-1;7662:4:0;7344:330;;;;;:::o;8413:197::-;8500:4;;8462;;-1:-1:-1;;;;;8500:4:0;8486:10;:18;;;;:38;;-1:-1:-1;8518:6:0;;;;8517:7;8486:38;:62;;;;-1:-1:-1;8537:11:0;;-1:-1:-1;;;8537:11:0;;;;8486:62;:116;;;;-1:-1:-1;;8589:13:0;;8579:4;8561:24;;;;:9;:24;;;;;;:41;;;8413:197::o;9177:362::-;4297:6;:13;;-1:-1:-1;;4297:13:0;4306:4;4297:13;;;9252:16:::1;::::0;;9266:1:::1;9252:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9252:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9252:16:0::1;9228:40;;9297:4;9279;9284:1;9279:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9279:23:0::1;;;-1:-1:-1::0;;;;;9279:23:0::1;;;::::0;::::1;9323:4;9313;9318:1;9313:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9313:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9340:6:::1;::::0;9412:13:::1;::::0;9475:15:::1;::::0;9340:191:::1;::::0;-1:-1:-1;;;9340:191:0;;:6;;::::1;::::0;:57:::1;::::0;:191:::1;::::0;9412:13;9340:6:::1;::::0;9456:4;;9475:15;::::1;::::0;9505::::1;::::0;9340:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4315:6:0;:14;;-1:-1:-1;;4315:14:0;;;-1:-1:-1;;;9177:362:0:o;7682:723::-;7768:7;7791:11;;;:28;;-1:-1:-1;7806:8:0;;:13;7791:28;7788:72;;;-1:-1:-1;7842:6:0;7835:13;;7788:72;7893:18;;7940:4;;-1:-1:-1;;;;;7940:4:0;;;7927:17;;;;7924:154;;-1:-1:-1;7974:14:0;;7924:154;;;8019:4;;-1:-1:-1;;;;;8019:4:0;;;8009:14;;;;8006:72;;-1:-1:-1;8053:13:0;;8006:72;8090:17;8110:62;8151:20;3909:3;;8151:20;:::i;:::-;8110:36;8135:10;8110:20;8121:8;;8110:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;8090:82;-1:-1:-1;8188:13:0;;8185:172;;8262:4;8244:24;;;;:9;:24;;;;;;:39;;8273:9;8244:28;:39::i;:::-;8235:4;8217:24;;;;:9;:24;;;;;;;:66;;;;8303:42;;-1:-1:-1;;;;;8303:42:0;;;;;;;8335:9;1342:25:1;;1330:2;1315:18;;1196:177;8303:42:0;;;;;;;;8185:172;8376:21;:6;8387:9;8376:10;:21::i;:::-;8369:28;7682:723;-1:-1:-1;;;;;;7682:723:0:o;383:181::-;441:7;;473:5;477:1;473;:5;:::i;:::-;461:17;;502:1;497;:6;;489:46;;;;-1:-1:-1;;;489:46:0;;9857:2:1;489:46:0;;;9839:21:1;9896:2;9876:18;;;9869:30;9935:29;9915:18;;;9908:57;9982:18;;489:46:0;9655:351:1;910:250:0;968:7;992:1;997;992:6;988:47;;-1:-1:-1;1022:1:0;1015:8;;988:47;1047:9;1059:5;1063:1;1059;:5;:::i;:::-;1047:17;-1:-1:-1;1092:1:0;1083:5;1087:1;1047:17;1083:5;:::i;:::-;:10;1075:56;;;;-1:-1:-1;;;1075:56:0;;10213:2:1;1075:56:0;;;10195:21:1;10252:2;10232:18;;;10225:30;10291:34;10271:18;;;10264:62;-1:-1:-1;;;10342:18:1;;;10335:31;10383:19;;1075:56:0;10011:397:1;1166:132:0;1224:7;1251:39;1255:1;1258;1251:39;;;;;;;;;;;;;;;;;:3;:39::i;570:136::-;628:7;655:43;659:1;662;655:43;;;;;;;;;;;;;;;;;:3;:43::i;1304:189::-;1390:7;1425:12;1418:5;1410:28;;;;-1:-1:-1;;;1410:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1449:9:0;1461:5;1465:1;1461;:5;:::i;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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:180::-;1437:6;1490:2;1478:9;1469:7;1465:23;1461:32;1458:52;;;1506:1;1503;1496:12;1458:52;-1:-1:-1;1529:23:1;;1378:180;-1:-1:-1;1378:180:1:o;1563:328::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1748:29;1767:9;1748:29;:::i;:::-;1738:39;;1796:38;1830:2;1819:9;1815:18;1796:38;:::i;:::-;1786:48;;1881:2;1870:9;1866:18;1853:32;1843:42;;1563:328;;;;;:::o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2276:316::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;-1:-1:-1;;2461:23:1;;;2531:2;2516:18;;2503:32;;-1:-1:-1;2582:2:1;2567:18;;;2554:32;;2276:316;-1:-1:-1;2276:316:1:o;2805:260::-;2873:6;2881;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2973:29;2992:9;2973:29;:::i;:::-;2963:39;;3021:38;3055:2;3044:9;3040:18;3021:38;:::i;:::-;3011:48;;2805:260;;;;;:::o;3070:118::-;3156:5;3149:13;3142:21;3135:5;3132:32;3122:60;;3178:1;3175;3168:12;3122:60;3070:118;:::o;3193:309::-;3258:6;3266;3319:2;3307:9;3298:7;3294:23;3290:32;3287:52;;;3335:1;3332;3325:12;3287:52;3374:9;3361:23;3393:28;3415:5;3393:28;:::i;3733:329::-;3935:2;3917:21;;;3974:1;3954:18;;;3947:29;-1:-1:-1;;;4007:2:1;3992:18;;3985:36;4053:2;4038:18;;3733:329::o;4067:127::-;4128:10;4123:3;4119:20;4116:1;4109:31;4159:4;4156:1;4149:15;4183:4;4180:1;4173:15;4199:422;4288:1;4331:5;4288:1;4345:270;4366:7;4356:8;4353:21;4345:270;;;4425:4;4421:1;4417:6;4413:17;4407:4;4404:27;4401:53;;;4434:18;;:::i;:::-;4484:7;4474:8;4470:22;4467:55;;;4504:16;;;;4467:55;4583:22;;;;4543:15;;;;4345:270;;;4349:3;4199:422;;;;;:::o;4626:806::-;4675:5;4705:8;4695:80;;-1:-1:-1;4746:1:1;4760:5;;4695:80;4794:4;4784:76;;-1:-1:-1;4831:1:1;4845:5;;4784:76;4876:4;4894:1;4889:59;;;;4962:1;4957:130;;;;4869:218;;4889:59;4919:1;4910:10;;4933:5;;;4957:130;4994:3;4984:8;4981:17;4978:43;;;5001:18;;:::i;:::-;-1:-1:-1;;5057:1:1;5043:16;;5072:5;;4869:218;;5171:2;5161:8;5158:16;5152:3;5146:4;5143:13;5139:36;5133:2;5123:8;5120:16;5115:2;5109:4;5106:12;5102:35;5099:77;5096:159;;;-1:-1:-1;5208:19:1;;;5240:5;;5096:159;5287:34;5312:8;5306:4;5287:34;:::i;:::-;5357:6;5353:1;5349:6;5345:19;5336:7;5333:32;5330:58;;;5368:18;;:::i;:::-;5406:20;;4626:806;-1:-1:-1;;;4626:806:1:o;5437:140::-;5495:5;5524:47;5565:4;5555:8;5551:19;5545:4;5524:47;:::i;5582:168::-;5655:9;;;5686;;5703:15;;;5697:22;;5683:37;5673:71;;5724:18;;:::i;5755:217::-;5795:1;5821;5811:132;;5865:10;5860:3;5856:20;5853:1;5846:31;5900:4;5897:1;5890:15;5928:4;5925:1;5918:15;5811:132;-1:-1:-1;5957:9:1;;5755:217::o;5977:128::-;6044:9;;;6065:11;;;6062:37;;;6079:18;;:::i;6513:184::-;6583:6;6636:2;6624:9;6615:7;6611:23;6607:32;6604:52;;;6652:1;6649;6642:12;6604:52;-1:-1:-1;6675:16:1;;6513:184;-1:-1:-1;6513:184:1:o;6981:245::-;7048:6;7101:2;7089:9;7080:7;7076:23;7072:32;7069:52;;;7117:1;7114;7107:12;7069:52;7149:9;7143:16;7168:28;7190:5;7168:28;:::i;7923:125::-;7988:9;;;8009:10;;;8006:36;;;8022:18;;:::i;8538:127::-;8599:10;8594:3;8590:20;8587:1;8580:31;8630:4;8627:1;8620:15;8654:4;8651:1;8644:15;8670:980;8932:4;8980:3;8969:9;8965:19;9011:6;9000:9;8993:25;9037:2;9075:6;9070:2;9059:9;9055:18;9048:34;9118:3;9113:2;9102:9;9098:18;9091:31;9142:6;9177;9171:13;9208:6;9200;9193:22;9246:3;9235:9;9231:19;9224:26;;9285:2;9277:6;9273:15;9259:29;;9306:1;9316:195;9330:6;9327:1;9324:13;9316:195;;;9395:13;;-1:-1:-1;;;;;9391:39:1;9379:52;;9486:15;;;;9451:12;;;;9427:1;9345:9;9316:195;;;-1:-1:-1;;;;;;;9567:32:1;;;;9562:2;9547:18;;9540:60;-1:-1:-1;;;9631:3:1;9616:19;9609:35;9528:3;8670:980;-1:-1:-1;;;8670:980:1:o

Swarm Source

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