ETH Price: $3,348.44 (-0.78%)
Gas: 9 Gwei

Token

SecureAI (SEAI)
 

Overview

Max Total Supply

1,000,000,000 SEAI

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,954,134.01133534 SEAI

Value
$0.00
0x8129d4010a676a660502a4770d8a97f8d1788e5f
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:
SEAI

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-16
*/

// SPDX-License-Identifier: Unlicensed

/**
#AI-based Crypto Fraud Detection for EVM
#AI-based Transactions Monitoring
#AI-based behavioural 1:1 User Ads Targeting

Web: https://secureai.pro
Tg: https://t.me/SecureAI_Official
X: https://twitter.com/SecureAI_ERC
 */

pragma solidity = 0.8.19;

abstract contract Context {
    constructor() {
    }

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

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

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

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

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

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

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

contract SEAI is Context, Ownable, IERC20 {

    string constant private _name = "SecureAI";
    string constant private _symbol = "SEAI";
    uint8 constant private _decimals = 9;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isNoFee;
    mapping (address => bool) private _isLiquiditySupplier;
    mapping (address => bool) private _isLiquidityPair;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 10 ** 9 * 10**9;
    uint256 constant public minTokensToSwapTax = _totalSupply / 100_000;
    uint256 constant public feeOnTransfer = 0;
    uint256 constant public feeDenominator = 1_000;
    uint256 public feeOnBuys = 200;
    uint256 public feeOnSells = 200;
    uint256 private _maxTxAmount = 20 * _totalSupply / 1000;
    bool private _canSwapTaxTokens = true;
    address payable private _feeReceipient;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;

    address public pairAddress;
    IUniswapRouterV2 public uniswapRouter;
    bool public buyActive = false;
    bool private _swapping;
    bool private maxTxDeactivated = false;

    modifier inSwapFlag {
        _swapping = true;
        _;
        _swapping = false;
    }
    event SwapAndLiquify();


    constructor () {
        uniswapRouter = IUniswapRouterV2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _isNoFee[msg.sender] = true;
        _feeReceipient = payable(address(0xF9E760BBd6533196Fe178543Af180B828d80B39e));
        _isNoFee[_feeReceipient] = true;
        _isLiquiditySupplier[msg.sender] = true;
        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

        pairAddress = IUniswapFactoryV2(uniswapRouter.factory()).createPair(uniswapRouter.WETH(), address(this));
        _isLiquidityPair[pairAddress] = true;
        _approve(msg.sender, address(uniswapRouter), type(uint256).max);
        _approve(address(this), address(uniswapRouter), type(uint256).max);
    }

    function totalSupply() external pure override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply; }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }
                    
    function swapBack(uint256 tokenAmount) internal inSwapFlag {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

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

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

        if(address(this).balance > 0) _feeReceipient.transfer(address(this).balance);
    } 
    
    function shouldSwap(address ins) internal view returns (bool) {
        bool canswap = _canSwapTaxTokens && !_isNoFee[ins];
        return canswap;
    }
    
    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: can't transfer to the dead address");
        require(from != address(0), "ERC20: can't transfer from the dead address");
        require(amount > 0, "transfer amount must be greater than zero");

        if (checkLimited(from,to)) {
            require(buyActive,"Trading is not enabled");
                    if(!_isLiquidityPair[to] && from != address(this) && to != address(this) || isOnTransfer(from,to) && !maxTxDeactivated)  { require(balanceOf(to) + amount <= _maxTxAmount,"_maxTxAmount exceed"); }}


        if(isOnSell(from, to) &&  !_swapping && shouldSwap(from)) {

            uint256 tokenAmount = balanceOf(address(this));
            if(tokenAmount >= minTokensToSwapTax) { 
                if(amount > minTokensToSwapTax) swapBack(tokenAmount);
             }
        }

        if (_isNoFee[from] || _isNoFee[to]){
            takeFee = false;
        }
        uint256 amountAfterFee = (takeFee) ? transferFee(from, isOnBuy(from, to), isOnSell(from, to), amount) : amount;
        uint256 amountBeforeFee = (takeFee) ? amount : (!buyActive ? amount : 0);
        balance[from] -= amountBeforeFee; balance[to] += amountAfterFee; emit Transfer(from, to, amountAfterFee);

        return true;
    }

    receive() external payable {}
    
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Approveal on Zero Address");
        require(spender != address(0), "ERC20: Approveal on Zero Address");

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

        return _transfer(sender, recipient, amount);
    }
    
    function allowTrading() external onlyOwner {
        require(!buyActive, "Already Started");
        buyActive = true;
    }
    
    function finishSettings() external onlyOwner {
        require(!maxTxDeactivated,"Already removed limit");
        _maxTxAmount = _totalSupply;
        maxTxDeactivated = true;
        feeOnBuys = 30;
        feeOnSells = 30;
    }

    function checkLimited(address ins, address out) internal view returns (bool) {
        bool isLimited = ins != owner()
            && out != owner()
            && msg.sender != owner()
            && !_isLiquiditySupplier[ins]  && !_isLiquiditySupplier[out] && out != address(0) && out != address(this);
            return isLimited;
    }
    
    function isOnBuy(address ins, address out) internal view returns (bool) {
        bool _is_buy = !_isLiquidityPair[out] && _isLiquidityPair[ins];
        return _is_buy;
    }

    function isOnSell(address ins, address out) internal view returns (bool) { 
        bool _is_sell = _isLiquidityPair[out] && !_isLiquidityPair[ins];
        return _is_sell;
    }

    function isOnTransfer(address ins, address out) internal view returns (bool) { 
        bool _is_transfer = !_isLiquidityPair[out] && !_isLiquidityPair[ins];
        return _is_transfer;
    }
    
    function transferFee(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = feeOnBuys;  else if (issell)  fee = feeOnSells;  else  fee = feeOnTransfer; 
        if (fee == 0)  return amount; 
        uint256 feeAmount = amount * fee / feeDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        return amount - feeAmount;
    }
}

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":[],"name":"SwapAndLiquify","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnBuys","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeOnTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finishSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensToSwapTax","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260c860068190556007556103e862000026670de0b6b3a7640000601462000442565b6200003291906200046e565b6008556009805460ff19166001179055600b805462ff00ff60a01b191690553480156200005e57600080fd5b506200006a3362000334565b600b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055336000818152600260209081526040808320805460ff1990811660019081179092556009805474f9e760bbd6533196fe178543af180b828d80b39e00610100600160a81b0319909116179081905561010090046001600160a01b031685528285208054821683179055858552600384528285208054909116909117905560058252808320670de0b6b3a76400009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600b60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001cb919062000491565b6001600160a01b031663c9c65396600b60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000253919062000491565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000491565b600a80546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff19166001179055600b54620003129133911660001962000384565b600b546200032e9030906001600160a01b031660001962000384565b620004c3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003cf5760405162461bcd60e51b815260206004820181905260248201526000805160206200193083398151915260448201526064015b60405180910390fd5b6001600160a01b038216620004165760405162461bcd60e51b81526020600482018190526024820152600080516020620019308339815191526044820152606401620003c6565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b80820281158282048414176200046857634e487b7160e01b600052601160045260246000fd5b92915050565b6000826200048c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004a457600080fd5b81516001600160a01b0381168114620004bc57600080fd5b9392505050565b61145d80620004d36000396000f3fe60806040526004361061016a5760003560e01c806368c7d1af116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb1461040e578063d909f0521461042e578063dd62ed3e14610443578063f2fde38b1461048957600080fd5b806395d89b41146103a0578063a11a1add146103cd578063a8b08982146103ee57600080fd5b806368c7d1af1461030257806370a0823114610317578063715018a61461034d578063735de9f714610362578063893d20e8146103825780638da5cb5b1461038257600080fd5b806323b872dd1161012357806323b872dd146102675780632e5b4c4314610287578063313ce5671461029e5780633eaaf86b146102ba578063449bb27d146102d6578063590b5f5f146102ec57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e35780630fa1eeab14610213578063180b0d7e1461023657806318160ddd1461024c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b50604080518082019091526008815267536563757265414960c01b60208201525b6040516101a091906111b3565b3480156101ef57600080fd5b506102036101fe366004611216565b6104a9565b60405190151581526020016101a0565b34801561021f57600080fd5b50610228600081565b6040519081526020016101a0565b34801561024257600080fd5b506102286103e881565b34801561025857600080fd5b50670de0b6b3a7640000610228565b34801561027357600080fd5b50610203610282366004611242565b6104c0565b34801561029357600080fd5b5061029c610538565b005b3480156102aa57600080fd5b50604051600981526020016101a0565b3480156102c657600080fd5b50610228670de0b6b3a764000081565b3480156102e257600080fd5b5061022860075481565b3480156102f857600080fd5b5061022860065481565b34801561030e57600080fd5b5061029c6105cc565b34801561032357600080fd5b50610228610332366004611283565b6001600160a01b031660009081526005602052604090205490565b34801561035957600080fd5b5061029c610673565b34801561036e57600080fd5b50600b5461018c906001600160a01b031681565b34801561038e57600080fd5b506000546001600160a01b031661018c565b3480156103ac57600080fd5b506040805180820190915260048152635345414960e01b60208201526101d6565b3480156103d957600080fd5b50600b5461020390600160a01b900460ff1681565b3480156103fa57600080fd5b50600a5461018c906001600160a01b031681565b34801561041a57600080fd5b50610203610429366004611216565b6106a9565b34801561043a57600080fd5b506102286106c0565b34801561044f57600080fd5b5061022861045e3660046112a0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561049557600080fd5b5061029c6104a4366004611283565b6106d8565b60006104b6338484610773565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610525576001600160a01b03841660009081526001602090815260408083203384529091528120805484929061051f9084906112ef565b90915550505b61053084848461084b565b949350505050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161056290611302565b60405180910390fd5b600b54600160a01b900460ff16156105b75760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4814dd185c9d1959608a1b6044820152606401610562565b600b805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105f65760405162461bcd60e51b815260040161056290611302565b600b54600160b01b900460ff16156106485760405162461bcd60e51b8152602060048201526015602482015274105b1c9958591e481c995b5bdd9959081b1a5b5a5d605a1b6044820152606401610562565b670de0b6b3a7640000600855600b805460ff60b01b1916600160b01b179055601e6006819055600755565b6000546001600160a01b0316331461069d5760405162461bcd60e51b815260040161056290611302565b6106a76000610ca6565b565b60006106b633848461084b565b5060019392505050565b6106d5620186a0670de0b6b3a7640000611337565b81565b6000546001600160a01b031633146107025760405162461bcd60e51b815260040161056290611302565b6001600160a01b0381166107675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610562565b61077081610ca6565b50565b6001600160a01b0383166107c95760405162461bcd60e51b815260206004820181905260248201527f45524332303a20417070726f7665616c206f6e205a65726f20416464726573736044820152606401610562565b6001600160a01b03821661081f5760405162461bcd60e51b815260206004820181905260248201527f45524332303a20417070726f7665616c206f6e205a65726f20416464726573736044820152606401610562565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166108b75760405162461bcd60e51b815260206004820152602960248201527f45524332303a2063616e2774207472616e7366657220746f207468652064656160448201526864206164647265737360b81b6064820152608401610562565b6001600160a01b0385166109215760405162461bcd60e51b815260206004820152602b60248201527f45524332303a2063616e2774207472616e736665722066726f6d20746865206460448201526a656164206164647265737360a81b6064820152608401610562565b600083116109835760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610562565b61098d8585610cf6565b15610ac757600b54600160a01b900460ff166109e45760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610562565b6001600160a01b03841660009081526004602052604090205460ff16158015610a1657506001600160a01b0385163014155b8015610a2b57506001600160a01b0384163014155b80610a515750610a3b8585610dcb565b8015610a515750600b54600160b01b900460ff16155b15610ac75760085483610a79866001600160a01b031660009081526005602052604090205490565b610a839190611359565b1115610ac75760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b6044820152606401610562565b610ad18585610e13565b8015610ae75750600b54600160a81b900460ff16155b8015610af75750610af785610e5a565b15610b4e5730600090815260056020526040902054610b21620186a0670de0b6b3a7640000611337565b8110610b4c57610b3c620186a0670de0b6b3a7640000611337565b841115610b4c57610b4c81610e91565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b8d57506001600160a01b03841660009081526002602052604090205460ff165b15610b96575060005b600081610ba35783610bc1565b610bc186610bb1888861109b565b610bbb8989610e13565b876110e2565b9050600082610be957600b54600160a01b900460ff1615610be3576000610beb565b84610beb565b845b6001600160a01b038816600090815260056020526040812080549293508392909190610c189084906112ef565b90915550506001600160a01b03861660009081526005602052604081208054849290610c45908490611359565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c9191815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610d0b6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d3a57506000546001600160a01b03848116911614155b8015610d5157506000546001600160a01b03163314155b8015610d7657506001600160a01b03841660009081526003602052604090205460ff16155b8015610d9b57506001600160a01b03831660009081526003602052604090205460ff16155b8015610daf57506001600160a01b03831615155b801561053057506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1615801561053057505050506001600160a01b031660009081526004602052604090205460ff161590565b6001600160a01b038116600090815260046020526040812054819060ff16801561053057505050506001600160a01b031660009081526004602052604090205460ff161590565b600954600090819060ff168015610e8a57506001600160a01b03831660009081526002602052604090205460ff16155b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ed957610ed961136c565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190611382565b81600181518110610f6957610f6961136c565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600b54909416825292909152205460001914610fd357306000908152600160209081526040808320600b546001600160a01b03168452909152902060001990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061100c90859060009086903090429060040161139f565b600060405180830381600087803b15801561102657600080fd5b505af1925050508015611037575060015b611041575061108b565b4715611089576009546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611087573d6000803e3d6000fd5b505b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff1615801561053057505050506001600160a01b031660009081526004602052604090205460ff1690565b60008084156110f45750600654611107565b83156111035750600754611107565b5060005b806000036111185782915050610530565b60006103e86111278386611410565b6111319190611337565b9050801561119e573060009081526005602052604081208054839290611158908490611359565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111a881856112ef565b979650505050505050565b600060208083528351808285015260005b818110156111e0578581018301518582016040015282016111c4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077057600080fd5b6000806040838503121561122957600080fd5b823561123481611201565b946020939093013593505050565b60008060006060848603121561125757600080fd5b833561126281611201565b9250602084013561127281611201565b929592945050506040919091013590565b60006020828403121561129557600080fd5b8135610e8a81611201565b600080604083850312156112b357600080fd5b82356112be81611201565b915060208301356112ce81611201565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ba576104ba6112d9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261135457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104ba576104ba6112d9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561139457600080fd5b8151610e8a81611201565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113ef5784516001600160a01b0316835293830193918301916001016113ca565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104ba576104ba6112d956fea2646970667358221220eebb8ab8d02c935694fb2032b186ab59fcfa41e6668b90650d608e536e38467c64736f6c6343000813003345524332303a20417070726f7665616c206f6e205a65726f2041646472657373

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806368c7d1af116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb1461040e578063d909f0521461042e578063dd62ed3e14610443578063f2fde38b1461048957600080fd5b806395d89b41146103a0578063a11a1add146103cd578063a8b08982146103ee57600080fd5b806368c7d1af1461030257806370a0823114610317578063715018a61461034d578063735de9f714610362578063893d20e8146103825780638da5cb5b1461038257600080fd5b806323b872dd1161012357806323b872dd146102675780632e5b4c4314610287578063313ce5671461029e5780633eaaf86b146102ba578063449bb27d146102d6578063590b5f5f146102ec57600080fd5b806303fd2a451461017657806306fdde03146101a9578063095ea7b3146101e35780630fa1eeab14610213578063180b0d7e1461023657806318160ddd1461024c57600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101b557600080fd5b50604080518082019091526008815267536563757265414960c01b60208201525b6040516101a091906111b3565b3480156101ef57600080fd5b506102036101fe366004611216565b6104a9565b60405190151581526020016101a0565b34801561021f57600080fd5b50610228600081565b6040519081526020016101a0565b34801561024257600080fd5b506102286103e881565b34801561025857600080fd5b50670de0b6b3a7640000610228565b34801561027357600080fd5b50610203610282366004611242565b6104c0565b34801561029357600080fd5b5061029c610538565b005b3480156102aa57600080fd5b50604051600981526020016101a0565b3480156102c657600080fd5b50610228670de0b6b3a764000081565b3480156102e257600080fd5b5061022860075481565b3480156102f857600080fd5b5061022860065481565b34801561030e57600080fd5b5061029c6105cc565b34801561032357600080fd5b50610228610332366004611283565b6001600160a01b031660009081526005602052604090205490565b34801561035957600080fd5b5061029c610673565b34801561036e57600080fd5b50600b5461018c906001600160a01b031681565b34801561038e57600080fd5b506000546001600160a01b031661018c565b3480156103ac57600080fd5b506040805180820190915260048152635345414960e01b60208201526101d6565b3480156103d957600080fd5b50600b5461020390600160a01b900460ff1681565b3480156103fa57600080fd5b50600a5461018c906001600160a01b031681565b34801561041a57600080fd5b50610203610429366004611216565b6106a9565b34801561043a57600080fd5b506102286106c0565b34801561044f57600080fd5b5061022861045e3660046112a0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561049557600080fd5b5061029c6104a4366004611283565b6106d8565b60006104b6338484610773565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001914610525576001600160a01b03841660009081526001602090815260408083203384529091528120805484929061051f9084906112ef565b90915550505b61053084848461084b565b949350505050565b6000546001600160a01b0316331461056b5760405162461bcd60e51b815260040161056290611302565b60405180910390fd5b600b54600160a01b900460ff16156105b75760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4814dd185c9d1959608a1b6044820152606401610562565b600b805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105f65760405162461bcd60e51b815260040161056290611302565b600b54600160b01b900460ff16156106485760405162461bcd60e51b8152602060048201526015602482015274105b1c9958591e481c995b5bdd9959081b1a5b5a5d605a1b6044820152606401610562565b670de0b6b3a7640000600855600b805460ff60b01b1916600160b01b179055601e6006819055600755565b6000546001600160a01b0316331461069d5760405162461bcd60e51b815260040161056290611302565b6106a76000610ca6565b565b60006106b633848461084b565b5060019392505050565b6106d5620186a0670de0b6b3a7640000611337565b81565b6000546001600160a01b031633146107025760405162461bcd60e51b815260040161056290611302565b6001600160a01b0381166107675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610562565b61077081610ca6565b50565b6001600160a01b0383166107c95760405162461bcd60e51b815260206004820181905260248201527f45524332303a20417070726f7665616c206f6e205a65726f20416464726573736044820152606401610562565b6001600160a01b03821661081f5760405162461bcd60e51b815260206004820181905260248201527f45524332303a20417070726f7665616c206f6e205a65726f20416464726573736044820152606401610562565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b600060016001600160a01b0384166108b75760405162461bcd60e51b815260206004820152602960248201527f45524332303a2063616e2774207472616e7366657220746f207468652064656160448201526864206164647265737360b81b6064820152608401610562565b6001600160a01b0385166109215760405162461bcd60e51b815260206004820152602b60248201527f45524332303a2063616e2774207472616e736665722066726f6d20746865206460448201526a656164206164647265737360a81b6064820152608401610562565b600083116109835760405162461bcd60e51b815260206004820152602960248201527f7472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610562565b61098d8585610cf6565b15610ac757600b54600160a01b900460ff166109e45760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b6044820152606401610562565b6001600160a01b03841660009081526004602052604090205460ff16158015610a1657506001600160a01b0385163014155b8015610a2b57506001600160a01b0384163014155b80610a515750610a3b8585610dcb565b8015610a515750600b54600160b01b900460ff16155b15610ac75760085483610a79866001600160a01b031660009081526005602052604090205490565b610a839190611359565b1115610ac75760405162461bcd60e51b815260206004820152601360248201527217db585e151e105b5bdd5b9d08195e18d95959606a1b6044820152606401610562565b610ad18585610e13565b8015610ae75750600b54600160a81b900460ff16155b8015610af75750610af785610e5a565b15610b4e5730600090815260056020526040902054610b21620186a0670de0b6b3a7640000611337565b8110610b4c57610b3c620186a0670de0b6b3a7640000611337565b841115610b4c57610b4c81610e91565b505b6001600160a01b03851660009081526002602052604090205460ff1680610b8d57506001600160a01b03841660009081526002602052604090205460ff165b15610b96575060005b600081610ba35783610bc1565b610bc186610bb1888861109b565b610bbb8989610e13565b876110e2565b9050600082610be957600b54600160a01b900460ff1615610be3576000610beb565b84610beb565b845b6001600160a01b038816600090815260056020526040812080549293508392909190610c189084906112ef565b90915550506001600160a01b03861660009081526005602052604081208054849290610c45908490611359565b92505081905550856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c9191815260200190565b60405180910390a35060019695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080610d0b6000546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d3a57506000546001600160a01b03848116911614155b8015610d5157506000546001600160a01b03163314155b8015610d7657506001600160a01b03841660009081526003602052604090205460ff16155b8015610d9b57506001600160a01b03831660009081526003602052604090205460ff16155b8015610daf57506001600160a01b03831615155b801561053057506001600160a01b038316301415949350505050565b6001600160a01b038116600090815260046020526040812054819060ff1615801561053057505050506001600160a01b031660009081526004602052604090205460ff161590565b6001600160a01b038116600090815260046020526040812054819060ff16801561053057505050506001600160a01b031660009081526004602052604090205460ff161590565b600954600090819060ff168015610e8a57506001600160a01b03831660009081526002602052604090205460ff16155b9392505050565b600b805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ed957610ed961136c565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f569190611382565b81600181518110610f6957610f6961136c565b6001600160a01b03928316602091820292909201810191909152306000908152600182526040808220600b54909416825292909152205460001914610fd357306000908152600160209081526040808320600b546001600160a01b03168452909152902060001990555b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061100c90859060009086903090429060040161139f565b600060405180830381600087803b15801561102657600080fd5b505af1925050508015611037575060015b611041575061108b565b4715611089576009546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015611087573d6000803e3d6000fd5b505b505b50600b805460ff60a81b19169055565b6001600160a01b038116600090815260046020526040812054819060ff1615801561053057505050506001600160a01b031660009081526004602052604090205460ff1690565b60008084156110f45750600654611107565b83156111035750600754611107565b5060005b806000036111185782915050610530565b60006103e86111278386611410565b6111319190611337565b9050801561119e573060009081526005602052604081208054839290611158908490611359565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6111a881856112ef565b979650505050505050565b600060208083528351808285015260005b818110156111e0578581018301518582016040015282016111c4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077057600080fd5b6000806040838503121561122957600080fd5b823561123481611201565b946020939093013593505050565b60008060006060848603121561125757600080fd5b833561126281611201565b9250602084013561127281611201565b929592945050506040919091013590565b60006020828403121561129557600080fd5b8135610e8a81611201565b600080604083850312156112b357600080fd5b82356112be81611201565b915060208301356112ce81611201565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ba576104ba6112d9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008261135457634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104ba576104ba6112d9565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561139457600080fd5b8151610e8a81611201565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113ef5784516001600160a01b0316835293830193918301916001016113ca565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176104ba576104ba6112d956fea2646970667358221220eebb8ab8d02c935694fb2032b186ab59fcfa41e6668b90650d608e536e38467c64736f6c63430008130033

