ETH Price: $3,560.62 (+6.73%)

Token

Baby Cult (bCult)
 

Overview

Max Total Supply

1,000,000,000 bCult

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
13,036,042.186668529 bCult

Value
$0.00
0x1caca6791383e6351edfc54d20326b738687f882
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:
BabyCult

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-25
*/

/**

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.13;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {return a + b;}
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {return a - b;}
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {return a * b;}
    function div(uint256 a, uint256 b) internal pure returns (uint256) {return a / b;}
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {return a % b;}
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {uint256 c = a + b; if(c < a) return(false, 0); return(true, c);}}
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b > a) return(false, 0); return(true, a - b);}}
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if (a == 0) return(true, 0); uint256 c = a * b;
        if(c / a != b) return(false, 0); return(true, c);}}
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a / b);}}
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {if(b == 0) return(false, 0); return(true, a % b);}}
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b <= a, errorMessage); return a - b;}}
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a / b;}}
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked{require(b > 0, errorMessage); return a % b;}}}

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

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}

interface IZODIAC {
    function distributeZodiac(uint256 previousBalance) external;
    function currentBalance() external view returns (uint256);
}

interface IFactory{
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

// File: BabyCult.sol



pragma solidity 0.8.13;


contract BabyCult is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = 'Baby Cult';
    string private constant _symbol = 'bCult';
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 1 * 10**9 * (10 ** _decimals);
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    uint256 public _maxTxAmount = ( _totalSupply * 150 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 150 ) / 10000;
    mapping (address => uint256) _balances;
    mapping(address => bool) isFeeExempt;
    mapping (address => mapping (address => uint256)) private _allowances;
    IRouter router;
    address public pair;
    uint256 liquidityFee = 100;
    uint256 tokenFee = 50;
    uint256 zodiacFee = 250;
    uint256 totalFee = 400;
    uint256 sellFee = 400;
    uint256 transferFee = 0;
    uint256 feeDenominator = 10000;
    bool swapEnabled = true;
    bool tradingAllowed = false;
    address liquidity;
    address zodiac;
    IZODIAC hub;
    uint256 swapThreshold = ( _totalSupply * 500 ) / 100000;
    uint256 minSwapAmount = ( _totalSupply * 10 ) / 100000;
    modifier isSwap {swapping = true; _; swapping = false;}
    uint256 swapAmount; 
    bool swapping;

    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router;
        pair = _pair;
        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;
        liquidity = msg.sender;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function decimals() public pure returns (uint8) {return _decimals;}
    function getOwner() external view override returns (address) {return owner; }
    function totalSupply() public view override returns (uint256) {return _totalSupply;}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, 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(msg.sender, spender, amount);return true;}
    function getCirculatingSupply() public view returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 _transfer(address sender, address recipient, uint256 amount) private {
        checkValidTrade(sender, recipient, amount);
        checkStartTrading(sender, recipient);
        checkMaxWallet(sender, recipient, amount);
        swapbackCounters(sender, recipient);
        checkTxLimit(sender, recipient, amount);
        swapBack(sender, recipient, amount);
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function checkValidTrade(address sender, address recipient, uint256 amount) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
    }

    function checkStartTrading(address sender, address recipient) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "startSwap");}
    }
    
    function checkMaxWallet(address sender, address recipient, uint256 amount) internal view {
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(DEAD) && recipient != pair){ 
            require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
    }

    function swapbackCounters(address sender, address recipient) internal {
        if(recipient == pair && !isFeeExempt[sender]){swapAmount = swapAmount.add(1);}
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){  
        uint256 feeAmount = amount.div(feeDenominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount); 
        _transfer(address(this), address(zodiac), amount.div(feeDenominator).mul(tokenFee)); 
        return amount.sub(feeAmount);} return amount;
    }

    function checkTxLimit(address sender, address recipient, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");
    }

    function startTrading(address _zodiac, address _liquidity, address _staking) external onlyOwner {
        liquidity = _liquidity;
        zodiac = _zodiac;
        hub = IZODIAC(_zodiac);
        isFeeExempt[_liquidity] = true;
        isFeeExempt[_zodiac] = true;
        isFeeExempt[_staking] = true;
        tradingAllowed = true;
    }

    function shouldSwapBack(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minSwapAmount;
        bool canSwap = balanceOf(address(this)) >= swapThreshold;
        return !swapping && swapEnabled && aboveMin && !isFeeExempt[sender]
            && !isFeeExempt[recipient] && swapAmount >= 2 && canSwap;
    }

    function swapBack(address sender, address recipient, uint256 amount) internal {
        if(shouldSwapBack(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapAmount = 0;}
    }

    function swapAndLiquify(uint256 tokens) private isSwap {
        uint256 denominator = zodiacFee.mul(2).add(tokenFee).add(liquidityFee).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        uint256 zBalance = hub.currentBalance();
        if(ETHToAddLiquidityWith > 0){
            addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith);}
        if(unitBalance.mul(2).mul(zodiacFee) > 0){
            payable(zodiac).transfer(unitBalance.mul(2).mul(zodiacFee)); 
            hub.distributeZodiac(zBalance);}
        if(address(this).balance > 0){payable(liquidity).transfer(address(this).balance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity,
            block.timestamp);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
}

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":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_zodiac","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_staking","type":"address"}],"name":"startTrading","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000449565b6200002290633b9aca0062000461565b600155612710600154609662000039919062000461565b62000045919062000483565b60025561271060015460966200005c919062000461565b62000068919062000483565b60035560646009556032600a5560fa600b55610190600c819055600d556000600e55612710600f556010805461ffff1916600190811790915554620186a090620000b5906101f462000461565b620000c1919062000483565b601355620186a0600154600a620000d9919062000461565b620000e5919062000483565b601455348015620000f557600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200015d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001839190620004a6565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f79190620004a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b9190620004a6565b600780546001600160a01b03199081166001600160a01b038681169190911790925560088054909116918316919091179055336000818152600560209081526040808320805460ff1990811660019081179092553085528285208054909116821790556010805462010000600160b01b03191662010000870217905554848452600483528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004d1565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200038b5781600019048211156200036f576200036f62000334565b808516156200037d57918102915b93841c93908002906200034f565b509250929050565b600082620003a45750600162000443565b81620003b35750600062000443565b8160018114620003cc5760028114620003d757620003f7565b600191505062000443565b60ff841115620003eb57620003eb62000334565b50506001821b62000443565b5060208310610133831016604e8410600b84101617156200041c575081810a62000443565b6200042883836200034a565b80600019048211156200043f576200043f62000334565b0290505b92915050565b60006200045a60ff84168362000393565b9392505050565b60008160001904831182151516156200047e576200047e62000334565b500290565b600082620004a157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004b957600080fd5b81516001600160a01b03811681146200045a57600080fd5b6116f180620004e16000396000f3fe6080604052600436106101025760003560e01c806377f03cd21161009557806395d89b411161006457806395d89b41146102d7578063a8aa1b3114610305578063a9059cbb14610325578063dd62ed3e14610345578063f2fde38b1461038b57600080fd5b806377f03cd21461025757806378109e54146102795780637d1db4a51461028f578063893d20e8146102a557600080fd5b80632b112e49116100d15780632b112e49146101c15780632f54bf6e146101d6578063313ce5671461020557806370a082311461022157600080fd5b806306fdde031461010e578063095ea7b31461015257806318160ddd1461018257806323b872dd146101a157600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820190915260098152681098589e4810dd5b1d60ba1b60208201525b60405161014991906113a7565b60405180910390f35b34801561015e57600080fd5b5061017261016d366004611414565b6103ab565b6040519015158152602001610149565b34801561018e57600080fd5b506001545b604051908152602001610149565b3480156101ad57600080fd5b506101726101bc366004611440565b6103c2565b3480156101cd57600080fd5b5061019361042c565b3480156101e257600080fd5b506101726101f1366004611481565b6000546001600160a01b0391821691161490565b34801561021157600080fd5b5060405160098152602001610149565b34801561022d57600080fd5b5061019361023c366004611481565b6001600160a01b031660009081526004602052604090205490565b34801561026357600080fd5b5061027761027236600461149e565b61049d565b005b34801561028557600080fd5b5061019360035481565b34801561029b57600080fd5b5061019360025481565b3480156102b157600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610149565b3480156102e357600080fd5b506040805180820190915260058152641890dd5b1d60da1b602082015261013c565b34801561031157600080fd5b506008546102bf906001600160a01b031681565b34801561033157600080fd5b50610172610340366004611414565b610581565b34801561035157600080fd5b506101936103603660046114e9565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561039757600080fd5b506102776103a6366004611481565b61058e565b60006103b8338484610625565b5060015b92915050565b60006103cf848484610749565b610421843361041c85604051806060016040528060288152602001611694602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061086f565b610625565b5060015b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546001549192610498929091610492919061089b565b9061089b565b905090565b6000546001600160a01b031633146104e55760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b601080546001600160a01b0393841662010000810262010000600160b01b0319909216919091178255601180549585166001600160a01b03199687168117909155601280549096168117909555600090815260056020526040808220805460ff199081166001908117909255968352818320805488168217905593909416815292909220805490931617909155805461ff001916610100179055565b60006103b8338484610749565b6000546001600160a01b031633146105d15760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016104dc565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166106875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104dc565b6001600160a01b0382166106e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104dc565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6107548383836108a7565b61075e8383610a56565b610769838383610ae4565b6107738383610bd0565b61077e838383610c20565b610789838383610cac565b6001600160a01b0383166000908152600460205260409020546107ac908261089b565b6001600160a01b0384166000908152600460205260408120919091556107d28484610cd1565b6107dc57816107e7565b6107e7848484610d17565b6001600160a01b03841660009081526004602052604090205490915061080d9082610e0c565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108619085815260200190565b60405180910390a350505050565b600081848411156108935760405162461bcd60e51b81526004016104dc91906113a7565b505050900390565b60006104258284611538565b6001600160a01b03831661090b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104dc565b6001600160a01b03821661096d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104dc565b600081116109cf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104dc565b6001600160a01b038316600090815260046020526040902054811115610a515760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104dc565b505050565b6001600160a01b03821660009081526005602052604090205460ff16158015610a9857506001600160a01b03811660009081526005602052604090205460ff16155b15610ae057601054610100900460ff16610ae05760405162461bcd60e51b815260206004820152600960248201526807374617274537761760bc1b60448201526064016104dc565b5050565b6001600160a01b03831660009081526005602052604090205460ff16158015610b2657506001600160a01b03821660009081526005602052604090205460ff16155b8015610b3d57506001600160a01b03821661dead14155b8015610b5757506008546001600160a01b03838116911614155b15610a51576003546001600160a01b038316600090815260046020526040902054610b829083610e0c565b1115610a515760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104dc565b6008546001600160a01b038281169116148015610c0657506001600160a01b03821660009081526005602052604090205460ff16155b15610ae057601554610c19906001610e0c565b6015555050565b60025481111580610c4957506001600160a01b03831660009081526005602052604090205460ff165b80610c6c57506001600160a01b03821660009081526005602052604090205460ff165b610a515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104dc565b610cb7838383610e18565b15610a5157610cc7601354610ec1565b6000601555505050565b6001600160a01b03821660009081526005602052604081205460ff161580156104255750506001600160a01b031660009081526005602052604090205460ff1615919050565b600080610d248585611130565b1115610e05576000610d4d610d398686611130565b600f54610d4790869061117b565b90611187565b30600090815260046020526040902054909150610d6a9082610e0c565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dbb9085815260200190565b60405180910390a3601154600a54600f54610df39230926001600160a01b0390911691610dee9190610d4790899061117b565b610749565b610dfd838261089b565b915050610425565b5092915050565b6000610425828461154f565b6014546013543060009081526004602052604081205460165491938510159211159060ff16158015610e4c575060105460ff165b8015610e555750815b8015610e7a57506001600160a01b03861660009081526005602052604090205460ff16155b8015610e9f57506001600160a01b03851660009081526005602052604090205460ff16155b8015610eae5750600260155410155b8015610eb75750805b9695505050505050565b6016805460ff19166001179055600954600a54600b54600092610ef892600292610d479291610ef291829086611187565b90610e0c565b90506000610f1b82610f156009548661118790919063ffffffff16565b9061117b565b90506000610f29848361089b565b905047610f3582611193565b6000610f41478361089b565b90506000610f64610f5d6009548861089b90919063ffffffff16565b839061117b565b90506000610f7d6009548361118790919063ffffffff16565b90506000601260009054906101000a90046001600160a01b03166001600160a01b031663ce845d1d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff89190611567565b9050811561100a5761100a87836112ed565b600b5460009061101f90610d47866002611187565b11156110d257601154600b546001600160a01b03909116906108fc9061104a90610d47876002611187565b6040518115909202916000818181858888f19350505050158015611072573d6000803e3d6000fd5b50601254604051633102447360e11b8152600481018390526001600160a01b039091169063620488e690602401600060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050505b471561111b576010546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015611119573d6000803e3d6000fd5b505b50506016805460ff1916905550505050505050565b6008546000906001600160a01b03908116908316036111525750600d546103bc565b6008546001600160a01b03908116908416036111715750600c546103bc565b50600e5492915050565b60006104258284611580565b600061042582846115a2565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111c8576111c86115c1565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906115d7565b81600181518110611258576112586115c1565b6001600160a01b03928316602091820292909201015260075461127e9130911684610625565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b79085906000908690309042906004016115f4565b600060405180830381600087803b1580156112d157600080fd5b505af11580156112e5573d6000803e3d6000fd5b505050505050565b6007546113059030906001600160a01b031684610625565b60075460105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0362010000909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561137b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113a09190611665565b5050505050565b600060208083528351808285015260005b818110156113d4578581018301518582016040015282016113b8565b818111156113e6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461141157600080fd5b50565b6000806040838503121561142757600080fd5b8235611432816113fc565b946020939093013593505050565b60008060006060848603121561145557600080fd5b8335611460816113fc565b92506020840135611470816113fc565b929592945050506040919091013590565b60006020828403121561149357600080fd5b8135610425816113fc565b6000806000606084860312156114b357600080fd5b83356114be816113fc565b925060208401356114ce816113fc565b915060408401356114de816113fc565b809150509250925092565b600080604083850312156114fc57600080fd5b8235611507816113fc565b91506020830135611517816113fc565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60008282101561154a5761154a611522565b500390565b6000821982111561156257611562611522565b500190565b60006020828403121561157957600080fd5b5051919050565b60008261159d57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156115bc576115bc611522565b500290565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156115e957600080fd5b8151610425816113fc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116445784516001600160a01b03168352938301939183019160010161161f565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561167a57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006bc3617f2cac72d57ac2cbc33343a5e450cc47fdd08584a6ecc27b08c8b4e7564736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806377f03cd21161009557806395d89b411161006457806395d89b41146102d7578063a8aa1b3114610305578063a9059cbb14610325578063dd62ed3e14610345578063f2fde38b1461038b57600080fd5b806377f03cd21461025757806378109e54146102795780637d1db4a51461028f578063893d20e8146102a557600080fd5b80632b112e49116100d15780632b112e49146101c15780632f54bf6e146101d6578063313ce5671461020557806370a082311461022157600080fd5b806306fdde031461010e578063095ea7b31461015257806318160ddd1461018257806323b872dd146101a157600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b506040805180820190915260098152681098589e4810dd5b1d60ba1b60208201525b60405161014991906113a7565b60405180910390f35b34801561015e57600080fd5b5061017261016d366004611414565b6103ab565b6040519015158152602001610149565b34801561018e57600080fd5b506001545b604051908152602001610149565b3480156101ad57600080fd5b506101726101bc366004611440565b6103c2565b3480156101cd57600080fd5b5061019361042c565b3480156101e257600080fd5b506101726101f1366004611481565b6000546001600160a01b0391821691161490565b34801561021157600080fd5b5060405160098152602001610149565b34801561022d57600080fd5b5061019361023c366004611481565b6001600160a01b031660009081526004602052604090205490565b34801561026357600080fd5b5061027761027236600461149e565b61049d565b005b34801561028557600080fd5b5061019360035481565b34801561029b57600080fd5b5061019360025481565b3480156102b157600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610149565b3480156102e357600080fd5b506040805180820190915260058152641890dd5b1d60da1b602082015261013c565b34801561031157600080fd5b506008546102bf906001600160a01b031681565b34801561033157600080fd5b50610172610340366004611414565b610581565b34801561035157600080fd5b506101936103603660046114e9565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561039757600080fd5b506102776103a6366004611481565b61058e565b60006103b8338484610625565b5060015b92915050565b60006103cf848484610749565b610421843361041c85604051806060016040528060288152602001611694602891396001600160a01b038a166000908152600660209081526040808320338452909152902054919061086f565b610625565b5060015b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd546001549192610498929091610492919061089b565b9061089b565b905090565b6000546001600160a01b031633146104e55760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b601080546001600160a01b0393841662010000810262010000600160b01b0319909216919091178255601180549585166001600160a01b03199687168117909155601280549096168117909555600090815260056020526040808220805460ff199081166001908117909255968352818320805488168217905593909416815292909220805490931617909155805461ff001916610100179055565b60006103b8338484610749565b6000546001600160a01b031633146105d15760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016104dc565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166106875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104dc565b6001600160a01b0382166106e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104dc565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6107548383836108a7565b61075e8383610a56565b610769838383610ae4565b6107738383610bd0565b61077e838383610c20565b610789838383610cac565b6001600160a01b0383166000908152600460205260409020546107ac908261089b565b6001600160a01b0384166000908152600460205260408120919091556107d28484610cd1565b6107dc57816107e7565b6107e7848484610d17565b6001600160a01b03841660009081526004602052604090205490915061080d9082610e0c565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906108619085815260200190565b60405180910390a350505050565b600081848411156108935760405162461bcd60e51b81526004016104dc91906113a7565b505050900390565b60006104258284611538565b6001600160a01b03831661090b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104dc565b6001600160a01b03821661096d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104dc565b600081116109cf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104dc565b6001600160a01b038316600090815260046020526040902054811115610a515760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016104dc565b505050565b6001600160a01b03821660009081526005602052604090205460ff16158015610a9857506001600160a01b03811660009081526005602052604090205460ff16155b15610ae057601054610100900460ff16610ae05760405162461bcd60e51b815260206004820152600960248201526807374617274537761760bc1b60448201526064016104dc565b5050565b6001600160a01b03831660009081526005602052604090205460ff16158015610b2657506001600160a01b03821660009081526005602052604090205460ff16155b8015610b3d57506001600160a01b03821661dead14155b8015610b5757506008546001600160a01b03838116911614155b15610a51576003546001600160a01b038316600090815260046020526040902054610b829083610e0c565b1115610a515760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104dc565b6008546001600160a01b038281169116148015610c0657506001600160a01b03821660009081526005602052604090205460ff16155b15610ae057601554610c19906001610e0c565b6015555050565b60025481111580610c4957506001600160a01b03831660009081526005602052604090205460ff165b80610c6c57506001600160a01b03821660009081526005602052604090205460ff165b610a515760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016104dc565b610cb7838383610e18565b15610a5157610cc7601354610ec1565b6000601555505050565b6001600160a01b03821660009081526005602052604081205460ff161580156104255750506001600160a01b031660009081526005602052604090205460ff1615919050565b600080610d248585611130565b1115610e05576000610d4d610d398686611130565b600f54610d4790869061117b565b90611187565b30600090815260046020526040902054909150610d6a9082610e0c565b30600081815260046020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dbb9085815260200190565b60405180910390a3601154600a54600f54610df39230926001600160a01b0390911691610dee9190610d4790899061117b565b610749565b610dfd838261089b565b915050610425565b5092915050565b6000610425828461154f565b6014546013543060009081526004602052604081205460165491938510159211159060ff16158015610e4c575060105460ff165b8015610e555750815b8015610e7a57506001600160a01b03861660009081526005602052604090205460ff16155b8015610e9f57506001600160a01b03851660009081526005602052604090205460ff16155b8015610eae5750600260155410155b8015610eb75750805b9695505050505050565b6016805460ff19166001179055600954600a54600b54600092610ef892600292610d479291610ef291829086611187565b90610e0c565b90506000610f1b82610f156009548661118790919063ffffffff16565b9061117b565b90506000610f29848361089b565b905047610f3582611193565b6000610f41478361089b565b90506000610f64610f5d6009548861089b90919063ffffffff16565b839061117b565b90506000610f7d6009548361118790919063ffffffff16565b90506000601260009054906101000a90046001600160a01b03166001600160a01b031663ce845d1d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff89190611567565b9050811561100a5761100a87836112ed565b600b5460009061101f90610d47866002611187565b11156110d257601154600b546001600160a01b03909116906108fc9061104a90610d47876002611187565b6040518115909202916000818181858888f19350505050158015611072573d6000803e3d6000fd5b50601254604051633102447360e11b8152600481018390526001600160a01b039091169063620488e690602401600060405180830381600087803b1580156110b957600080fd5b505af11580156110cd573d6000803e3d6000fd5b505050505b471561111b576010546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015611119573d6000803e3d6000fd5b505b50506016805460ff1916905550505050505050565b6008546000906001600160a01b03908116908316036111525750600d546103bc565b6008546001600160a01b03908116908416036111715750600c546103bc565b50600e5492915050565b60006104258284611580565b600061042582846115a2565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106111c8576111c86115c1565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124591906115d7565b81600181518110611258576112586115c1565b6001600160a01b03928316602091820292909201015260075461127e9130911684610625565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906112b79085906000908690309042906004016115f4565b600060405180830381600087803b1580156112d157600080fd5b505af11580156112e5573d6000803e3d6000fd5b505050505050565b6007546113059030906001600160a01b031684610625565b60075460105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0362010000909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af115801561137b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113a09190611665565b5050505050565b600060208083528351808285015260005b818110156113d4578581018301518582016040015282016113b8565b818111156113e6576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461141157600080fd5b50565b6000806040838503121561142757600080fd5b8235611432816113fc565b946020939093013593505050565b60008060006060848603121561145557600080fd5b8335611460816113fc565b92506020840135611470816113fc565b929592945050506040919091013590565b60006020828403121561149357600080fd5b8135610425816113fc565b6000806000606084860312156114b357600080fd5b83356114be816113fc565b925060208401356114ce816113fc565b915060408401356114de816113fc565b809150509250925092565b600080604083850312156114fc57600080fd5b8235611507816113fc565b91506020830135611517816113fc565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60008282101561154a5761154a611522565b500390565b6000821982111561156257611562611522565b500190565b60006020828403121561157957600080fd5b5051919050565b60008261159d57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156115bc576115bc611522565b500290565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156115e957600080fd5b8151610425816113fc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116445784516001600160a01b03168352938301939183019160010161161f565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561167a57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122006bc3617f2cac72d57ac2cbc33343a5e450cc47fdd08584a6ecc27b08c8b4e7564736f6c634300080d0033

Deployed Bytecode Sourcemap

4489:9308:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6309:67;;;;;;;;;;-1:-1:-1;6369:5:0;;;;;;;;;;;;-1:-1:-1;;;6369:5:0;;;;6309:67;;;;;;;:::i;:::-;;;;;;;;7092:133;;;;;;;;;;-1:-1:-1;7092:133:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7092:133:0;1072:187:1;6615:84:0;;;;;;;;;;-1:-1:-1;6685:12:0;;6615:84;;;1410:25:1;;;1398:2;1383:18;6615:84:0;1264:177:1;7371:309:0;;;;;;;;;;-1:-1:-1;7371:309:0;;;;;:::i;:::-;;:::i;7231:132::-;;;;;;;;;;;;;:::i;2982:87::-;;;;;;;;;;-1:-1:-1;2982:87:0;;;;;:::i;:::-;3037:4;3062:5;-1:-1:-1;;;;;3051:16:0;;;3062:5;;3051:16;;2982:87;6459:67;;;;;;;;;;-1:-1:-1;6459:67:0;;4699:1;2301:36:1;;2289:2;2274:18;6459:67:0;2159:184:1;6705:103:0;;;;;;;;;;-1:-1:-1;6705:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6788:18:0;6771:7;6788:18;;;:9;:18;;;;;;;6705:103;11021:347;;;;;;;;;;-1:-1:-1;11021:347:0;;;;;:::i;:::-;;:::i;:::-;;4914:63;;;;;;;;;;;;;;;;4847:60;;;;;;;;;;;;;;;;6532:77;;;;;;;;;;-1:-1:-1;6584:7:0;6601:5;-1:-1:-1;;;;;6601:5:0;6532:77;;;-1:-1:-1;;;;;3046:32:1;;;3028:51;;3016:2;3001:18;6532:77:0;2882:203:1;6382:71:0;;;;;;;;;;-1:-1:-1;6444:7:0;;;;;;;;;;;;-1:-1:-1;;;6444:7:0;;;;6382:71;;5169:19;;;;;;;;;;-1:-1:-1;5169:19:0;;;;-1:-1:-1;;;;;5169:19:0;;;6814:139;;;;;;;;;;-1:-1:-1;6814:139:0;;;;;:::i;:::-;;:::i;6959:127::-;;;;;;;;;;-1:-1:-1;6959:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7057:18:0;;;7040:7;7057:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6959:127;3075:111;;;;;;;;;;-1:-1:-1;3075:111:0;;;;;:::i;:::-;;:::i;7092:133::-;7167:4;7174:37;7183:10;7195:7;7204:6;7174:8;:37::i;:::-;-1:-1:-1;7219:4:0;7092:133;;;;;:::o;7371:309::-;7469:4;7486:36;7496:6;7504:9;7515:6;7486:9;:36::i;:::-;7533:117;7542:6;7550:10;7562:87;7598:6;7562:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7562:19:0;;;;;;:11;:19;;;;;;;;7582:10;7562:31;;;;;;;;;:87;:35;:87::i;:::-;7533:8;:117::i;:::-;-1:-1:-1;7668:4:0;7371:309;;;;;;:::o;7231:132::-;6788:9;:18;;;;4798:42;7284:7;6788:18;;;;;7301:12;;7284:7;;7301:60;;6788:18;;7301:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;7294:67;;7231:132;:::o;11021:347::-;3037:4;3062:5;-1:-1:-1;;;;;3062:5:0;2949:10;3051:16;2933:38;;;;-1:-1:-1;;;2933:38:0;;3945:2:1;2933:38:0;;;3927:21:1;3984:1;3964:18;;;3957:29;-1:-1:-1;;;4002:18:1;;;3995:36;4048:18;;2933:38:0;;;;;;;;;11128:9:::1;:22:::0;;-1:-1:-1;;;;;11128:22:0;;::::1;::::0;;::::1;-1:-1:-1::0;;;;;;11128:22:0;;::::1;::::0;;;::::1;::::0;;11161:6:::1;:16:::0;;;;::::1;-1:-1:-1::0;;;;;;11161:16:0;;::::1;::::0;::::1;::::0;;;11188:3:::1;:22:::0;;;;::::1;::::0;::::1;::::0;;;-1:-1:-1;11221:23:0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;11221:30:0;;::::1;-1:-1:-1::0;11221:30:0;;::::1;::::0;;;11262:20;;;;;;:27;;;::::1;::::0;::::1;::::0;;11300:21;;;::::1;::::0;;;;;;:28;;;;::::1;;::::0;;;11339:21;;-1:-1:-1;;11339:21:0::1;11128:22;11339:21;::::0;;11021:347::o;6814:139::-;6892:4;6899:40;6909:10;6921:9;6932:6;6899:9;:40::i;3075:111::-;3037:4;3062:5;-1:-1:-1;;;;;3062:5:0;2949:10;3051:16;2933:38;;;;-1:-1:-1;;;2933:38:0;;3945:2:1;2933:38:0;;;3927:21:1;3984:1;3964:18;;;3957:29;-1:-1:-1;;;4002:18:1;;;3995:36;4048:18;;2933:38:0;3743:329:1;2933:38:0;3141:5:::1;:11:::0;;-1:-1:-1;;;;;;3141:11:0::1;-1:-1:-1::0;;;;;3141:11:0;::::1;::::0;;::::1;::::0;;;3159:25:::1;::::0;3028:51:1;;;3159:25:0::1;::::0;3016:2:1;3001:18;3159:25:0::1;;;;;;;3075:111:::0;:::o;7688:335::-;-1:-1:-1;;;;;7781:19:0;;7773:68;;;;-1:-1:-1;;;7773:68:0;;4495:2:1;7773:68:0;;;4477:21:1;4534:2;4514:18;;;4507:30;4573:34;4553:18;;;4546:62;-1:-1:-1;;;4624:18:1;;;4617:34;4668:19;;7773:68:0;4293:400:1;7773:68:0;-1:-1:-1;;;;;7860:21:0;;7852:68;;;;-1:-1:-1;;;7852:68:0;;4900:2:1;7852:68:0;;;4882:21:1;4939:2;4919:18;;;4912:30;4978:34;4958:18;;;4951:62;-1:-1:-1;;;5029:18:1;;;5022:32;5071:19;;7852:68:0;4698:398:1;7852:68:0;-1:-1:-1;;;;;7931:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7983:32;;1410:25:1;;;7983:32:0;;1383:18:1;7983:32:0;;;;;;;7688:335;;;:::o;8031:687::-;8120:42;8136:6;8144:9;8155:6;8120:15;:42::i;:::-;8173:36;8191:6;8199:9;8173:17;:36::i;:::-;8220:41;8235:6;8243:9;8254:6;8220:14;:41::i;:::-;8272:35;8289:6;8297:9;8272:16;:35::i;:::-;8318:39;8331:6;8339:9;8350:6;8318:12;:39::i;:::-;8368:35;8377:6;8385:9;8396:6;8368:8;:35::i;:::-;-1:-1:-1;;;;;8434:17:0;;;;;;:9;:17;;;;;;:29;;8456:6;8434:21;:29::i;:::-;-1:-1:-1;;;;;8414:17:0;;;;;;:9;:17;;;;;:49;;;;8499:32;8424:6;8521:9;8499:13;:32::i;:::-;:78;;8571:6;8499:78;;;8534:34;8542:6;8550:9;8561:6;8534:7;:34::i;:::-;-1:-1:-1;;;;;8611:20:0;;;;;;:9;:20;;;;;;8474:103;;-1:-1:-1;8611:40:0;;8474:103;8611:24;:40::i;:::-;-1:-1:-1;;;;;8588:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8667:43;;;;;;;;;;8695:14;1410:25:1;;1398:2;1383:18;;1264:177;8667:43:0;;;;;;;;8109:609;8031:687;;;:::o;1385:162::-;1471:7;1517:12;1509:6;;;;1501:29;;;;-1:-1:-1;;;1501:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1539:5:0;;;1385:162::o;188:82::-;246:7;263:5;267:1;263;:5;:::i;8726:435::-;-1:-1:-1;;;;;8835:20:0;;8827:70;;;;-1:-1:-1;;;8827:70:0;;5565:2:1;8827:70:0;;;5547:21:1;5604:2;5584:18;;;5577:30;5643:34;5623:18;;;5616:62;-1:-1:-1;;;5694:18:1;;;5687:35;5739:19;;8827:70:0;5363:401:1;8827:70:0;-1:-1:-1;;;;;8916:23:0;;8908:71;;;;-1:-1:-1;;;8908:71:0;;5971:2:1;8908:71:0;;;5953:21:1;6010:2;5990:18;;;5983:30;6049:34;6029:18;;;6022:62;-1:-1:-1;;;6100:18:1;;;6093:33;6143:19;;8908:71:0;5769:399:1;8908:71:0;9007:1;8998:6;:10;8990:64;;;;-1:-1:-1;;;8990:64:0;;6375:2:1;8990:64:0;;;6357:21:1;6414:2;6394:18;;;6387:30;6453:34;6433:18;;;6426:62;-1:-1:-1;;;6504:18:1;;;6497:39;6553:19;;8990:64:0;6173:405:1;8990:64:0;-1:-1:-1;;;;;6788:18:0;;6771:7;6788:18;;;:9;:18;;;;;;9073:6;:27;;9065:88;;;;-1:-1:-1;;;9065:88:0;;6785:2:1;9065:88:0;;;6767:21:1;6824:2;6804:18;;;6797:30;6863:34;6843:18;;;6836:62;-1:-1:-1;;;6914:18:1;;;6907:47;6971:19;;9065:88:0;6583:413:1;9065:88:0;8726:435;;;:::o;9169:184::-;-1:-1:-1;;;;;9260:19:0;;;;;;:11;:19;;;;;;;;9259:20;:47;;;;-1:-1:-1;;;;;;9284:22:0;;;;;;:11;:22;;;;;;;;9283:23;9259:47;9256:90;;;9316:14;;;;;;;9308:36;;;;-1:-1:-1;;;9308:36:0;;7203:2:1;9308:36:0;;;7185:21:1;7242:1;7222:18;;;7215:29;-1:-1:-1;;;7260:18:1;;;7253:39;7309:18;;9308:36:0;7001:332:1;9308:36:0;9169:184;;:::o;9365:323::-;-1:-1:-1;;;;;9469:19:0;;;;;;:11;:19;;;;;;;;9468:20;:47;;;;-1:-1:-1;;;;;;9493:22:0;;;;;;:11;:22;;;;;;;;9492:23;9468:47;:77;;;;-1:-1:-1;;;;;;9519:26:0;;4798:42;9519:26;;9468:77;:98;;;;-1:-1:-1;9562:4:0;;-1:-1:-1;;;;;9549:17:0;;;9562:4;;9549:17;;9468:98;9465:216;;;9629:15;;-1:-1:-1;;;;;9592:20:0;;;;;;:9;:20;;;;;;:32;;9617:6;9592:24;:32::i;:::-;9591:53;;9583:96;;;;-1:-1:-1;;;9583:96:0;;7540:2:1;9583:96:0;;;7522:21:1;7579:2;7559:18;;;7552:30;7618:32;7598:18;;;7591:60;7668:18;;9583:96:0;7338:354:1;9696:166:0;9793:4;;-1:-1:-1;;;;;9780:17:0;;;9793:4;;9780:17;:41;;;;-1:-1:-1;;;;;;9802:19:0;;;;;;:11;:19;;;;;;;;9801:20;9780:41;9777:78;;;9836:10;;:17;;9851:1;9836:14;:17::i;:::-;9823:10;:30;9696:166;;:::o;10806:207::-;10922:12;;10912:6;:22;;:45;;;-1:-1:-1;;;;;;10938:19:0;;;;;;:11;:19;;;;;;;;10912:45;:71;;;-1:-1:-1;;;;;;10961:22:0;;;;;;:11;:22;;;;;;;;10912:71;10904:101;;;;-1:-1:-1;;;10904:101:0;;7899:2:1;10904:101:0;;;7881:21:1;7938:2;7918:18;;;7911:30;-1:-1:-1;;;7957:18:1;;;7950:47;8014:18;;10904:101:0;7697:341:1;11761:189:0;11853:41;11868:6;11876:9;11887:6;11853:14;:41::i;:::-;11850:93;;;11896:29;11911:13;;11896:14;:29::i;:::-;11940:1;11927:10;:14;11761:189;;;:::o;9870:160::-;-1:-1:-1;;;;;9976:19:0;;9951:4;9976:19;;;:11;:19;;;;;;;;9975:20;:47;;;;-1:-1:-1;;;;;;;10000:22:0;;;;;:11;:22;;;;;;;;9999:23;;9870:160;-1:-1:-1;9870:160:0:o;10265:533::-;10351:7;10407:1;10374:30;10386:6;10394:9;10374:11;:30::i;:::-;:34;10371:405;;;10422:17;10442:62;10473:30;10485:6;10493:9;10473:11;:30::i;:::-;10453:14;;10442:26;;:6;;:10;:26::i;:::-;:30;;:62::i;:::-;10560:4;10542:24;;;;:9;:24;;;;;;10422:82;;-1:-1:-1;10542:39:0;;10422:82;10542:28;:39::i;:::-;10533:4;10515:24;;;;:9;:24;;;;;;;:66;;;;10597:42;;-1:-1:-1;;;;;10597:42:0;;;;;;;10629:9;1410:25:1;;1398:2;1383:18;;1264:177;10597:42:0;;;;;;;;10684:6;;10724:8;;10704:14;;10651:83;;10669:4;;-1:-1:-1;;;;;10684:6:0;;;;10693:40;;10724:8;10693:26;;:6;;:10;:26::i;:40::-;10651:9;:83::i;:::-;10753:21;:6;10764:9;10753:10;:21::i;:::-;10746:28;;;;;10371:405;-1:-1:-1;10784:6:0;10265:533;-1:-1:-1;;10265:533:0:o;100:82::-;158:7;175:5;179:1;175;:5;:::i;11376:377::-;11517:13;;11584;;11574:4;11474;6788:18;;;:9;:18;;;;;;11616:8;;11474:4;;11507:23;;;;-1:-1:-1;11556:41:0;;11616:8;;11615:9;:24;;;;-1:-1:-1;11628:11:0;;;;11615:24;:36;;;;;11643:8;11615:36;:60;;;;-1:-1:-1;;;;;;11656:19:0;;;;;;:11;:19;;;;;;;;11655:20;11615:60;:100;;;;-1:-1:-1;;;;;;11693:22:0;;;;;;:11;:22;;;;;;;;11692:23;11615:100;:119;;;;;11733:1;11719:10;;:15;;11615:119;:130;;;;;11738:7;11615:130;11608:137;11376:377;-1:-1:-1;;;;;;11376:377:0:o;11958:1052::-;5677:8;:15;;-1:-1:-1;;5677:15:0;5688:4;5677:15;;;12081:12:::1;::::0;12067:8:::1;::::0;12046:9:::1;::::0;5677:8;;12046:55:::1;::::0;12099:1:::1;::::0;12046:48:::1;::::0;12081:12;12046:30:::1;::::0;;;12099:1;12046:13:::1;:16::i;:::-;:20:::0;::::1;:30::i;:55::-;12024:77;;12112:32;12147:41;12176:11;12147:24;12158:12;;12147:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:41::i;:::-;12112:76:::0;-1:-1:-1;12199:14:0::1;12216:36;:6:::0;12112:76;12216:10:::1;:36::i;:::-;12199:53:::0;-1:-1:-1;12288:21:0::1;12320:24;12199:53:::0;12320:16:::1;:24::i;:::-;12355:20;12378:41;:21;12404:14:::0;12378:25:::1;:41::i;:::-;12355:64;;12430:19;12451:47;12468:29;12484:12;;12468:11;:15;;:29;;;;:::i;:::-;12451:12:::0;;:16:::1;:47::i;:::-;12430:68;;12509:29;12541;12557:12;;12541:11;:15;;:29;;;;:::i;:::-;12509:61;;12581:16;12600:3;;;;;;;;;-1:-1:-1::0;;;;;12600:3:0::1;-1:-1:-1::0;;;;;12600:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12581:39:::0;-1:-1:-1;12634:25:0;;12631:107:::1;;12675:61;12688:24;12714:21;12675:12;:61::i;:::-;12774:9;::::0;12787:1:::1;::::0;12751:33:::1;::::0;:18:::1;:11:::0;12767:1:::1;12751:15;:18::i;:33::-;:37;12748:163;;;12812:6;::::0;12852:9:::1;::::0;-1:-1:-1;;;;;12812:6:0;;::::1;::::0;12804:59:::1;::::0;12829:33:::1;::::0;:18:::1;:11:::0;12845:1:::1;12829:15;:18::i;:33::-;12804:59;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;12879:3:0::1;::::0;:30:::1;::::0;-1:-1:-1;;;12879:30:0;;::::1;::::0;::::1;1410:25:1::0;;;-1:-1:-1;;;;;12879:3:0;;::::1;::::0;:20:::1;::::0;1383:18:1;;12879:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12748:163;12924:21;:25:::0;12921:82:::1;;12959:9;::::0;12951:50:::1;::::0;-1:-1:-1;;;;;12959:9:0;;;::::1;::::0;;;::::1;::::0;12979:21:::1;12951:50:::0;::::1;;;::::0;::::1;::::0;;;12979:21;12959:9;12951:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;12921:82;-1:-1:-1::0;;5697:8:0;:16;;-1:-1:-1;;5697:16:0;;;-1:-1:-1;;;;;;;11958:1052:0:o;10038:219::-;10153:4;;10117:7;;-1:-1:-1;;;;;10153:4:0;;;10140:17;;;;10137:38;;-1:-1:-1;10166:7:0;;10159:14;;10137:38;10198:4;;-1:-1:-1;;;;;10198:4:0;;;10188:14;;;;10185:36;;-1:-1:-1;10211:8:0;;10204:15;;10185:36;-1:-1:-1;10238:11:0;;10038:219;;;;:::o;364:82::-;422:7;439:5;443:1;439;:5;:::i;276:82::-;334:7;351:5;355:1;351;:5;:::i;13360:434::-;13450:16;;;13464:1;13450:16;;;;;;;;13426:21;;13450:16;;;;;;;;;;-1:-1:-1;13450:16:0;13426:40;;13495:4;13477;13482:1;13477:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13477:23:0;;;:7;;;;;;;;;;:23;;;;13521:6;;:13;;;-1:-1:-1;;;13521:13:0;;;;:6;;;;;:11;;:13;;;;;13477:7;;13521:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13511:4;13516:1;13511:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13511:23:0;;;:7;;;;;;;;;:23;13577:6;;13545:53;;13562:4;;13577:6;13586:11;13545:8;:53::i;:::-;13609:6;;:177;;-1:-1:-1;;;13609:177:0;;-1:-1:-1;;;;;13609:6:0;;;;:57;;:177;;13681:11;;13609:6;;13723:4;;13750;;13770:15;;13609:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13415:379;13360:434;:::o;13018:334::-;13131:6;;13099:53;;13116:4;;-1:-1:-1;;;;;13131:6:0;13140:11;13099:8;:53::i;:::-;13163:6;;13304:9;;13163:181;;-1:-1:-1;;;13163:181:0;;13226:4;13163:181;;;10606:34:1;10656:18;;;10649:34;;;-1:-1:-1;10699:18:1;;;10692:34;;;10742:18;;;10735:34;-1:-1:-1;;;;;13304:9:0;;;;;;10785:19:1;;;10778:44;13328:15:0;10838:19:1;;;10831:35;13163:6:0;;;:22;;13193:9;;10540:19:1;;13163:181:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13018:334;;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;671:70;616:131;:::o;752:315::-;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;1907:247::-;1966:6;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2074:9;2061:23;2093:31;2118:5;2093:31;:::i;2348:529::-;2425:6;2433;2441;2494:2;2482:9;2473:7;2469:23;2465:32;2462:52;;;2510:1;2507;2500:12;2462:52;2549:9;2536:23;2568:31;2593:5;2568:31;:::i;:::-;2618:5;-1:-1:-1;2675:2:1;2660:18;;2647:32;2688:33;2647:32;2688:33;:::i;:::-;2740:7;-1:-1:-1;2799:2:1;2784:18;;2771:32;2812:33;2771:32;2812:33;:::i;:::-;2864:7;2854:17;;;2348:529;;;;;:::o;3090:388::-;3158:6;3166;3219:2;3207:9;3198:7;3194:23;3190:32;3187:52;;;3235:1;3232;3225:12;3187:52;3274:9;3261:23;3293:31;3318:5;3293:31;:::i;:::-;3343:5;-1:-1:-1;3400:2:1;3385:18;;3372:32;3413:33;3372:32;3413:33;:::i;:::-;3465:7;3455:17;;;3090:388;;;;;:::o;5101:127::-;5162:10;5157:3;5153:20;5150:1;5143:31;5193:4;5190:1;5183:15;5217:4;5214:1;5207:15;5233:125;5273:4;5301:1;5298;5295:8;5292:34;;;5306:18;;:::i;:::-;-1:-1:-1;5343:9:1;;5233:125::o;8043:128::-;8083:3;8114:1;8110:6;8107:1;8104:13;8101:39;;;8120:18;;:::i;:::-;-1:-1:-1;8156:9:1;;8043:128::o;8176:184::-;8246:6;8299:2;8287:9;8278:7;8274:23;8270:32;8267:52;;;8315:1;8312;8305:12;8267:52;-1:-1:-1;8338:16:1;;8176:184;-1:-1:-1;8176:184:1:o;8365:217::-;8405:1;8431;8421:132;;8475:10;8470:3;8466:20;8463:1;8456:31;8510:4;8507:1;8500:15;8538:4;8535:1;8528:15;8421:132;-1:-1:-1;8567:9:1;;8365:217::o;8587:168::-;8627:7;8693:1;8689;8685:6;8681:14;8678:1;8675:21;8670:1;8663:9;8656:17;8652:45;8649:71;;;8700:18;;:::i;:::-;-1:-1:-1;8740:9:1;;8587:168::o;8892:127::-;8953:10;8948:3;8944:20;8941:1;8934:31;8984:4;8981:1;8974:15;9008:4;9005:1;8998:15;9024:251;9094:6;9147:2;9135:9;9126:7;9122:23;9118:32;9115:52;;;9163:1;9160;9153:12;9115:52;9195:9;9189:16;9214:31;9239:5;9214:31;:::i;9280:980::-;9542:4;9590:3;9579:9;9575:19;9621:6;9610:9;9603:25;9647:2;9685:6;9680:2;9669:9;9665:18;9658:34;9728:3;9723:2;9712:9;9708:18;9701:31;9752:6;9787;9781:13;9818:6;9810;9803:22;9856:3;9845:9;9841:19;9834:26;;9895:2;9887:6;9883:15;9869:29;;9916:1;9926:195;9940:6;9937:1;9934:13;9926:195;;;10005:13;;-1:-1:-1;;;;;10001:39:1;9989:52;;10096:15;;;;10061:12;;;;10037:1;9955:9;9926:195;;;-1:-1:-1;;;;;;;10177:32:1;;;;10172:2;10157:18;;10150:60;-1:-1:-1;;;10241:3:1;10226:19;10219:35;10138:3;9280:980;-1:-1:-1;;;9280:980:1:o;10877:306::-;10965:6;10973;10981;11034:2;11022:9;11013:7;11009:23;11005:32;11002:52;;;11050:1;11047;11040:12;11002:52;11079:9;11073:16;11063:26;;11129:2;11118:9;11114:18;11108:25;11098:35;;11173:2;11162:9;11158:18;11152:25;11142:35;;10877:306;;;;;:::o

Swarm Source

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