ETH Price: $2,416.11 (-1.30%)

Token

Alpha (ALPHA)
 

Overview

Max Total Supply

10,000,000 ALPHA

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
144,637.605586804308093136 ALPHA

Value
$0.00
0x4FF6AEE00cA4A64D929834576ba1cA85dbdc8016
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:
ALPHA

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**

Website: https://alphareward.live
TG: https://t.me/alphareward_portal

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.18;

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 is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

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

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );

    function factory() external pure returns (address);

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

contract ALPHA is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant tenthPercent = 10_000e18;
    uint256 private minSwap = 73e18;
    uint256 private maxSwap = onePercent * 2;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address public uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;
    uint256 public lpTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2; //max Tx for first mins after launch
    uint256 public maxWalletAmount = onePercent * 2; //max Tx for first mins after launch

    string private constant _name = "Alpha";
    string private constant _symbol = "ALPHA";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;
    mapping(address => bool) private _isExcludedFromMaxWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 32;
        sellTax = 32;
        lpTax = 0;

        marketingWallet = payable(0x41B99652851202630c4e12BEEafcA612F5FCfb6b);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _isExcludedFromMaxWallet[address(this)] = true;
        _isExcludedFromMaxWallet[address(uniswapV2Router)] = true;
        _isExcludedFromMaxWallet[address(0)] = true;
        _isExcludedFromMaxWallet[address(0xDEAD)] = true;
        _isExcludedFromMaxWallet[msg.sender] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;

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

    function makeAlpha() external onlyOwner {
        require(launch == 0, "already opened");
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );
        _isExcludedFromMaxWallet[address(uniswapV2Pair)] = true;

        uint256 ethBalance = address(this).balance;
        uniswapV2Router.addLiquidityETH{value: ethBalance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

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

    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }

    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 openTrading() external onlyOwner {
        require(launch == 0, "already opened");
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
        _isExcludedFromMaxWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = type(uint256).max;
        maxWalletAmount = type(uint256).max;
    }

    function changeTax(
        uint256 newBuyTax,
        uint256 newSellTax,
        uint256 newLpTax
    ) external onlyOwner {
        require(
            newBuyTax < 20 ||
                newSellTax < 20 ||
                newLpTax < 20 ||
                (newBuyTax + newSellTax + newLpTax) < 50,
            "Cannot set taxes above 20%"
        );
        buyTax = newBuyTax;
        sellTax = newSellTax;
        lpTax = newLpTax;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");

        uint256 _tax;
        if (from == address(this) || to == address(this)) {
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
            return;
        }
        if (!_isExcludedFromFeeWallet[from] && !_isExcludedFromFeeWallet[to]) {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );
            if (!_isExcludedFromMaxWallet[to]) {
                require(
                    _balance[to] + amount <= maxWalletAmount,
                    "Exceeds max wallet balance"
                );
            }

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

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

            if (from == uniswapV2Pair) {
                _tax = buyTax + lpTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (amount > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > minSwap) {
                        if (tokensToSwap > maxSwap) {
                            tokensToSwap = maxSwap;
                        }

                        uint256 liqidityToken = (tokensToSwap * lpTax) /
                            (((buyTax + sellTax) / 2) + lpTax);
                        uint256 tokensTosell = tokensToSwap - liqidityToken;

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

                        uniswapV2Router
                            .swapExactTokensForETHSupportingFeeOnTransferTokens(
                                tokensTosell,
                                0,
                                path,
                                marketingWallet,
                                block.timestamp
                            );

                        if (liqidityToken > 0) {
                            uniswapV2Router
                                .swapExactTokensForETHSupportingFeeOnTransferTokens(
                                    liqidityToken / 2,
                                    0,
                                    path,
                                    address(this),
                                    block.timestamp
                                );

                            uint256 newBal = address(this).balance;
                            uniswapV2Router.addLiquidityETH{value: newBal}(
                                address(this),
                                liqidityToken / 2,
                                0,
                                0,
                                owner(),
                                block.timestamp
                            );
                        }
                        inSwapAndLiquify = 0;
                    }
                }

                _tax = sellTax + lpTax;
            } else {
                _tax = 0;
            }
        }

        bool _takeTax = shouldTakeTax(from, to);

        if (_takeTax) {
            //Tax transfer
            uint256 transferAmount = takeTax(from, to, amount, _tax);

            _balance[to] += transferAmount;
            emit Transfer(from, to, transferAmount);
        } else {
            _balance[to] += amount;

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

    function shouldTakeTax(address from, address to)
        internal
        view
        returns (bool)
    {
        return !_isExcludedFromFeeWallet[from];
    }

    function takeTax(
        address from,
        address to,
        uint256 amount,
        uint256 taxRate
    ) internal returns (uint256) {
        uint256 taxTokens = (amount * taxRate) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] -= amount;
        _balance[address(this)] += taxTokens;
        emit Transfer(from, address(this), taxTokens);

        return transferAmount;
    }

    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":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"},{"internalType":"uint256","name":"newLpTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeAlpha","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","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":[{"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e06040526803f514193abb84000060025569152d02c7e14af680000060026200002a9190620002d6565b6003556200004469152d02c7e14af68000006002620002d6565b600a556200005e69152d02c7e14af68000006002620002d6565b600b553480156200006d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000102573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000128919062000300565b6001600160a01b0390811660a0526020600581905560068190555f60078190557341b99652851202630c4e12beeafca612f5fcfb6b60c05233808252600c835260408083206a084595161401484a0000009055600e84527f1dcea2dbbb75764288ccb2ab4fdeb88f451113f2bdc7330307c9e4f6105963848054600160ff199182168117909255308086528386208054831684179055600f8752838620805483168417905560805190971680865283862080548316841790557ff4803e074bd026baaf6ed2e288c9515f68c72fb7216eebdd7cae1718a53ec37580548316841790557f99629f56119585bf27511b6b7d295dffb54757453fcc3dabcf51d92028301f10805483168417905584865283862080549092169092179055948352600d80855281842086855285528184205f19908190559284528452808320948352939092529190912055620002783390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a000000604051620002c891815260200190565b60405180910390a36200032f565b8082028115828204841417620002fa57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f6020828403121562000311575f80fd5b81516001600160a01b038116811462000328575f80fd5b9392505050565b60805160a05160c05161170c6200037d5f395f610f6601525f818161074c0152610eda01525f81816106b1015281816107fc01528181610f3101528181610fcf015261105b015261170c5ff3fe60806040526004361061014a575f3560e01c80638c0b5e22116100b3578063c01e15701161006d578063c01e1570146103a6578063c9567bf9146103ba578063cc1776d3146103ce578063dba9d420146103e3578063dd62ed3e14610402578063f2fde38b14610446575f80fd5b80638c0b5e22146102f55780638da5cb5b1461030a57806395d89b4114610326578063974ea01e14610353578063a9059cbb14610372578063aa4bde2814610391575f80fd5b806349bd5a5e1161010457806349bd5a5e146102395780634f7041a5146102705780636f9fb98a1461028557806370a0823114610297578063715018a6146102cb578063751039fc146102e1575f80fd5b806306fdde0314610155578063095ea7b31461019457806318160ddd146101c35780631de3b450146101ea57806323b872dd146101ff578063313ce5671461021e575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526005815264416c70686160d81b60208201525b60405161018b91906113b4565b60405180910390f35b34801561019f575f80fd5b506101b36101ae366004611414565b610465565b604051901515815260200161018b565b3480156101ce575f80fd5b506a084595161401484a0000005b60405190815260200161018b565b3480156101f5575f80fd5b506101dc60075481565b34801561020a575f80fd5b506101b361021936600461143e565b61047b565b348015610229575f80fd5b506040516012815260200161018b565b348015610244575f80fd5b50600454610258906001600160a01b031681565b6040516001600160a01b03909116815260200161018b565b34801561027b575f80fd5b506101dc60055481565b348015610290575f80fd5b50476101dc565b3480156102a2575f80fd5b506101dc6102b136600461147c565b6001600160a01b03165f908152600c602052604090205490565b3480156102d6575f80fd5b506102df6104cb565b005b3480156102ec575f80fd5b506102df610545565b348015610300575f80fd5b506101dc600a5481565b348015610315575f80fd5b505f546001600160a01b0316610258565b348015610331575f80fd5b50604080518082019091526005815264414c50484160d81b602082015261017e565b34801561035e575f80fd5b506102df61036d36600461149e565b61057a565b34801561037d575f80fd5b506101b361038c366004611414565b610636565b34801561039c575f80fd5b506101dc600b5481565b3480156103b1575f80fd5b506102df610642565b3480156103c5575f80fd5b506102df6108bd565b3480156103d9575f80fd5b506101dc60065481565b3480156103ee575f80fd5b506102df6103fd36600461147c565b61093d565b34801561040d575f80fd5b506101dc61041c3660046114c7565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610451575f80fd5b506102df61046036600461147c565b6109a1565b5f6104713384846109d6565b5060015b92915050565b5f610487848484610af9565b6001600160a01b0384165f908152600d60209081526040808320338085529252909120546104c19186916104bc908690611512565b6109d6565b5060019392505050565b5f546001600160a01b031633146104fd5760405162461bcd60e51b81526004016104f490611525565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461056e5760405162461bcd60e51b81526004016104f490611525565b5f19600a819055600b55565b5f546001600160a01b031633146105a35760405162461bcd60e51b81526004016104f490611525565b60148310806105b25750601482105b806105bd5750601481105b806105dc57506032816105d0848661155a565b6105da919061155a565b105b6106285760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207365742074617865732061626f76652032302500000000000060448201526064016104f4565b600592909255600655600755565b5f610471338484610af9565b5f546001600160a01b0316331461066b5760405162461bcd60e51b81526004016104f490611525565b60085460ff16156106af5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104f4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072f919061156d565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063c9c65396906044016020604051808303815f875af115801561079c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c0919061156d565b600480546001600160a01b039283166001600160a01b031990911681179091555f908152600f60205260409020805460ff1916600117905547907f00000000000000000000000000000000000000000000000000000000000000001663f305d7198230610841816001600160a01b03165f908152600c602052604090205490565b5f806108545f546001600160a01b031690565b426040518863ffffffff1660e01b815260040161087696959493929190611588565b60606040518083038185885af1158015610892573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b791906115c3565b50505050565b5f546001600160a01b031633146108e65760405162461bcd60e51b81526004016104f490611525565b60085460ff161561092a5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104f4565b6008805460ff1916600117905543600955565b5f546001600160a01b031633146109665760405162461bcd60e51b81526004016104f490611525565b6001600160a01b03165f908152600e602090815260408083208054600160ff199182168117909255600f909352922080549091169091179055565b5f546001600160a01b031633146109ca5760405162461bcd60e51b81526004016104f490611525565b6109d381611246565b50565b6001600160a01b038316610a385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b038216610a995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b5f6001600160a01b038416301480610b7d57506001600160a01b03831630145b15610c1c576001600160a01b0384165f908152600c602052604081208054849290610ba9908490611512565b90915550506001600160a01b0383165f908152600c602052604081208054849290610bd590849061155a565b92505081905550826001600160a01b0316846001600160a01b03165f805160206116b783398151915284604051610c0e91815260200190565b60405180910390a350505050565b6001600160a01b0384165f908152600e602052604090205460ff16158015610c5c57506001600160a01b0383165f908152600e602052604090205460ff16155b156111345760085460ff1615801590610c775750600a548211155b610cce5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b60648201526084016104f4565b6001600160a01b0383165f908152600f602052604090205460ff16610d6157600b546001600160a01b0384165f908152600c6020526040902054610d1390849061155a565b1115610d615760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016104f4565b600854610100900460ff16600103610d9a576001600160a01b0384165f908152600c602052604081208054849290610ba9908490611512565b6004546001600160a01b0390811690851603610dc757600754600554610dc0919061155a565b9050611134565b6004546001600160a01b039081169084160361113157305f908152600c602052604090205460025483118015610e055750600854610100900460ff16155b156111195760025481111561111957600354811115610e2357506003545b5f6007546002600654600554610e39919061155a565b610e4391906115ee565b610e4d919061155a565b600754610e5a908461160d565b610e6491906115ee565b90505f610e718284611512565b6008805461ff0019166101001790556040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610eb857610eb8611624565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0c57610f0c611624565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610f909085905f9086907f000000000000000000000000000000000000000000000000000000000000000090429060040161167b565b5f604051808303815f87803b158015610fa7575f80fd5b505af1158015610fb9573d5f803e3d5ffd5b505050505f83111561110a576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663791ac947610fff6002866115ee565b5f8430426040518663ffffffff1660e01b815260040161102395949392919061167b565b5f604051808303815f87803b15801561103a575f80fd5b505af115801561104c573d5f803e3d5ffd5b50479250506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016905063f305d719823061108f6002896115ee565b5f806110a25f546001600160a01b031690565b426040518863ffffffff1660e01b81526004016110c496959493929190611588565b60606040518083038185885af11580156110e0573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061110591906115c3565b505050505b50506008805461ff0019169055505b600754600654611129919061155a565b915050611134565b505f5b6001600160a01b0384165f908152600e602052604090205460ff161580156111d6575f61116386868686611304565b6001600160a01b0386165f908152600c602052604081208054929350839290919061118f90849061155a565b92505081905550846001600160a01b0316866001600160a01b03165f805160206116b7833981519152836040516111c891815260200190565b60405180910390a35061123f565b6001600160a01b0384165f908152600c6020526040812080548592906111fd90849061155a565b92505081905550836001600160a01b0316856001600160a01b03165f805160206116b78339815191528560405161123691815260200190565b60405180910390a35b5050505050565b6001600160a01b0381166112ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f4565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f806064611312848661160d565b61131c91906115ee565b90505f6113298286611512565b6001600160a01b0388165f908152600c6020526040812080549293508792909190611355908490611512565b9091555050305f908152600c60205260408120805484929061137890849061155a565b909155505060405182815230906001600160a01b038916905f805160206116b78339815191529060200160405180910390a39695505050505050565b5f602080835283518060208501525f5b818110156113e0578581018301518582016040015282016113c4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109d3575f80fd5b5f8060408385031215611425575f80fd5b823561143081611400565b946020939093013593505050565b5f805f60608486031215611450575f80fd5b833561145b81611400565b9250602084013561146b81611400565b929592945050506040919091013590565b5f6020828403121561148c575f80fd5b813561149781611400565b9392505050565b5f805f606084860312156114b0575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156114d8575f80fd5b82356114e381611400565b915060208301356114f381611400565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610475576104756114fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820180821115610475576104756114fe565b5f6020828403121561157d575f80fd5b815161149781611400565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f606084860312156115d5575f80fd5b8351925060208401519150604084015190509250925092565b5f8261160857634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610475576104756114fe565b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156116705781516001600160a01b03168752958201959082019060010161164b565b509495945050505050565b85815284602082015260a060408201525f61169960a0830186611638565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c0e92defb0f97ce3e5f196c807860dc0ea8fdcb56d7b1462f73dd8ef6bdfe78864736f6c63430008160033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80638c0b5e22116100b3578063c01e15701161006d578063c01e1570146103a6578063c9567bf9146103ba578063cc1776d3146103ce578063dba9d420146103e3578063dd62ed3e14610402578063f2fde38b14610446575f80fd5b80638c0b5e22146102f55780638da5cb5b1461030a57806395d89b4114610326578063974ea01e14610353578063a9059cbb14610372578063aa4bde2814610391575f80fd5b806349bd5a5e1161010457806349bd5a5e146102395780634f7041a5146102705780636f9fb98a1461028557806370a0823114610297578063715018a6146102cb578063751039fc146102e1575f80fd5b806306fdde0314610155578063095ea7b31461019457806318160ddd146101c35780631de3b450146101ea57806323b872dd146101ff578063313ce5671461021e575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50604080518082019091526005815264416c70686160d81b60208201525b60405161018b91906113b4565b60405180910390f35b34801561019f575f80fd5b506101b36101ae366004611414565b610465565b604051901515815260200161018b565b3480156101ce575f80fd5b506a084595161401484a0000005b60405190815260200161018b565b3480156101f5575f80fd5b506101dc60075481565b34801561020a575f80fd5b506101b361021936600461143e565b61047b565b348015610229575f80fd5b506040516012815260200161018b565b348015610244575f80fd5b50600454610258906001600160a01b031681565b6040516001600160a01b03909116815260200161018b565b34801561027b575f80fd5b506101dc60055481565b348015610290575f80fd5b50476101dc565b3480156102a2575f80fd5b506101dc6102b136600461147c565b6001600160a01b03165f908152600c602052604090205490565b3480156102d6575f80fd5b506102df6104cb565b005b3480156102ec575f80fd5b506102df610545565b348015610300575f80fd5b506101dc600a5481565b348015610315575f80fd5b505f546001600160a01b0316610258565b348015610331575f80fd5b50604080518082019091526005815264414c50484160d81b602082015261017e565b34801561035e575f80fd5b506102df61036d36600461149e565b61057a565b34801561037d575f80fd5b506101b361038c366004611414565b610636565b34801561039c575f80fd5b506101dc600b5481565b3480156103b1575f80fd5b506102df610642565b3480156103c5575f80fd5b506102df6108bd565b3480156103d9575f80fd5b506101dc60065481565b3480156103ee575f80fd5b506102df6103fd36600461147c565b61093d565b34801561040d575f80fd5b506101dc61041c3660046114c7565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b348015610451575f80fd5b506102df61046036600461147c565b6109a1565b5f6104713384846109d6565b5060015b92915050565b5f610487848484610af9565b6001600160a01b0384165f908152600d60209081526040808320338085529252909120546104c19186916104bc908690611512565b6109d6565b5060019392505050565b5f546001600160a01b031633146104fd5760405162461bcd60e51b81526004016104f490611525565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461056e5760405162461bcd60e51b81526004016104f490611525565b5f19600a819055600b55565b5f546001600160a01b031633146105a35760405162461bcd60e51b81526004016104f490611525565b60148310806105b25750601482105b806105bd5750601481105b806105dc57506032816105d0848661155a565b6105da919061155a565b105b6106285760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207365742074617865732061626f76652032302500000000000060448201526064016104f4565b600592909255600655600755565b5f610471338484610af9565b5f546001600160a01b0316331461066b5760405162461bcd60e51b81526004016104f490611525565b60085460ff16156106af5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104f4565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072f919061156d565b6040516364e329cb60e11b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281166024830152919091169063c9c65396906044016020604051808303815f875af115801561079c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c0919061156d565b600480546001600160a01b039283166001600160a01b031990911681179091555f908152600f60205260409020805460ff1916600117905547907f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663f305d7198230610841816001600160a01b03165f908152600c602052604090205490565b5f806108545f546001600160a01b031690565b426040518863ffffffff1660e01b815260040161087696959493929190611588565b60606040518083038185885af1158015610892573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108b791906115c3565b50505050565b5f546001600160a01b031633146108e65760405162461bcd60e51b81526004016104f490611525565b60085460ff161561092a5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481bdc195b995960921b60448201526064016104f4565b6008805460ff1916600117905543600955565b5f546001600160a01b031633146109665760405162461bcd60e51b81526004016104f490611525565b6001600160a01b03165f908152600e602090815260408083208054600160ff199182168117909255600f909352922080549091169091179055565b5f546001600160a01b031633146109ca5760405162461bcd60e51b81526004016104f490611525565b6109d381611246565b50565b6001600160a01b038316610a385760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b038216610a995760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b5d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b5f6001600160a01b038416301480610b7d57506001600160a01b03831630145b15610c1c576001600160a01b0384165f908152600c602052604081208054849290610ba9908490611512565b90915550506001600160a01b0383165f908152600c602052604081208054849290610bd590849061155a565b92505081905550826001600160a01b0316846001600160a01b03165f805160206116b783398151915284604051610c0e91815260200190565b60405180910390a350505050565b6001600160a01b0384165f908152600e602052604090205460ff16158015610c5c57506001600160a01b0383165f908152600e602052604090205460ff16155b156111345760085460ff1615801590610c775750600a548211155b610cce5760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b60648201526084016104f4565b6001600160a01b0383165f908152600f602052604090205460ff16610d6157600b546001600160a01b0384165f908152600c6020526040902054610d1390849061155a565b1115610d615760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e636500000000000060448201526064016104f4565b600854610100900460ff16600103610d9a576001600160a01b0384165f908152600c602052604081208054849290610ba9908490611512565b6004546001600160a01b0390811690851603610dc757600754600554610dc0919061155a565b9050611134565b6004546001600160a01b039081169084160361113157305f908152600c602052604090205460025483118015610e055750600854610100900460ff16155b156111195760025481111561111957600354811115610e2357506003545b5f6007546002600654600554610e39919061155a565b610e4391906115ee565b610e4d919061155a565b600754610e5a908461160d565b610e6491906115ee565b90505f610e718284611512565b6008805461ff0019166101001790556040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610eb857610eb8611624565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0c57610f0c611624565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610f909085905f9086907f00000000000000000000000041b99652851202630c4e12beeafca612f5fcfb6b90429060040161167b565b5f604051808303815f87803b158015610fa7575f80fd5b505af1158015610fb9573d5f803e3d5ffd5b505050505f83111561110a576001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d1663791ac947610fff6002866115ee565b5f8430426040518663ffffffff1660e01b815260040161102395949392919061167b565b5f604051808303815f87803b15801561103a575f80fd5b505af115801561104c573d5f803e3d5ffd5b50479250506001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d16905063f305d719823061108f6002896115ee565b5f806110a25f546001600160a01b031690565b426040518863ffffffff1660e01b81526004016110c496959493929190611588565b60606040518083038185885af11580156110e0573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061110591906115c3565b505050505b50506008805461ff0019169055505b600754600654611129919061155a565b915050611134565b505f5b6001600160a01b0384165f908152600e602052604090205460ff161580156111d6575f61116386868686611304565b6001600160a01b0386165f908152600c602052604081208054929350839290919061118f90849061155a565b92505081905550846001600160a01b0316866001600160a01b03165f805160206116b7833981519152836040516111c891815260200190565b60405180910390a35061123f565b6001600160a01b0384165f908152600c6020526040812080548592906111fd90849061155a565b92505081905550836001600160a01b0316856001600160a01b03165f805160206116b78339815191528560405161123691815260200190565b60405180910390a35b5050505050565b6001600160a01b0381166112ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f4565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f806064611312848661160d565b61131c91906115ee565b90505f6113298286611512565b6001600160a01b0388165f908152600c6020526040812080549293508792909190611355908490611512565b9091555050305f908152600c60205260408120805484929061137890849061155a565b909155505060405182815230906001600160a01b038916905f805160206116b78339815191529060200160405180910390a39695505050505050565b5f602080835283518060208501525f5b818110156113e0578581018301518582016040015282016113c4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146109d3575f80fd5b5f8060408385031215611425575f80fd5b823561143081611400565b946020939093013593505050565b5f805f60608486031215611450575f80fd5b833561145b81611400565b9250602084013561146b81611400565b929592945050506040919091013590565b5f6020828403121561148c575f80fd5b813561149781611400565b9392505050565b5f805f606084860312156114b0575f80fd5b505081359360208301359350604090920135919050565b5f80604083850312156114d8575f80fd5b82356114e381611400565b915060208301356114f381611400565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610475576104756114fe565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820180821115610475576104756114fe565b5f6020828403121561157d575f80fd5b815161149781611400565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b5f805f606084860312156115d5575f80fd5b8351925060208401519150604084015190509250925092565b5f8261160857634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610475576104756114fe565b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156116705781516001600160a01b03168752958201959082019060010161164b565b509495945050505050565b85815284602082015260a060408201525f61169960a0830186611638565b6001600160a01b039490941660608301525060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c0e92defb0f97ce3e5f196c807860dc0ea8fdcb56d7b1462f73dd8ef6bdfe78864736f6c63430008160033

Deployed Bytecode Sourcemap

3129:10351:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5981:83;;;;;;;;;;-1:-1:-1;6051:5:0;;;;;;;;;;;;-1:-1:-1;;;6051:5:0;;;;5981:83;;;;;;;:::i;:::-;;;;;;;;7006:193;;;;;;;;;;-1:-1:-1;7006:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7006:193:0;1023:187:1;6373:100:0;;;;;;;;;;-1:-1:-1;3219:13:0;6373:100;;;1361:25:1;;;1349:2;1334:18;6373:100:0;1215:177:1;3703:20:0;;;;;;;;;;;;;;;;7207:350;;;;;;;;;;-1:-1:-1;7207:350:0;;;;;:::i;:::-;;:::i;6282:83::-;;;;;;;;;;-1:-1:-1;6282:83:0;;3470:2;2000:36:1;;1988:2;1973:18;6282:83:0;1858:184:1;3532:28:0;;;;;;;;;;-1:-1:-1;3532:28:0;;;;-1:-1:-1;;;;;3532:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;3532:28:0;2047:203:1;3646:21:0;;;;;;;;;;;;;;;;6072:107;;;;;;;;;;-1:-1:-1;6150:21:0;6072:107;;6481:118;;;;;;;;;;-1:-1:-1;6481:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6574:17:0;6547:7;6574:17;;;:8;:17;;;;;;;6481:118;2081:148;;;;;;;;;;;;;:::i;:::-;;8285:139;;;;;;;;;;;;;:::i;3832:43::-;;;;;;;;;;;;;;;;1476:79;;;;;;;;;;-1:-1:-1;1514:7:0;1541:6;-1:-1:-1;;;;;1541:6:0;1476:79;;6187:87;;;;;;;;;;-1:-1:-1;6259:7:0;;;;;;;;;;;;-1:-1:-1;;;6259:7:0;;;;6187:87;;8432:456;;;;;;;;;;-1:-1:-1;8432:456:0;;;;;:::i;:::-;;:::i;6607:199::-;;;;;;;;;;-1:-1:-1;6607:199:0;;;;;:::i;:::-;;:::i;3919:47::-;;;;;;;;;;;;;;;;5392:581;;;;;;;;;;;;;:::i;7942:157::-;;;;;;;;;;;;;:::i;3674:22::-;;;;;;;;;;;;;;;;8107:170;;;;;;;;;;-1:-1:-1;8107:170:0;;;;;:::i;:::-;;:::i;6814:184::-;;;;;;;;;;-1:-1:-1;6814:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6963:18:0;;;6931:7;6963:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6814:184;1690:109;;;;;;;;;;-1:-1:-1;1690:109:0;;;;;:::i;:::-;;:::i;7006:193::-;7108:4;7130:39;270:10;7153:7;7162:6;7130:8;:39::i;:::-;-1:-1:-1;7187:4:0;7006:193;;;;;:::o;7207:350::-;7339:4;7356:36;7366:6;7374:9;7385:6;7356:9;:36::i;:::-;-1:-1:-1;;;;;7474:19:0;;;;;;:11;:19;;;;;;;;270:10;7474:33;;;;;;;;;7403:124;;7426:6;;7474:42;;7510:6;;7474:42;:::i;:::-;7403:8;:124::i;:::-;-1:-1:-1;7545:4:0;7207:350;;;;;:::o;2081:148::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;;;;;;;;;2188:1:::1;2172:6:::0;;2151:40:::1;::::0;-1:-1:-1;;;;;2172:6:0;;::::1;::::0;2151:40:::1;::::0;2188:1;;2151:40:::1;2219:1;2202:19:::0;;-1:-1:-1;;;;;;2202:19:0::1;::::0;;2081:148::o;8285:139::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;-1:-1:-1;;8339:11:0::1;:31:::0;;;8381:15:::1;:35:::0;8285:139::o;8432:456::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;8606:2:::1;8594:9;:14;:50;;;;8642:2;8629:10;:15;8594:50;:84;;;;8676:2;8665:8;:13;8594:84;:145;;;-1:-1:-1::0;8737:2:0::1;8725:8:::0;8700:22:::1;8712:10:::0;8700:9;:22:::1;:::i;:::-;:33;;;;:::i;:::-;8699:40;8594:145;8572:221;;;::::0;-1:-1:-1;;;8572:221:0;;4179:2:1;8572:221:0::1;::::0;::::1;4161:21:1::0;4218:2;4198:18;;;4191:30;4257:28;4237:18;;;4230:56;4303:18;;8572:221:0::1;3977:350:1::0;8572:221:0::1;8804:6;:18:::0;;;;8833:7:::1;:20:::0;8864:5:::1;:16:::0;8432:456::o;6607:199::-;6712:4;6734:42;270:10;6758:9;6769:6;6734:9;:42::i;5392:581::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;5451:6:::1;::::0;::::1;;:11:::0;5443:38:::1;;;::::0;-1:-1:-1;;;5443:38:0;;4534:2:1;5443:38:0::1;::::0;::::1;4516:21:1::0;4573:2;4553:18;;;4546:30;-1:-1:-1;;;4592:18:1;;;4585:44;4646:18;;5443:38:0::1;4332:338:1::0;5443:38:0::1;5526:15;-1:-1:-1::0;;;;;5526:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5508:113;::::0;-1:-1:-1;;;5508:113:0;;5586:4:::1;5508:113;::::0;::::1;5143:34:1::0;-1:-1:-1;;;;;5606:4:0::1;5213:15:1::0;;5193:18;;;5186:43;5508:55:0;;;::::1;::::0;::::1;::::0;5078:18:1;;5508:113:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5492:13;:129:::0;;-1:-1:-1;;;;;5492:129:0;;::::1;-1:-1:-1::0;;;;;;5492:129:0;;::::1;::::0;::::1;::::0;;;:13:::1;5632:48:::0;;;:24:::1;:48;::::0;;;;:55;;-1:-1:-1;;5632:55:0::1;5492:129:::0;5632:55:::1;::::0;;5721:21:::1;::::0;5753:15:::1;:31;;5721:21:::0;5826:4:::1;5846:24;5826:4:::0;-1:-1:-1;;;;;6574:17:0;6547:7;6574:17;;;:8;:17;;;;;;;6481:118;5846:24:::1;5885:1;5901::::0;5917:7:::1;1514::::0;1541:6;-1:-1:-1;;;;;1541:6:0;;1476:79;5917:7:::1;5939:15;5753:212;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5432:541;5392:581::o:0;7942:157::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;8003:6:::1;::::0;::::1;;:11:::0;7995:38:::1;;;::::0;-1:-1:-1;;;7995:38:0;;4534:2:1;7995:38:0::1;::::0;::::1;4516:21:1::0;4573:2;4553:18;;;4546:30;-1:-1:-1;;;4592:18:1;;;4585:44;4646:18;;7995:38:0::1;4332:338:1::0;7995:38:0::1;8044:6;:10:::0;;-1:-1:-1;;8044:10:0::1;8053:1;8044:10;::::0;;8079:12:::1;8065:11;:26:::0;7942:157::o;8107:170::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8180:32:0::1;;::::0;;;:24:::1;:32;::::0;;;;;;;:39;;8215:4:::1;-1:-1:-1::0;;8180:39:0;;::::1;::::0;::::1;::::0;;;8230:24:::1;:32:::0;;;;;:39;;;;::::1;::::0;;::::1;::::0;;8107:170::o;1690:109::-;1603:6;;-1:-1:-1;;;;;1603:6:0;270:10;1603:22;1595:67;;;;-1:-1:-1;;;1595:67:0;;;;;;;:::i;:::-;1763:28:::1;1782:8;1763:18;:28::i;:::-;1690:109:::0;:::o;7565:369::-;-1:-1:-1;;;;;7692:19:0;;7684:68;;;;-1:-1:-1;;;7684:68:0;;6365:2:1;7684:68:0;;;6347:21:1;6404:2;6384:18;;;6377:30;6443:34;6423:18;;;6416:62;-1:-1:-1;;;6494:18:1;;;6487:34;6538:19;;7684:68:0;6163:400:1;7684:68:0;-1:-1:-1;;;;;7771:21:0;;7763:68;;;;-1:-1:-1;;;7763:68:0;;6770:2:1;7763:68:0;;;6752:21:1;6809:2;6789:18;;;6782:30;6848:34;6828:18;;;6821:62;-1:-1:-1;;;6899:18:1;;;6892:32;6941:19;;7763:68:0;6568:398:1;7763:68:0;-1:-1:-1;;;;;7842:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7894:32;;1361:25:1;;;7894:32:0;;1334:18:1;7894:32:0;;;;;;;7565:369;;;:::o;8896:3924::-;-1:-1:-1;;;;;9018:18:0;;9010:68;;;;-1:-1:-1;;;9010:68:0;;7173:2:1;9010:68:0;;;7155:21:1;7212:2;7192:18;;;7185:30;7251:34;7231:18;;;7224:62;-1:-1:-1;;;7302:18:1;;;7295:35;7347:19;;9010:68:0;6971:401:1;9010:68:0;9091:12;-1:-1:-1;;;;;9118:21:0;;9134:4;9118:21;;:44;;-1:-1:-1;;;;;;9143:19:0;;9157:4;9143:19;9118:44;9114:207;;;-1:-1:-1;;;;;9179:14:0;;;;;;:8;:14;;;;;:24;;9197:6;;9179:14;:24;;9197:6;;9179:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9218:12:0;;;;;;:8;:12;;;;;:22;;9234:6;;9218:12;:22;;9234:6;;9218:22;:::i;:::-;;;;;;;;9277:2;-1:-1:-1;;;;;9262:26:0;9271:4;-1:-1:-1;;;;;9262:26:0;-1:-1:-1;;;;;;;;;;;9281:6:0;9262:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;9262:26:0;;;;;;;;9303:7;8896:3924;;;:::o;9114:207::-;-1:-1:-1;;;;;9336:30:0;;;;;;:24;:30;;;;;;;;9335:31;:64;;;;-1:-1:-1;;;;;;9371:28:0;;;;;;:24;:28;;;;;;;;9370:29;9335:64;9331:3089;;;9442:6;;;;:11;;;;:36;;;9467:11;;9457:6;:21;;9442:36;9416:132;;;;-1:-1:-1;;;9416:132:0;;7579:2:1;9416:132:0;;;7561:21:1;7618:2;7598:18;;;7591:30;7657:34;7637:18;;;7630:62;-1:-1:-1;;;7708:18:1;;;7701:32;7750:19;;9416:132:0;7377:398:1;9416:132:0;-1:-1:-1;;;;;9568:28:0;;;;;;:24;:28;;;;;;;;9563:210;;9672:15;;-1:-1:-1;;;;;9647:12:0;;;;;;:8;:12;;;;;;:21;;9662:6;;9647:21;:::i;:::-;:40;;9617:140;;;;-1:-1:-1;;;9617:140:0;;7982:2:1;9617:140:0;;;7964:21:1;8021:2;8001:18;;;7994:30;8060:28;8040:18;;;8033:56;8106:18;;9617:140:0;7780:350:1;9617:140:0;9793:16;;;;;;;;:21;9789:239;;-1:-1:-1;;;;;9870:14:0;;;;;;:8;:14;;;;;:24;;9888:6;;9870:14;:24;;9888:6;;9870:24;:::i;9789:239::-;10056:13;;-1:-1:-1;;;;;10056:13:0;;;10048:21;;;;10044:2365;;10106:5;;10097:6;;:14;;;;:::i;:::-;10090:21;;10044:2365;;;10143:13;;-1:-1:-1;;;;;10143:13:0;;;10137:19;;;;10133:2276;;10217:4;10177:20;10200:23;;;:8;:23;;;;;;10255:7;;10246:16;;:41;;;;-1:-1:-1;10266:16:0;;;;;;;:21;10246:41;10242:2060;;;10331:7;;10316:12;:22;10312:1971;;;10386:7;;10371:12;:22;10367:109;;;-1:-1:-1;10441:7:0;;10367:109;10504:21;10610:5;;10605:1;10594:7;;10585:6;;:16;;;;:::i;:::-;10584:22;;;;:::i;:::-;10583:32;;;;:::i;:::-;10544:5;;10529:20;;:12;:20;:::i;:::-;10528:88;;;;:::i;:::-;10504:112;-1:-1:-1;10643:20:0;10666:28;10504:112;10666:12;:28;:::i;:::-;10723:16;:20;;-1:-1:-1;;10723:20:0;;;;;10794:16;;;10808:1;10794:16;;;;;;;;10643:51;;-1:-1:-1;;;10794:16:0;;;;;;;;;;;;-1:-1:-1;10794:16:0;10770:40;;10855:4;10837;10842:1;10837:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10837:23:0;;;-1:-1:-1;;;;;10837:23:0;;;;;10897:4;10887;10892:1;10887:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10887:14:0;;;:7;;;;;;;;;:14;10930:349;;-1:-1:-1;;;10930:349:0;;:15;:96;;;;;;:349;;11061:12;;11108:1;;11144:4;;11183:15;;11233;;10930:349;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11328:1;11312:13;:17;11308:905;;;-1:-1:-1;;;;;11362:15:0;:100;;11501:17;11517:1;11501:13;:17;:::i;:::-;11557:1;11597:4;11648;11692:15;11362:380;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11792:21:0;;-1:-1:-1;;;;;;;11844:15:0;:31;;-1:-1:-1;11844:31:0;11792:21;11933:4;11973:17;11989:1;11973:13;:17;:::i;:::-;12025:1;12061;12097:7;1514;1541:6;-1:-1:-1;;;;;1541:6:0;;1476:79;12097:7;12139:15;11844:341;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11331:882;11308:905;-1:-1:-1;;12239:16:0;:20;;-1:-1:-1;;12239:20:0;;;-1:-1:-1;10312:1971:0;12339:5;;12329:7;;:15;;;;:::i;:::-;12322:22;;10158:2202;10133:2276;;;-1:-1:-1;12392:1:0;10133:2276;-1:-1:-1;;;;;12957:30:0;;12432:13;12957:30;;;:24;:30;;;;;;;;12956:31;12484:329;;;;12541:22;12566:31;12574:4;12580:2;12584:6;12592:4;12566:7;:31::i;:::-;-1:-1:-1;;;;;12614:12:0;;;;;;:8;:12;;;;;:30;;12541:56;;-1:-1:-1;12541:56:0;;12614:12;;;:30;;12541:56;;12614:30;:::i;:::-;;;;;;;;12679:2;-1:-1:-1;;;;;12664:34:0;12673:4;-1:-1:-1;;;;;12664:34:0;-1:-1:-1;;;;;;;;;;;12683:14:0;12664:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;12664:34:0;;;;;;;;12498:212;12484:329;;;-1:-1:-1;;;;;12731:12:0;;;;;;:8;:12;;;;;:22;;12747:6;;12731:12;:22;;12747:6;;12731:22;:::i;:::-;;;;;;;;12790:2;-1:-1:-1;;;;;12775:26:0;12784:4;-1:-1:-1;;;;;12775:26:0;-1:-1:-1;;;;;;;;;;;12794:6:0;12775:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;12775:26:0;;;;;;;;12484:329;8999:3821;;8896:3924;;;:::o;1807:266::-;-1:-1:-1;;;;;1895:22:0;;1873:110;;;;-1:-1:-1;;;1873:110:0;;10648:2:1;1873:110:0;;;10630:21:1;10687:2;10667:18;;;10660:30;10726:34;10706:18;;;10699:62;-1:-1:-1;;;10777:18:1;;;10770:36;10823:19;;1873:110:0;10446:402:1;1873:110:0;2020:6;;;1999:38;;-1:-1:-1;;;;;1999:38:0;;;;2020:6;;;1999:38;;;2048:6;:17;;-1:-1:-1;;;;;;2048:17:0;-1:-1:-1;;;;;2048:17:0;;;;;;;;;;1807:266::o;13003:437::-;13140:7;;13201:3;13181:16;13190:7;13181:6;:16;:::i;:::-;13180:24;;;;:::i;:::-;13160:44;-1:-1:-1;13215:22:0;13240:18;13160:44;13240:6;:18;:::i;:::-;-1:-1:-1;;;;;13271:14:0;;;;;;:8;:14;;;;;:24;;13215:43;;-1:-1:-1;13289:6:0;;13271:14;;;:24;;13289:6;;13271:24;:::i;:::-;;;;-1:-1:-1;;13323:4:0;13306:23;;;;:8;:23;;;;;:36;;13333:9;;13306:23;:36;;13333:9;;13306:36;:::i;:::-;;;;-1:-1:-1;;13358:40:0;;1361:25:1;;;13381:4:0;;-1:-1:-1;;;;;13358:40:0;;;-1:-1:-1;;;;;;;;;;;13358:40:0;1349:2:1;1334:18;13358:40:0;;;;;;;13418:14;13003:437;-1:-1:-1;;;;;;13003:437:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:388::-;2896:6;2904;2957:2;2945:9;2936:7;2932:23;2928:32;2925:52;;;2973:1;2970;2963:12;2925:52;3012:9;2999:23;3031:31;3056:5;3031:31;:::i;:::-;3081:5;-1:-1:-1;3138:2:1;3123:18;;3110:32;3151:33;3110:32;3151:33;:::i;:::-;3203:7;3193:17;;;2828:388;;;;;:::o;3221:127::-;3282:10;3277:3;3273:20;3270:1;3263:31;3313:4;3310:1;3303:15;3337:4;3334:1;3327:15;3353:128;3420:9;;;3441:11;;;3438:37;;;3455:18;;:::i;3486:356::-;3688:2;3670:21;;;3707:18;;;3700:30;3766:34;3761:2;3746:18;;3739:62;3833:2;3818:18;;3486:356::o;3847:125::-;3912:9;;;3933:10;;;3930:36;;;3946:18;;:::i;4675:251::-;4745:6;4798:2;4786:9;4777:7;4773:23;4769:32;4766:52;;;4814:1;4811;4804:12;4766:52;4846:9;4840:16;4865:31;4890:5;4865:31;:::i;5240:607::-;-1:-1:-1;;;;;5599:15:1;;;5581:34;;5646:2;5631:18;;5624:34;;;;5689:2;5674:18;;5667:34;;;;5732:2;5717:18;;5710:34;;;;5781:15;;;5775:3;5760:19;;5753:44;5561:3;5813:19;;5806:35;;;;5530:3;5515:19;;5240:607::o;5852:306::-;5940:6;5948;5956;6009:2;5997:9;5988:7;5984:23;5980:32;5977:52;;;6025:1;6022;6015:12;5977:52;6054:9;6048:16;6038:26;;6104:2;6093:9;6089:18;6083:25;6073:35;;6148:2;6137:9;6133:18;6127:25;6117:35;;5852:306;;;;;:::o;8135:217::-;8175:1;8201;8191:132;;8245:10;8240:3;8236:20;8233:1;8226:31;8280:4;8277:1;8270:15;8308:4;8305:1;8298:15;8191:132;-1:-1:-1;8337:9:1;;8135:217::o;8357:168::-;8430:9;;;8461;;8478:15;;;8472:22;;8458:37;8448:71;;8499:18;;:::i;8662:127::-;8723:10;8718:3;8714:20;8711:1;8704:31;8754:4;8751:1;8744:15;8778:4;8775:1;8768:15;8794:465;8847:3;8885:5;8879:12;8912:6;8907:3;8900:19;8938:4;8967;8962:3;8958:14;8951:21;;9006:4;8999:5;8995:16;9029:1;9039:195;9053:6;9050:1;9047:13;9039:195;;;9118:13;;-1:-1:-1;;;;;9114:39:1;9102:52;;9174:12;;;;9209:15;;;;9150:1;9068:9;9039:195;;;-1:-1:-1;9250:3:1;;8794:465;-1:-1:-1;;;;;8794:465:1:o;9264:590::-;9571:6;9560:9;9553:25;9614:6;9609:2;9598:9;9594:18;9587:34;9657:3;9652:2;9641:9;9637:18;9630:31;9534:4;9678:57;9730:3;9719:9;9715:19;9707:6;9678:57;:::i;:::-;-1:-1:-1;;;;;9771:32:1;;;;9766:2;9751:18;;9744:60;-1:-1:-1;9835:3:1;9820:19;9813:35;9670:65;9264:590;-1:-1:-1;;;9264:590:1:o

Swarm Source

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