Deployed Bytecode Sourcemap

4828:8080:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5778:73;;;;;;;;;;;;5809:42;5778:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5778:73:0;;;;;;;;7284:80;;;;;;;;;;-1:-1:-1;7356:5:0;;;;;;;;;;;;-1:-1:-1;;;7356:5:0;;;;7284:80;;;;;;;:::i;10270:161::-;;;;;;;;;;-1:-1:-1;10270:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;10270:161:0;1231:187:1;5451:41:0;;;;;;;;;;;;5491:1;5451:41;;;;;1569:25:1;;;1557:2;1542:18;5451:41:0;1423:177:1;5499:46:0;;;;;;;;;;;;5540:5;5499:46;;6940:125;;;;;;;;;;-1:-1:-1;5355:15:0;6940:125;;10738:306;;;;;;;;;;-1:-1:-1;10738:306:0;;;;;:::i;:::-;;:::i;11056:127::-;;;;;;;;;;;;;:::i;:::-;;7071:117;;;;;;;;;;-1:-1:-1;7071:117:0;;5010:1;2208:36:1;;2196:2;2181:18;7071:117:0;2066:184:1;5316:54:0;;;;;;;;;;;;5355:15;5316:54;;5589:31;;;;;;;;;;;;;;;;5552:30;;;;;;;;;;;;;;;;11195:237;;;;;;;;;;;;;:::i;7595:117::-;;;;;;;;;;-1:-1:-1;7595:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7688:16:0;7661:7;7688:16;;;:7;:16;;;;;;;7595:117;1053:94;;;;;;;;;;;;;:::i;5893:37::-;;;;;;;;;;-1:-1:-1;5893:37:0;;;;-1:-1:-1;;;;;5893:37:0;;;7370:80;;;;;;;;;;-1:-1:-1;7422:7:0;903:6;-1:-1:-1;;;;;903:6:0;7370:80;;7194:84;;;;;;;;;;-1:-1:-1;7268:7:0;;;;;;;;;;;;-1:-1:-1;;;7268:7:0;;;;7194:84;;5937:29;;;;;;;;;;-1:-1:-1;5937:29:0;;;;-1:-1:-1;;;5937:29:0;;;;;;5860:26;;;;;;;;;;-1:-1:-1;5860:26:0;;;;-1:-1:-1;;;;;5860:26:0;;;10093:165;;;;;;;;;;-1:-1:-1;10093:165:0;;;;;:::i;:::-;;:::i;5377:67::-;;;;;;;;;;;;;:::i;7456:133::-;;;;;;;;;;-1:-1:-1;7456:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;7558:19:0;;;7540:7;7558:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7456:133;1155:192;;;;;;;;;;-1:-1:-1;1155:192:0;;;;;:::i;:::-;;:::i;10270:161::-;10347:4;10364:37;10373:10;10385:7;10394:6;10364:8;:37::i;:::-;-1:-1:-1;10419:4:0;10270:161;;;;;:::o;10738:306::-;-1:-1:-1;;;;;10859:19:0;;10838:4;10859:19;;;:11;:19;;;;;;;;10879:10;10859:31;;;;;;;;-1:-1:-1;;10859:52:0;10855:126;;-1:-1:-1;;;;;10928:19:0;;;;;;:11;:19;;;;;;;;10948:10;10928:31;;;;;;;:41;;10963:6;;10928:19;:41;;10963:6;;10928:41;:::i;:::-;;;;-1:-1:-1;;10855:126:0;11000:36;11010:6;11018:9;11029:6;11000:9;:36::i;:::-;10993:43;10738:306;-1:-1:-1;;;;10738:306:0:o;11056:127::-;876:7;903:6;-1:-1:-1;;;;;903:6:0;459:10;965:23;957:68;;;;-1:-1:-1;;;957:68:0;;;;;;;:::i;:::-;;;;;;;;;11119:9:::1;::::0;-1:-1:-1;;;11119:9:0;::::1;;;11118:10;11110:38;;;::::0;-1:-1:-1;;;11110:38:0;;3960:2:1;11110:38:0::1;::::0;::::1;3942:21:1::0;3999:2;3979:18;;;3972:30;-1:-1:-1;;;4018:18:1;;;4011:45;4073:18;;11110:38:0::1;3758:339:1::0;11110:38:0::1;11159:9;:16:::0;;-1:-1:-1;;;;11159:16:0::1;-1:-1:-1::0;;;11159:16:0::1;::::0;;11056:127::o;11195:237::-;876:7;903:6;-1:-1:-1;;;;;903:6:0;459:10;965:23;957:68;;;;-1:-1:-1;;;957:68:0;;;;;;;:::i;:::-;11260:16:::1;::::0;-1:-1:-1;;;11260:16:0;::::1;;;11259:17;11251:50;;;::::0;-1:-1:-1;;;11251:50:0;;4304:2:1;11251:50:0::1;::::0;::::1;4286:21:1::0;4343:2;4323:18;;;4316:30;-1:-1:-1;;;4362:18:1;;;4355:51;4423:18;;11251:50:0::1;4102:345:1::0;11251:50:0::1;5355:15;11312:12;:27:::0;11350:16:::1;:23:::0;;-1:-1:-1;;;;11350:23:0::1;-1:-1:-1::0;;;11350:23:0::1;::::0;;11396:2:::1;11384:9;:14:::0;;;11409:10:::1;:15:::0;11195:237::o;1053:94::-;876:7;903:6;-1:-1:-1;;;;;903:6:0;459:10;965:23;957:68;;;;-1:-1:-1;;;957:68:0;;;;;;;:::i;:::-;1118:21:::1;1136:1;1118:9;:21::i;:::-;1053:94::o:0;10093:165::-;10171:4;10188:40;10198:10;10210:9;10221:6;10188:9;:40::i;:::-;-1:-1:-1;10246:4:0;;10093:165;-1:-1:-1;;;10093:165:0:o;5377:67::-;5422:22;5437:7;5355:15;5422:22;:::i;:::-;5377:67;:::o;1155:192::-;876:7;903:6;-1:-1:-1;;;;;903:6:0;459:10;965:23;957:68;;;;-1:-1:-1;;;957:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1244:22:0;::::1;1236:73;;;::::0;-1:-1:-1;;;1236:73:0;;4876:2:1;1236:73:0::1;::::0;::::1;4858:21:1::0;4915:2;4895:18;;;4888:30;4954:34;4934:18;;;4927:62;-1:-1:-1;;;5005:18:1;;;4998:36;5051:19;;1236:73:0::1;4674:402:1::0;1236:73:0::1;1320:19;1330:8;1320:9;:19::i;:::-;1155:192:::0;:::o;10439:287::-;-1:-1:-1;;;;;10534:20:0;;10526:65;;;;-1:-1:-1;;;10526:65:0;;5283:2:1;10526:65:0;;;5265:21:1;;;5302:18;;;5295:30;5361:34;5341:18;;;5334:62;5413:18;;10526:65:0;5081:356:1;10526:65:0;-1:-1:-1;;;;;10610:21:0;;10602:66;;;;-1:-1:-1;;;10602:66:0;;5283:2:1;10602:66:0;;;5265:21:1;;;5302:18;;;5295:30;5361:34;5341:18;;;5334:62;5413:18;;10602:66:0;5081:356:1;10602:66:0;-1:-1:-1;;;;;10681:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;10439:287::o;8642:1402::-;8722:4;8754;-1:-1:-1;;;;;8777:16:0;;8769:70;;;;-1:-1:-1;;;8769:70:0;;5644:2:1;8769:70:0;;;5626:21:1;5683:2;5663:18;;;5656:30;5722:34;5702:18;;;5695:62;-1:-1:-1;;;5773:18:1;;;5766:39;5822:19;;8769:70:0;5442:405:1;8769:70:0;-1:-1:-1;;;;;8858:18:0;;8850:74;;;;-1:-1:-1;;;8850:74:0;;6054:2:1;8850:74:0;;;6036:21:1;6093:2;6073:18;;;6066:30;6132:34;6112:18;;;6105:62;-1:-1:-1;;;6183:18:1;;;6176:41;6234:19;;8850:74:0;5852:407:1;8850:74:0;8952:1;8943:6;:10;8935:64;;;;-1:-1:-1;;;8935:64:0;;6466:2:1;8935:64:0;;;6448:21:1;6505:2;6485:18;;;6478:30;6544:34;6524:18;;;6517:62;-1:-1:-1;;;6595:18:1;;;6588:39;6644:19;;8935:64:0;6264:405:1;8935:64:0;9016:21;9029:4;9034:2;9016:12;:21::i;:::-;9012:304;;;9062:9;;-1:-1:-1;;;9062:9:0;;;;9054:43;;;;-1:-1:-1;;;9054:43:0;;6876:2:1;9054:43:0;;;6858:21:1;6915:2;6895:18;;;6888:30;-1:-1:-1;;;6934:18:1;;;6927:52;6996:18;;9054:43:0;6674:346:1;9054:43:0;-1:-1:-1;;;;;9124:20:0;;;;;;:16;:20;;;;;;;;9123:21;:46;;;;-1:-1:-1;;;;;;9148:21:0;;9164:4;9148:21;;9123:46;:69;;;;-1:-1:-1;;;;;;9173:19:0;;9187:4;9173:19;;9123:69;:115;;;;9196:21;9209:4;9214:2;9196:12;:21::i;:::-;:42;;;;-1:-1:-1;9222:16:0;;-1:-1:-1;;;9222:16:0;;;;9221:17;9196:42;9120:195;;;9277:12;;9267:6;9251:13;9261:2;-1:-1:-1;;;;;7688:16:0;7661:7;7688:16;;;:7;:16;;;;;;;7595:117;9251:13;:22;;;;:::i;:::-;:38;;9243:69;;;;-1:-1:-1;;;9243:69:0;;7357:2:1;9243:69:0;;;7339:21:1;7396:2;7376:18;;;7369:30;-1:-1:-1;;;7415:18:1;;;7408:49;7474:18;;9243:69:0;7155:343:1;9243:69:0;9333:18;9342:4;9348:2;9333:8;:18::i;:::-;:33;;;;-1:-1:-1;9357:9:0;;-1:-1:-1;;;9357:9:0;;;;9356:10;9333:33;:53;;;;;9370:16;9381:4;9370:10;:16::i;:::-;9330:275;;;9445:4;9405:19;7688:16;;;:7;:16;;;;;;5422:22;5437:7;5355:15;5422:22;:::i;:::-;9469:11;:33;9466:128;;5422:22;5437:7;5355:15;5422:22;:::i;:::-;9527:6;:27;9524:53;;;9556:21;9565:11;9556:8;:21::i;:::-;9388:217;9330:275;-1:-1:-1;;;;;9621:14:0;;;;;;:8;:14;;;;;;;;;:30;;-1:-1:-1;;;;;;9639:12:0;;;;;;:8;:12;;;;;;;;9621:30;9617:77;;;-1:-1:-1;9677:5:0;9617:77;9704:22;9730:7;9729:85;;9808:6;9729:85;;;9741:64;9753:4;9759:17;9767:4;9773:2;9759:7;:17::i;:::-;9778:18;9787:4;9793:2;9778:8;:18::i;:::-;9798:6;9741:11;:64::i;:::-;9704:110;;9825:23;9852:7;9851:46;;9874:9;;-1:-1:-1;;;9874:9:0;;;;9873:10;:23;;9895:1;9851:46;;9873:23;9886:6;9851:46;;;9863:6;9851:46;-1:-1:-1;;;;;9908:13:0;;;;;;:7;:13;;;;;:32;;9825:72;;-1:-1:-1;9825:72:0;;9908:13;;;:32;;9825:72;;9908:32;:::i;:::-;;;;-1:-1:-1;;;;;;;9942:11:0;;;;;;:7;:11;;;;;:29;;9957:14;;9942:11;:29;;9957:14;;9942:29;:::i;:::-;;;;;;;;9993:2;-1:-1:-1;;;;;9978:34:0;9987:4;-1:-1:-1;;;;;9978:34:0;;9997:14;9978:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;9978:34:0;;;;;;;;-1:-1:-1;10032:4:0;;8642:1402;-1:-1:-1;;;;;;8642:1402:0:o;1355:173::-;1411:16;1430:6;;-1:-1:-1;;;;;1447:17:0;;;-1:-1:-1;;;;;;1447:17:0;;;;;;1480:40;;1430:6;;;;;;;1480:40;;1411:16;1480:40;1400:128;1355:173;:::o;11440:346::-;11511:4;11528:14;11552:7;876;903:6;-1:-1:-1;;;;;903:6:0;;830:87;11552:7;-1:-1:-1;;;;;11545:14:0;:3;-1:-1:-1;;;;;11545:14:0;;;:45;;;;-1:-1:-1;876:7:0;903:6;-1:-1:-1;;;;;11576:14:0;;;903:6;;11576:14;;11545:45;:83;;;;-1:-1:-1;876:7:0;903:6;-1:-1:-1;;;;;903:6:0;11607:10;:21;;11545:83;:126;;;;-1:-1:-1;;;;;;11646:25:0;;;;;;:20;:25;;;;;;;;11645:26;11545:126;:157;;;;-1:-1:-1;;;;;;11677:25:0;;;;;;:20;:25;;;;;;;;11676:26;11545:157;:178;;;;-1:-1:-1;;;;;;11706:17:0;;;;11545:178;:202;;;;-1:-1:-1;;;;;;11727:20:0;;11742:4;11727:20;;11528:219;11440:346;-1:-1:-1;;;;11440:346:0:o;12174:195::-;-1:-1:-1;;;;;12284:21:0;;12245:4;12284:21;;;:16;:21;;;;;;12245:4;;12284:21;;12283:22;:48;;;;-1:-1:-1;;;;;;;;;12310:21:0;;;;;:16;:21;;;;;;;;12309:22;;12174:195::o;11984:182::-;-1:-1:-1;;;;;12085:21:0;;12051:4;12085:21;;;:16;:21;;;;;;12051:4;;12085:21;;:47;;;;-1:-1:-1;;;;;;;;;12111:21:0;;;;;:16;:21;;;;;;;;12110:22;;11984:182::o;8474:156::-;8562:17;;8530:4;;;;8562:17;;:35;;;;-1:-1:-1;;;;;;8584:13:0;;;;;;:8;:13;;;;;;;;8583:14;8562:35;8547:50;8474:156;-1:-1:-1;;;8474:156:0:o;7740:721::-;6079:9;:16;;-1:-1:-1;;;;6079:16:0;-1:-1:-1;;;6079:16:0;;;7834::::1;::::0;;7848:1:::1;7834:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7834:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7834:16:0::1;7810:40;;7879:4;7861;7866:1;7861:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7861:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7905:13:::1;::::0;:20:::1;::::0;;-1:-1:-1;;;7905:20:0;;;;:13;;;::::1;::::0;:18:::1;::::0;:20:::1;::::0;;::::1;::::0;7861:7;;7905:20;;;;;:13;:20:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7895:4;7900:1;7895:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7895:30:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:30;;;;7962:4:::1;7942:26;::::0;;;:11:::1;:26:::0;;;;;;7977:13:::1;::::0;;;::::1;7942:50:::0;;;;;;;;-1:-1:-1;;7942:71:0::1;7938:174;;8050:4;8030:26;::::0;;;:11:::1;:26;::::0;;;;;;;8065:13:::1;::::0;-1:-1:-1;;;;;8065:13:0::1;8030:50:::0;;;;;;;-1:-1:-1;;8030:70:0;;7938:174:::1;8128:13;::::0;:194:::1;::::0;-1:-1:-1;;;8128:194:0;;-1:-1:-1;;;;;8128:13:0;;::::1;::::0;:64:::1;::::0;:194:::1;::::0;8207:11;;8128:13:::1;::::0;8249:4;;8276::::1;::::0;8296:15:::1;::::0;8128:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8124:241;;8347:7;;;8124:241;8380:21;:25:::0;8377:76:::1;;8407:14;::::0;:46:::1;::::0;-1:-1:-1;;;;;8407:14:0::1;::::0;;::::1;::::0;;;::::1;::::0;8431:21:::1;8407:46:::0;::::1;;;::::0;::::1;::::0;;;8431:21;8407:14;:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8377:76;7799:662;6106:1;-1:-1:-1::0;6118:9:0;:17;;-1:-1:-1;;;;6118:17:0;;;7740:721::o;11798:178::-;-1:-1:-1;;;;;11897:21:0;;11864:4;11897:21;;;:16;:21;;;;;;11864:4;;11897:21;;11896:22;:47;;;;-1:-1:-1;;;;;;;;;11922:21:0;;;;;:16;:21;;;;;;;;;11798:178::o;12381:524::-;12475:7;12495:11;12521:5;12517:92;;;-1:-1:-1;12535:9:0;;12517:92;;;12556:6;12552:57;;;-1:-1:-1;12571:10:0;;12552:57;;;-1:-1:-1;5491:1:0;12552:57;12625:3;12632:1;12625:8;12621:28;;12643:6;12636:13;;;;;12621:28;12661:17;5540:5;12681:12;12690:3;12681:6;:12;:::i;:::-;:29;;;;:::i;:::-;12661:49;-1:-1:-1;12725:13:0;;12721:141;;12771:4;12755:22;;;;:7;:22;;;;;:35;;12781:9;;12755:22;:35;;12781:9;;12755:35;:::i;:::-;;;;-1:-1:-1;;12810:40:0;;1569:25:1;;;12833:4:0;;-1:-1:-1;;;;;12810:40:0;;;;;1557:2:1;1542:18;12810:40:0;;;;;;;12721:141;12879:18;12888:9;12879:6;:18;:::i;:::-;12872:25;12381:524;-1:-1:-1;;;;;;;12381:524:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605: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;2739:388::-;2807:6;2815;2868:2;2856:9;2847:7;2843:23;2839:32;2836:52;;;2884:1;2881;2874:12;2836:52;2923:9;2910:23;2942:31;2967:5;2942:31;:::i;:::-;2992:5;-1:-1:-1;3049:2:1;3034:18;;3021:32;3062:33;3021:32;3062:33;:::i;:::-;3114:7;3104:17;;;2739:388;;;;;:::o;3132:127::-;3193:10;3188:3;3184:20;3181:1;3174:31;3224:4;3221:1;3214:15;3248:4;3245:1;3238:15;3264:128;3331:9;;;3352:11;;;3349:37;;;3366:18;;:::i;3397:356::-;3599:2;3581:21;;;3618:18;;;3611:30;3677:34;3672:2;3657:18;;3650:62;3744:2;3729:18;;3397:356::o;4452:217::-;4492:1;4518;4508:132;;4562:10;4557:3;4553:20;4550:1;4543:31;4597:4;4594:1;4587:15;4625:4;4622:1;4615:15;4508:132;-1:-1:-1;4654:9:1;;4452:217::o;7025:125::-;7090:9;;;7111:10;;;7108:36;;;7124:18;;:::i;7635:127::-;7696:10;7691:3;7687:20;7684:1;7677:31;7727:4;7724:1;7717:15;7751:4;7748:1;7741:15;7767:251;7837:6;7890:2;7878:9;7869:7;7865:23;7861:32;7858:52;;;7906:1;7903;7896:12;7858:52;7938:9;7932:16;7957:31;7982:5;7957:31;:::i;8023:980::-;8285:4;8333:3;8322:9;8318:19;8364:6;8353:9;8346:25;8390:2;8428:6;8423:2;8412:9;8408:18;8401:34;8471:3;8466:2;8455:9;8451:18;8444:31;8495:6;8530;8524:13;8561:6;8553;8546:22;8599:3;8588:9;8584:19;8577:26;;8638:2;8630:6;8626:15;8612:29;;8659:1;8669:195;8683:6;8680:1;8677:13;8669:195;;;8748:13;;-1:-1:-1;;;;;8744:39:1;8732:52;;8839:15;;;;8804:12;;;;8780:1;8698:9;8669:195;;;-1:-1:-1;;;;;;;8920:32:1;;;;8915:2;8900:18;;8893:60;-1:-1:-1;;;8984:3:1;8969:19;8962:35;8881:3;8023:980;-1:-1:-1;;;8023:980:1:o;9008:168::-;9081:9;;;9112;;9129:15;;;9123:22;;9109:37;9099:71;;9150:18;;:::i

Swarm Source

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