ETH Price: $3,887.41 (-0.66%)

Token

ERC-20: Core Finance (CORE)
 

Overview

Max Total Supply

10,000,000 CORE

Holders

80

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,436.473709305023104211 CORE

Value
$0.00
0xccfd9b4dac0e3ea0ece09d01e00c68dbcebe6bb8
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:
CORE

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-23
*/

/**

WEB: https://corefinance.markets
TG: https://t.me/core_finance
X: https://twitter.com/corefinanceeth

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}


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

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract CORE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Core Finance";
    string private constant _symbol = "CORE";
    uint256 private constant _totalSupply = 10_000_000 * 10**18;
    uint256 public maxWalletAmount = 170_000 * 10**18;
    uint256 public swapTokensAmount = 72 * 10**18; 
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address uniswapV2Pair;
    address immutable WETH;
 
    address payable public coreWallet;
    uint256 public buyCoreFee;
    uint256 public sellCoreFee;
    uint8 private onSwapping;
        
    bool public tradingOpened = false;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _exceptFromFee;
    mapping(address => bool) private _exceptFromTx;
    mapping(address => bool) private _exceptFromWallet;


    constructor() {
        uniswapV2Router = IUniswapV2Router02( 
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();

        buyCoreFee = 21;
        sellCoreFee = 21;

        coreWallet = payable(0x638A887507a2769b14a7640f6fC4e219ef1243B5);
        _balance[msg.sender] = _totalSupply;
        _exceptFromTx[coreWallet] = true;
        _exceptFromFee[msg.sender] = true;
        _exceptFromFee[address(this)] = true;
        _exceptFromFee[address(uniswapV2Router)] = true;
        _exceptFromWallet[coreWallet] = true;
        _exceptFromWallet[msg.sender] = true;
        _exceptFromWallet[address(this)] = true;
        _exceptFromWallet[address(uniswapV2Router)] = true;

        _allowances[address(this)][address(uniswapV2Router)] = type(uint256).max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }
    
    function name() public pure returns (string memory) {
        return _name;
    }

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

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

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function addLP() external onlyOwner {
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        uint256 ethToAdd = address(this).balance;
        uint256 tokensToAdd = balanceOf(address(this));

        uniswapV2Router.addLiquidityETH{value: ethToAdd}(
            address(this),
            tokensToAdd,
            0,
            0,
            owner(),
            block.timestamp
        );
    }
    
    function openTrading() external onlyOwner {
        tradingOpened = true;
    }

    function setCoreFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        buyCoreFee = _buyFee;
        sellCoreFee = _sellFee;
        require(buyCoreFee <= 5);
        require(sellCoreFee <= 5);
    }

    function removeWalletLimit() external onlyOwner {
        maxWalletAmount = _totalSupply;
    }

    function sendEthToAddress(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }    
    
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");        
        require(tradingOpened || _exceptFromFee[from] || _exceptFromFee[to], "Not Enabled");
        
        bool takeFee;
        uint256 _tax;
        if (_exceptFromFee[from] || _exceptFromFee[to]) {
            _tax = 0;
        } else {

            if (onSwapping == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyCoreFee;
                if (!_exceptFromWallet[from] || !_exceptFromWallet[to]) {
                    require(balanceOf(to).add(amount) <= maxWalletAmount);
                }
            } else if (to == uniswapV2Pair) {
                if (_exceptFromTx[from]) takeFee = true;
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > swapTokensAmount * 1200) tokensToSwap = swapTokensAmount * 1200;
                if (tokensToSwap > swapTokensAmount && amount > swapTokensAmount && onSwapping == 0) {
                    onSwapping = 1;

                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );

                    uint256 amountReceived = address(this).balance;
                    sendEthToAddress(coreWallet, amountReceived);

                    onSwapping = 0;
                }
                _tax = sellCoreFee;

            } else {
                _tax = 0;
            }
        }
        

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;
            if(takeFee) amount -= amount;
            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

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

    receive() external payable {}
}

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":"addLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCoreFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coreWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellCoreFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setCoreFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingOpened","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526923ffb7ed6565d64000006001556803e7336287142000006002556007805461ff0019169055348015610035575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156100c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100eb919061026a565b6001600160a01b0390811660a05260156005819055600655600480546001600160a01b03191673638a887507a2769b14a7640f6fc4e219ef1243b5178155335f8181526008602090815260408083206a084595161401484a0000009055845486168352600b8252808320805460ff199081166001908117909255858552600a845282852080548216831790553080865283862080548316841790556080518916808752848720805484168517905597549098168552600c845282852080548216831790558585528285208054821683179055878552828520805482168317905586855282852080549091169091179055948252600980825285832085845282528583205f19908190559383528152848220938252929092529190205561020e3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a00000060405161025d91815260200190565b60405180910390a3610297565b5f6020828403121561027a575f80fd5b81516001600160a01b0381168114610290575f80fd5b9392505050565b60805160a05161129c6102cd5f395f81816106110152610c8201525f8181610576015281816106b90152610cd9015261129c5ff3fe608060405260043610610134575f3560e01c80637daa930a116100a8578063b144896f1161006d578063b144896f14610379578063bc37e1a31461038d578063c9567bf9146103a1578063dd62ed3e146103b5578063f2fde38b146103f9578063f88f422414610418575f80fd5b80637daa930a146102df5780638da5cb5b146102fd57806395d89b4114610319578063a9059cbb14610345578063aa4bde2814610364575f80fd5b806338873263116100f9578063388732631461021557806350ac36d6146102365780635f1c31821461024b57806362ab05e71461026057806370a0823114610297578063715018a6146102cb575f80fd5b806306fdde031461013f578063095ea7b31461018557806318160ddd146101b457806323b872dd146101db578063313ce567146101fa575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600c81526b436f72652046696e616e636560a01b60208201525b60405161017c9190610ff4565b60405180910390f35b348015610190575f80fd5b506101a461019f366004611053565b61042d565b604051901515815260200161017c565b3480156101bf575f80fd5b506a084595161401484a0000005b60405190815260200161017c565b3480156101e6575f80fd5b506101a46101f536600461107d565b610443565b348015610205575f80fd5b506040516012815260200161017c565b348015610220575f80fd5b5061023461022f3660046110bb565b610493565b005b348015610241575f80fd5b506101cd60065481565b348015610256575f80fd5b506101cd60025481565b34801561026b575f80fd5b5060045461027f906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b3480156102a2575f80fd5b506101cd6102b13660046110db565b6001600160a01b03165f9081526008602052604090205490565b3480156102d6575f80fd5b506102346104d0565b3480156102ea575f80fd5b506007546101a490610100900460ff1681565b348015610308575f80fd5b505f546001600160a01b031661027f565b348015610324575f80fd5b50604080518082019091526004815263434f524560e01b602082015261016f565b348015610350575f80fd5b506101a461035f366004611053565b61052d565b34801561036f575f80fd5b506101cd60015481565b348015610384575f80fd5b50610234610539565b348015610398575f80fd5b5061023461055f565b3480156103ac575f80fd5b5061023461078e565b3480156103c0575f80fd5b506101cd6103cf3660046110f6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610404575f80fd5b506102346104133660046110db565b6107b4565b348015610423575f80fd5b506101cd60055481565b5f6104393384846107d5565b5060015b92915050565b5f61044f8484846108fd565b6001600160a01b0384165f90815260096020908152604080832033808552925290912054610489918691610484908690611141565b6107d5565b5060019392505050565b5f546001600160a01b031633146104a8575f80fd5b600582815560068290558211156104bd575f80fd5b600560065411156104cc575f80fd5b5050565b5f546001600160a01b031633146104e5575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6104393384846108fd565b5f546001600160a01b0316331461054e575f80fd5b6a084595161401484a000000600155565b5f546001600160a01b03163314610574575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f49190611154565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303815f875af1158015610661573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106859190611154565b600380546001600160a01b0319166001600160a01b0392909216919091179055305f908152600860205260408120544791507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198330845f806106fc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610762573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610787919061116f565b5050505050565b5f546001600160a01b031633146107a3575f80fd5b6007805461ff001916610100179055565b5f546001600160a01b031633146107c9575f80fd5b6107d281610eec565b50565b6001600160a01b03831661083c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b03821661089d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610833565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109615760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610833565b600754610100900460ff168061098e57506001600160a01b0383165f908152600a602052604090205460ff165b806109b057506001600160a01b0382165f908152600a602052604090205460ff165b6109ea5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610833565b6001600160a01b0383165f908152600a6020526040812054819060ff1680610a2957506001600160a01b0384165f908152600a602052604090205460ff165b15610a3557505f610d77565b60075460ff16600103610af0576001600160a01b0385165f9081526008602052604081208054859290610a69908490611141565b90915550506001600160a01b0384165f9081526008602052604081208054859290610a9590849061119a565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ae191815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610b8857506005546001600160a01b0385165f908152600c602052604090205460ff161580610b4957506001600160a01b0384165f908152600c602052604090205460ff16155b15610b8357600154610b7984610b73876001600160a01b03165f9081526008602052604090205490565b90610f57565b1115610b83575f80fd5b610d77565b6003546001600160a01b0390811690851603610d74576001600160a01b0385165f908152600b602052604090205460ff1615610bc357600191505b305f90815260086020526040902054600254610be1906104b06111ad565b811115610bfa57600254610bf7906104b06111ad565b90505b60025481118015610c0c575060025484115b8015610c1b575060075460ff16155b15610d6a576007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c6057610c606111c4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610cb457610cb46111c4565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610d189085905f908690309042906004016111d8565b5f604051808303815f87803b158015610d2f575f80fd5b505af1158015610d41573d5f803e3d5ffd5b5050600454479250610d5d91506001600160a01b031682610fbc565b50506007805460ff191690555b5050600654610d77565b505f5b8015610ec5575f6064610d8a83866111ad565b610d949190611247565b90505f610da18286611141565b90508315610db657610db38580611141565b94505b6001600160a01b0387165f9081526008602052604081208054879290610ddd908490611141565b90915550506001600160a01b0386165f9081526008602052604081208054839290610e0990849061119a565b9091555050305f9081526008602052604081208054849290610e2c90849061119a565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eb691815260200190565b60405180910390a35050610787565b6001600160a01b0385165f9081526008602052604081208054859290610a69908490611141565b6001600160a01b038116610efe575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610f63838561119a565b905083811015610fb55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610833565b9392505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610fef573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b8181101561101f57858101830151858201604001528201611003565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107d2575f80fd5b5f8060408385031215611064575f80fd5b823561106f8161103f565b946020939093013593505050565b5f805f6060848603121561108f575f80fd5b833561109a8161103f565b925060208401356110aa8161103f565b929592945050506040919091013590565b5f80604083850312156110cc575f80fd5b50508035926020909101359150565b5f602082840312156110eb575f80fd5b8135610fb58161103f565b5f8060408385031215611107575f80fd5b82356111128161103f565b915060208301356111228161103f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561043d5761043d61112d565b5f60208284031215611164575f80fd5b8151610fb58161103f565b5f805f60608486031215611181575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043d5761043d61112d565b808202811582820484141761043d5761043d61112d565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112265784516001600160a01b031683529383019391830191600101611201565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261126157634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e8a63fbea16a4e86d47efb01db4434f2c577cff96795569c2670f6cb9b23bf0e64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637daa930a116100a8578063b144896f1161006d578063b144896f14610379578063bc37e1a31461038d578063c9567bf9146103a1578063dd62ed3e146103b5578063f2fde38b146103f9578063f88f422414610418575f80fd5b80637daa930a146102df5780638da5cb5b146102fd57806395d89b4114610319578063a9059cbb14610345578063aa4bde2814610364575f80fd5b806338873263116100f9578063388732631461021557806350ac36d6146102365780635f1c31821461024b57806362ab05e71461026057806370a0823114610297578063715018a6146102cb575f80fd5b806306fdde031461013f578063095ea7b31461018557806318160ddd146101b457806323b872dd146101db578063313ce567146101fa575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600c81526b436f72652046696e616e636560a01b60208201525b60405161017c9190610ff4565b60405180910390f35b348015610190575f80fd5b506101a461019f366004611053565b61042d565b604051901515815260200161017c565b3480156101bf575f80fd5b506a084595161401484a0000005b60405190815260200161017c565b3480156101e6575f80fd5b506101a46101f536600461107d565b610443565b348015610205575f80fd5b506040516012815260200161017c565b348015610220575f80fd5b5061023461022f3660046110bb565b610493565b005b348015610241575f80fd5b506101cd60065481565b348015610256575f80fd5b506101cd60025481565b34801561026b575f80fd5b5060045461027f906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b3480156102a2575f80fd5b506101cd6102b13660046110db565b6001600160a01b03165f9081526008602052604090205490565b3480156102d6575f80fd5b506102346104d0565b3480156102ea575f80fd5b506007546101a490610100900460ff1681565b348015610308575f80fd5b505f546001600160a01b031661027f565b348015610324575f80fd5b50604080518082019091526004815263434f524560e01b602082015261016f565b348015610350575f80fd5b506101a461035f366004611053565b61052d565b34801561036f575f80fd5b506101cd60015481565b348015610384575f80fd5b50610234610539565b348015610398575f80fd5b5061023461055f565b3480156103ac575f80fd5b5061023461078e565b3480156103c0575f80fd5b506101cd6103cf3660046110f6565b6001600160a01b039182165f90815260096020908152604080832093909416825291909152205490565b348015610404575f80fd5b506102346104133660046110db565b6107b4565b348015610423575f80fd5b506101cd60055481565b5f6104393384846107d5565b5060015b92915050565b5f61044f8484846108fd565b6001600160a01b0384165f90815260096020908152604080832033808552925290912054610489918691610484908690611141565b6107d5565b5060019392505050565b5f546001600160a01b031633146104a8575f80fd5b600582815560068290558211156104bd575f80fd5b600560065411156104cc575f80fd5b5050565b5f546001600160a01b031633146104e5575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f6104393384846108fd565b5f546001600160a01b0316331461054e575f80fd5b6a084595161401484a000000600155565b5f546001600160a01b03163314610574575f80fd5b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f49190611154565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303815f875af1158015610661573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106859190611154565b600380546001600160a01b0319166001600160a01b0392909216919091179055305f908152600860205260408120544791507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7198330845f806106fc5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610762573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610787919061116f565b5050505050565b5f546001600160a01b031633146107a3575f80fd5b6007805461ff001916610100179055565b5f546001600160a01b031633146107c9575f80fd5b6107d281610eec565b50565b6001600160a01b03831661083c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b03821661089d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610833565b6001600160a01b038381165f8181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109615760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610833565b600754610100900460ff168061098e57506001600160a01b0383165f908152600a602052604090205460ff165b806109b057506001600160a01b0382165f908152600a602052604090205460ff165b6109ea5760405162461bcd60e51b815260206004820152600b60248201526a139bdd08115b98589b195960aa1b6044820152606401610833565b6001600160a01b0383165f908152600a6020526040812054819060ff1680610a2957506001600160a01b0384165f908152600a602052604090205460ff165b15610a3557505f610d77565b60075460ff16600103610af0576001600160a01b0385165f9081526008602052604081208054859290610a69908490611141565b90915550506001600160a01b0384165f9081526008602052604081208054859290610a9590849061119a565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ae191815260200190565b60405180910390a35050505050565b6003546001600160a01b0390811690861603610b8857506005546001600160a01b0385165f908152600c602052604090205460ff161580610b4957506001600160a01b0384165f908152600c602052604090205460ff16155b15610b8357600154610b7984610b73876001600160a01b03165f9081526008602052604090205490565b90610f57565b1115610b83575f80fd5b610d77565b6003546001600160a01b0390811690851603610d74576001600160a01b0385165f908152600b602052604090205460ff1615610bc357600191505b305f90815260086020526040902054600254610be1906104b06111ad565b811115610bfa57600254610bf7906104b06111ad565b90505b60025481118015610c0c575060025484115b8015610c1b575060075460ff16155b15610d6a576007805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610c6057610c606111c4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610cb457610cb46111c4565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610d189085905f908690309042906004016111d8565b5f604051808303815f87803b158015610d2f575f80fd5b505af1158015610d41573d5f803e3d5ffd5b5050600454479250610d5d91506001600160a01b031682610fbc565b50506007805460ff191690555b5050600654610d77565b505f5b8015610ec5575f6064610d8a83866111ad565b610d949190611247565b90505f610da18286611141565b90508315610db657610db38580611141565b94505b6001600160a01b0387165f9081526008602052604081208054879290610ddd908490611141565b90915550506001600160a01b0386165f9081526008602052604081208054839290610e0990849061119a565b9091555050305f9081526008602052604081208054849290610e2c90849061119a565b909155505060405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610eb691815260200190565b60405180910390a35050610787565b6001600160a01b0385165f9081526008602052604081208054859290610a69908490611141565b6001600160a01b038116610efe575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610f63838561119a565b905083811015610fb55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610833565b9392505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610fef573d5f803e3d5ffd5b505050565b5f6020808352835180828501525f5b8181101561101f57858101830151858201604001528201611003565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107d2575f80fd5b5f8060408385031215611064575f80fd5b823561106f8161103f565b946020939093013593505050565b5f805f6060848603121561108f575f80fd5b833561109a8161103f565b925060208401356110aa8161103f565b929592945050506040919091013590565b5f80604083850312156110cc575f80fd5b50508035926020909101359150565b5f602082840312156110eb575f80fd5b8135610fb58161103f565b5f8060408385031215611107575f80fd5b82356111128161103f565b915060208301356111228161103f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561043d5761043d61112d565b5f60208284031215611164575f80fd5b8151610fb58161103f565b5f805f60608486031215611181575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561043d5761043d61112d565b808202811582820484141761043d5761043d61112d565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156112265784516001600160a01b031683529383019391830191600101611201565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261126157634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e8a63fbea16a4e86d47efb01db4434f2c577cff96795569c2670f6cb9b23bf0e64736f6c63430008140033

Deployed Bytecode Sourcemap

4152:7817:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:83;;;;;;;;;;-1:-1:-1;6219:5:0;;;;;;;;;;;;-1:-1:-1;;;6219:5:0;;;;6149:83;;;;;;;:::i;:::-;;;;;;;;7059:193;;;;;;;;;;-1:-1:-1;7059:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7059:193:0;1023:187:1;6426:100:0;;;;;;;;;;-1:-1:-1;4380:19:0;6426:100;;;1361:25:1;;;1349:2;1334:18;6426:100:0;1215:177:1;7260:350:0;;;;;;;;;;-1:-1:-1;7260:350:0;;;;;:::i;:::-;;:::i;6335:83::-;;;;;;;;;;-1:-1:-1;6335:83:0;;4550:2;2000:36:1;;1988:2;1973:18;6335:83:0;1858:184:1;8600:218:0;;;;;;;;;;-1:-1:-1;8600:218:0;;;;;:::i;:::-;;:::i;:::-;;4744:26;;;;;;;;;;;;;;;;4462:45;;;;;;;;;;;;;;;;4672:33;;;;;;;;;;-1:-1:-1;4672:33:0;;;;-1:-1:-1;;;;;4672:33:0;;;;;;-1:-1:-1;;;;;2480:32:1;;;2462:51;;2450:2;2435:18;4672:33:0;2300:219:1;6534:118:0;;;;;;;;;;-1:-1:-1;6534:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6627:17:0;6600:7;6627:17;;;:8;:17;;;;;;;6534:118;1650:140;;;;;;;;;;;;;:::i;4818:33::-;;;;;;;;;;-1:-1:-1;4818:33:0;;;;;;;;;;;1384:79;;;;;;;;;;-1:-1:-1;1422:7:0;1449:6;-1:-1:-1;;;;;1449:6:0;1384:79;;6240:87;;;;;;;;;;-1:-1:-1;6312:7:0;;;;;;;;;;;;-1:-1:-1;;;6312:7:0;;;;6240:87;;6660:199;;;;;;;;;;-1:-1:-1;6660:199:0;;;;;:::i;:::-;;:::i;4406:49::-;;;;;;;;;;;;;;;;8826:97;;;;;;;;;;;;;:::i;7995:504::-;;;;;;;;;;;;;:::i;8511:81::-;;;;;;;;;;;;;:::i;6867:184::-;;;;;;;;;;-1:-1:-1;6867:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7016:18:0;;;6984:7;7016:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6867:184;1798:109;;;;;;;;;;-1:-1:-1;1798:109:0;;;;;:::i;:::-;;:::i;4712:25::-;;;;;;;;;;;;;;;;7059:193;7161:4;7183:39;293:10;7206:7;7215:6;7183:8;:39::i;:::-;-1:-1:-1;7240:4:0;7059:193;;;;;:::o;7260:350::-;7392:4;7409:36;7419:6;7427:9;7438:6;7409:9;:36::i;:::-;-1:-1:-1;;;;;7527:19:0;;;;;;:11;:19;;;;;;;;293:10;7527:33;;;;;;;;;7456:124;;7479:6;;7527:42;;7563:6;;7527:42;:::i;:::-;7456:8;:124::i;:::-;-1:-1:-1;7598:4:0;7260:350;;;;;:::o;8600:218::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;8686:10:::1;:20:::0;;;8717:11:::1;:22:::0;;;8758:15;::::1;;8750:24;;;::::0;::::1;;8808:1;8793:11;;:16;;8785:25;;;::::0;::::1;;8600:218:::0;;:::o;1650:140::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;1749:1:::1;1733:6:::0;;1712:40:::1;::::0;-1:-1:-1;;;;;1733:6:0;;::::1;::::0;1712:40:::1;::::0;1749:1;;1712:40:::1;1780:1;1763:19:::0;;-1:-1:-1;;;;;;1763:19:0::1;::::0;;1650:140::o;6660:199::-;6765:4;6787:42;293:10;6811:9;6822:6;6787:9;:42::i;8826:97::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;4380:19:::1;8885:15;:30:::0;8826:97::o;7995:504::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;8076:15:::1;-1:-1:-1::0;;;;;8076:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8058:113;::::0;-1:-1:-1;;;8058:113:0;;8136:4:::1;8058:113;::::0;::::1;4110:34:1::0;-1:-1:-1;;;;;8156:4:0::1;4180:15:1::0;;4160:18;;;4153:43;8058:55:0;;;::::1;::::0;::::1;::::0;4045:18:1;;8058:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8042:13;:129:::0;;-1:-1:-1;;;;;;8042:129:0::1;-1:-1:-1::0;;;;;8042:129:0;;;::::1;::::0;;;::::1;::::0;;8275:4:::1;-1:-1:-1::0;6627:17:0;;;:8;:17;;;;;;8203:21:::1;::::0;8235:46:::1;8294:15;-1:-1:-1::0;;;;;8294:31:0::1;;8333:8;8365:4;8385:11;8411:1;8427::::0;8443:7:::1;1422::::0;1449:6;-1:-1:-1;;;;;1449:6:0;;1384:79;8443:7:::1;8294:197;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8294:197:0;;;-1:-1:-1;;;;;4566:15:1;;;8294:197:0::1;::::0;::::1;4548:34:1::0;4598:18;;;4591:34;;;;4641:18;;;4634:34;;;;4684:18;;;4677:34;4748:15;;;4727:19;;;4720:44;8465:15:0::1;4780:19:1::0;;;4773:35;4482:19;;8294:197:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8031:468;;7995:504::o:0;8511:81::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;8564:13:::1;:20:::0;;-1:-1:-1;;8564:20:0::1;;;::::0;;8511:81::o;1798:109::-;1590:4;1628:6;-1:-1:-1;;;;;1628:6:0;1614:10;:20;1503:18;;;;;;1871:28:::1;1890:8;1871:18;:28::i;:::-;1798:109:::0;:::o;7618:369::-;-1:-1:-1;;;;;7745:19:0;;7737:68;;;;-1:-1:-1;;;7737:68:0;;5332:2:1;7737:68:0;;;5314:21:1;5371:2;5351:18;;;5344:30;5410:34;5390:18;;;5383:62;-1:-1:-1;;;5461:18:1;;;5454:34;5505:19;;7737:68:0;;;;;;;;;-1:-1:-1;;;;;7824:21:0;;7816:68;;;;-1:-1:-1;;;7816:68:0;;5737:2:1;7816:68:0;;;5719:21:1;5776:2;5756:18;;;5749:30;5815:34;5795:18;;;5788:62;-1:-1:-1;;;5866:18:1;;;5859:32;5908:19;;7816:68:0;5535:398:1;7816:68:0;-1:-1:-1;;;;;7895:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7947:32;;1361:25:1;;;7947:32:0;;1334:18:1;7947:32:0;;;;;;;7618:369;;;:::o;9069:2860::-;-1:-1:-1;;;;;9191:18:0;;9183:68;;;;-1:-1:-1;;;9183:68:0;;6140:2:1;9183:68:0;;;6122:21:1;6179:2;6159:18;;;6152:30;6218:34;6198:18;;;6191:62;-1:-1:-1;;;6269:18:1;;;6262:35;6314:19;;9183:68:0;5938:401:1;9183:68:0;9278:13;;;;;;;;:37;;-1:-1:-1;;;;;;9295:20:0;;;;;;:14;:20;;;;;;;;9278:37;:59;;;-1:-1:-1;;;;;;9319:18:0;;;;;;:14;:18;;;;;;;;9278:59;9270:83;;;;-1:-1:-1;;;9270:83:0;;6546:2:1;9270:83:0;;;6528:21:1;6585:2;6565:18;;;6558:30;-1:-1:-1;;;6604:18:1;;;6597:41;6655:18;;9270:83:0;6344:335:1;9270:83:0;-1:-1:-1;;;;;9424:20:0;;9374:12;9424:20;;;:14;:20;;;;;;9374:12;;9424:20;;;:42;;-1:-1:-1;;;;;;9448:18:0;;;;;;:14;:18;;;;;;;;9424:42;9420:1801;;;-1:-1:-1;9490:1:0;9420:1801;;;9530:10;;;;;:15;9526:233;;-1:-1:-1;;;;;9601:14:0;;;;;;:8;:14;;;;;:24;;9619:6;;9601:14;:24;;9619:6;;9601:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9644:12:0;;;;;;:8;:12;;;;;:22;;9660:6;;9644:12;:22;;9660:6;;9644:22;:::i;:::-;;;;;;;;9707:2;-1:-1:-1;;;;;9692:26:0;9701:4;-1:-1:-1;;;;;9692:26:0;;9711:6;9692:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9692:26:0;;;;;;;;9737:7;;9069:2860;;;:::o;9526:233::-;9787:13;;-1:-1:-1;;;;;9787:13:0;;;9779:21;;;;9775:1435;;-1:-1:-1;9828:10:0;;-1:-1:-1;;;;;9862:23:0;;;;;;:17;:23;;;;;;;;9861:24;;:50;;-1:-1:-1;;;;;;9890:21:0;;;;;;:17;:21;;;;;;;;9889:22;9861:50;9857:152;;;9973:15;;9944:25;9962:6;9944:13;9954:2;-1:-1:-1;;;;;6627:17:0;6600:7;6627:17;;;:8;:17;;;;;;;6534:118;9944:13;:17;;:25::i;:::-;:44;;9936:53;;;;;;9775:1435;;;10040:13;;-1:-1:-1;;;;;10040:13:0;;;10034:19;;;;10030:1180;;-1:-1:-1;;;;;10078:19:0;;;;;;:13;:19;;;;;;;;10074:39;;;10109:4;10099:14;;10074:39;10172:4;10132:20;10155:23;;;:8;:23;;;;;;10216:16;;:23;;10235:4;10216:23;:::i;:::-;10201:12;:38;10197:82;;;10256:16;;:23;;10275:4;10256:23;:::i;:::-;10241:38;;10197:82;10317:16;;10302:12;:31;:60;;;;;10346:16;;10337:6;:25;10302:60;:79;;;;-1:-1:-1;10366:10:0;;;;:15;10302:79;10298:809;;;10406:10;:14;;-1:-1:-1;;10406:14:0;10419:1;10406:14;;;10469:16;;;10483:1;10469:16;;;;;;;;-1:-1:-1;;10469:16:0;;;;;;;;;;-1:-1:-1;10469:16:0;10445:40;;10526:4;10508;10513:1;10508:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10508:23:0;;;-1:-1:-1;;;;;10508:23:0;;;;;10564:4;10554;10559:1;10554:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10554:14:0;;;:7;;;;;;;;;:14;10591:319;;-1:-1:-1;;;10591:319:0;;:15;:92;;;;;;:319;;10714:12;;10757:1;;10789:4;;10832;;10868:15;;10591:319;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11021:10:0;;10960:21;;-1:-1:-1;11004:44:0;;-1:-1:-1;;;;;;11021:10:0;10960:21;11004:16;:44::i;:::-;-1:-1:-1;;11073:10:0;:14;;-1:-1:-1;;11073:14:0;;;10298:809;-1:-1:-1;;11132:11:0;;10030:1180;;;-1:-1:-1;11193:1:0;10030:1180;11292:9;;11288:634;;11346:17;11384:3;11367:13;11376:4;11367:6;:13;:::i;:::-;11366:21;;;;:::i;:::-;11346:41;-1:-1:-1;11402:22:0;11427:18;11346:41;11427:6;:18;:::i;:::-;11402:43;;11463:7;11460:28;;;11472:16;11482:6;;11472:16;:::i;:::-;;;11460:28;-1:-1:-1;;;;;11503:14:0;;;;;;:8;:14;;;;;:24;;11521:6;;11503:14;:24;;11521:6;;11503:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11542:12:0;;;;;;:8;:12;;;;;:30;;11558:14;;11542:12;:30;;11558:14;;11542:30;:::i;:::-;;;;-1:-1:-1;;11604:4:0;11587:23;;;;:8;:23;;;;;:36;;11614:9;;11587:23;:36;;11614:9;;11587:36;:::i;:::-;;;;-1:-1:-1;;11643:40:0;;1361:25:1;;;11666:4:0;;-1:-1:-1;;;;;11643:40:0;;;;;1349:2:1;1334:18;11643:40:0;;;;;;;11718:2;-1:-1:-1;;;;;11703:34:0;11712:4;-1:-1:-1;;;;;11703:34:0;;11722:14;11703:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;11703:34:0;;;;;;;;11303:446;;11288:634;;;-1:-1:-1;;;;;11801:14:0;;;;;;:8;:14;;;;;:24;;11819:6;;11801:14;:24;;11819:6;;11801:24;:::i;1915:187::-;-1:-1:-1;;;;;1989:22:0;;1981:31;;;;;;2049:6;;;2028:38;;-1:-1:-1;;;;;2028:38:0;;;;2049:6;;;2028:38;;;2077:6;:17;;-1:-1:-1;;;;;;2077:17:0;-1:-1:-1;;;;;2077:17:0;;;;;;;;;;1915:187::o;2137:181::-;2195:7;;2227:5;2231:1;2227;:5;:::i;:::-;2215:17;;2256:1;2251;:6;;2243:46;;;;-1:-1:-1;;;2243:46:0;;8660:2:1;2243:46:0;;;8642:21:1;8699:2;8679:18;;;8672:30;8738:29;8718:18;;;8711:57;8785:18;;2243:46:0;8458:351:1;2243:46:0;2309:1;2137:181;-1:-1:-1;;;2137:181:0:o;8931:122::-;9019:26;;-1:-1:-1;;;;;9019:18:0;;;:26;;;;;9038:6;;9019:26;;;;9038:6;9019:18;:26;;;;;;;;;;;;;;;;;;;;;8931:122;;:::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;2047:248::-;2115:6;2123;2176:2;2164:9;2155:7;2151:23;2147:32;2144:52;;;2192:1;2189;2182:12;2144:52;-1:-1:-1;;2215:23:1;;;2285:2;2270:18;;;2257:32;;-1:-1:-1;2047:248:1:o;2524:247::-;2583:6;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;2984:388::-;3052:6;3060;3113:2;3101:9;3092:7;3088:23;3084:32;3081:52;;;3129:1;3126;3119:12;3081:52;3168:9;3155:23;3187:31;3212:5;3187:31;:::i;:::-;3237:5;-1:-1:-1;3294:2:1;3279:18;;3266:32;3307:33;3266:32;3307:33;:::i;:::-;3359:7;3349:17;;;2984:388;;;;;:::o;3377:127::-;3438:10;3433:3;3429:20;3426:1;3419:31;3469:4;3466:1;3459:15;3493:4;3490:1;3483:15;3509:128;3576:9;;;3597:11;;;3594:37;;;3611:18;;:::i;3642:251::-;3712:6;3765:2;3753:9;3744:7;3740:23;3736:32;3733:52;;;3781:1;3778;3771:12;3733:52;3813:9;3807:16;3832:31;3857:5;3832:31;:::i;4819:306::-;4907:6;4915;4923;4976:2;4964:9;4955:7;4951:23;4947:32;4944:52;;;4992:1;4989;4982:12;4944:52;5021:9;5015:16;5005:26;;5071:2;5060:9;5056:18;5050:25;5040:35;;5115:2;5104:9;5100:18;5094:25;5084:35;;4819:306;;;;;:::o;6684:125::-;6749:9;;;6770:10;;;6767:36;;;6783:18;;:::i;6814:168::-;6887:9;;;6918;;6935:15;;;6929:22;;6915:37;6905:71;;6956:18;;:::i;7119:127::-;7180:10;7175:3;7171:20;7168:1;7161:31;7211:4;7208:1;7201:15;7235:4;7232:1;7225:15;7251:980;7513:4;7561:3;7550:9;7546:19;7592:6;7581:9;7574:25;7618:2;7656:6;7651:2;7640:9;7636:18;7629:34;7699:3;7694:2;7683:9;7679:18;7672:31;7723:6;7758;7752:13;7789:6;7781;7774:22;7827:3;7816:9;7812:19;7805:26;;7866:2;7858:6;7854:15;7840:29;;7887:1;7897:195;7911:6;7908:1;7905:13;7897:195;;;7976:13;;-1:-1:-1;;;;;7972:39:1;7960:52;;8067:15;;;;8032:12;;;;8008:1;7926:9;7897:195;;;-1:-1:-1;;;;;;;8148:32:1;;;;8143:2;8128:18;;8121:60;-1:-1:-1;;;8212:3:1;8197:19;8190:35;8109:3;7251:980;-1:-1:-1;;;7251:980:1:o;8236:217::-;8276:1;8302;8292:132;;8346:10;8341:3;8337:20;8334:1;8327:31;8381:4;8378:1;8371:15;8409:4;8406:1;8399:15;8292:132;-1:-1:-1;8438:9:1;;8236:217::o

Swarm Source

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