ETH Price: $3,364.28 (+0.49%)

Token

Lion King Finance (LIONK)
 

Overview

Max Total Supply

778,516.984306926974306974 LIONK

Holders

62 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,201.573337957549941147 LIONK

Value
$0.00
0x0363b1Bc04365087ef6e1360e35872B60187a013
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Lion King Finance is a deflationary ERC-20 token founded by a group of anonymous developers who seek to disrupt the industry and create a community based protocol. Lion King Finance also has various live staking options for its stakeholders.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
LionKing

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-04
*/

pragma solidity ^0.6.0;
// SPDX-License-Identifier: UNLICENSED

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
    
    function ceil(uint256 a, uint256 m) internal pure returns (uint256 r) {
        require(m != 0, "SafeMath: to ceil number shall not be zero");
        return (a + m - 1) / m * m;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}

// ----------------------------------------------------------------------------
// 'LionKing' token AND staking contract

// Symbol      : LionKing
// Name        : Lion King Finance
// Total supply: 1,000,000 (1 million)
// Min supply  : 100k 
// Decimals    : 18


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract LionKing is IERC20, Owned {
    using SafeMath for uint256;
   
    string public symbol = "LIONK";
    string public  name = "Lion King Finance";
    uint256 public decimals = 18;
    address airdropContract;
    uint256 _totalSupply = 1000000 * 10 ** (18); // 1,000,000
    
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
   
    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor(address owner) public {
                    
					
        balances[address(owner)] =   1000000  * 10 ** (18); // 1,000,000
        emit Transfer(address(0), address(owner), 1000000  * 10 ** (18));
       
       
    }

   
    /** ERC20Interface function's implementation **/
   
    function totalSupply() external override view returns (uint256){
       return _totalSupply;
    }
   
    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) external override view returns (uint256 balance) {
        return balances[tokenOwner];
    }
    
    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    // ------------------------------------------------------------------------
    function approve(address spender, uint256 tokens) external override returns (bool success){
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender,spender,tokens);
        return true;
    }
    
    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) external override view returns (uint256 remaining) {
        return allowed[tokenOwner][spender];
    }

    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address to, uint256 tokens) public override returns (bool success) {
        // prevent transfer to 0x0, use burn instead
        require(address(to) != address(0));
        require(balances[msg.sender] >= tokens );
        require(balances[to] + tokens >= balances[to]);
        
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        
        uint256 deduction = deductionsToApply(tokens);
        applyDeductions(deduction);
        
        balances[to] = balances[to].add(tokens.sub(deduction));
        emit Transfer(msg.sender, to, tokens.sub(deduction));
        return true;
    }
    
    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    //
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint256 tokens) external override returns (bool success){
        require(tokens <= allowed[from][msg.sender]); //check allowance
        require(balances[from] >= tokens);
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
      
        uint256 deduction = deductionsToApply(tokens);
        applyDeductions(deduction);
       
        balances[to] = balances[to].add(tokens.sub(deduction));
        emit Transfer(from, to, tokens.sub(tokens));
        return true;
    }
    
    function _transfer(address to, uint256 tokens, bool rewards) internal returns(bool){
        // prevent transfer to 0x0, use burn instead
        require(address(to) != address(0));
        require(balances[address(this)] >= tokens );
        require(balances[to] + tokens >= balances[to]);
        
        balances[address(this)] = balances[address(this)].sub(tokens);
        
        uint256 deduction = 0;
        
        if(!rewards){
            deduction = deductionsToApply(tokens);
            applyDeductions(deduction);
        }
        
        balances[to] = balances[to].add(tokens.sub(deduction));
            
        emit Transfer(address(this),to,tokens.sub(deduction));
        
        return true;
    }

    function deductionsToApply(uint256 tokens) private view returns(uint256){
        uint256 deduction = 0;
        uint256 minSupply = 100000 * 10 ** (18);
        
        if(_totalSupply > minSupply && msg.sender != airdropContract){
        
            deduction = onePercent(tokens).mul(5); // 5% transaction cost
        
            if(_totalSupply.sub(deduction) < minSupply)
                deduction = _totalSupply.sub(minSupply);
        }
        
        return deduction;
    }
    
    function applyDeductions(uint256 deduction) private{
        if(stakedCoins == 0){
            burnTokens(deduction);
        }
        else{
            burnTokens(deduction.div(2));
            disburse(deduction.div(2));
        }
    }
    
    // ------------------------------------------------------------------------
    // Burn the ``value` amount of tokens from the `account`
    // ------------------------------------------------------------------------
    function burnTokens(uint256 value) internal{
        require(_totalSupply >= value); // burn only unsold tokens
        _totalSupply = _totalSupply.sub(value);
        emit Transfer(msg.sender, address(0), value);
    }
    
    // ------------------------------------------------------------------------
    // Calculates onePercent of the uint256 amount sent
    // ------------------------------------------------------------------------
    function onePercent(uint256 _tokens) internal pure returns (uint256){
        uint256 roundValue = _tokens.ceil(100);
        uint onePercentofTokens = roundValue.mul(100).div(100 * 10**uint(2));
        return onePercentofTokens;
    }
    
    
    /********************************STAKING CONTRACT**********************************/
    
    uint256 deployTime;
    uint256 private totalDividentPoints;
    uint256 private unclaimedDividendPoints;
    uint256 pointMultiplier = 1000000000000000000;
    uint256 public stakedCoins;
    
    uint256 public totalStakes;
    uint256 public totalRewardsClaimed;
    
    bool public stakingOpen;
    
    struct  Account {
        uint256 balance;
        uint256 lastDividentPoints;
        uint256 timeInvest;
        uint256 lastClaimed;
        uint256 rewardsClaimed;
        uint256 pending;
    }

    mapping(address => Account) accounts;
    
    function openStaking() external onlyOwner{
        require(!stakingOpen, "staking already open");
        stakingOpen = true;
    }
    
    function STAKE(uint256 _tokens) external returns(bool){
        require(stakingOpen, "staking is close");
        // gets LionKing tokens from user to contract address
        require(transfer(address(this), _tokens), "In sufficient tokens in user wallet");
        
                
        uint256 owing = dividendsOwing(msg.sender);
        
        if(owing > 0) // early stakes
            accounts[msg.sender].pending = owing;
        
        addToStake(_tokens);
        
        return true;
    }
    
    function addToStake(uint256 _tokens) private{
        uint256 deduction = deductionsToApply(_tokens);
        
        if(accounts[msg.sender].balance == 0 ) // first time staking
            accounts[msg.sender].timeInvest = now;
            
        stakedCoins = stakedCoins.add(_tokens.sub(deduction));
        accounts[msg.sender].balance = accounts[msg.sender].balance.add(_tokens.sub(deduction));
        accounts[msg.sender].lastDividentPoints = totalDividentPoints;
        
        accounts[msg.sender].lastClaimed = now;
        
        totalStakes = totalStakes.add(_tokens.sub(deduction));
    }
    
    function stakingStartedAt(address user) external view returns(uint256){
        return accounts[user].timeInvest;
    }
    
    function pendingReward(address _user) external view returns(uint256){
        uint256 owing = dividendsOwing(_user);
        return owing;
    }
    
    function dividendsOwing(address investor) internal view returns (uint256){
        uint256 newDividendPoints = totalDividentPoints.sub(accounts[investor].lastDividentPoints);
        return (((accounts[investor].balance).mul(newDividendPoints)).div(pointMultiplier)).add(accounts[investor].pending);
    }
   
    function updateDividend(address investor) internal returns(uint256){
        uint256 owing = dividendsOwing(investor);
        if (owing > 0){
            unclaimedDividendPoints = unclaimedDividendPoints.sub(owing);
            accounts[investor].lastDividentPoints = totalDividentPoints;
            accounts[investor].pending = 0;
        }
        return owing;
    }
   
    function activeStake(address _user) external view returns (uint256){
        return accounts[_user].balance;
    }
    
    function UNSTAKE(uint256 tokens) external returns (bool){
        require(accounts[msg.sender].balance > 0);
        
        uint256 owing = updateDividend(msg.sender);
        
        if(owing > 0) // unclaimed reward
            accounts[msg.sender].pending = owing;
        
        stakedCoins = stakedCoins.sub(tokens);

        require(_transfer(msg.sender, tokens, false));
       
        accounts[msg.sender].balance = accounts[msg.sender].balance.sub(tokens);
        
        return true;
    }
   
    function disburse(uint256 amount) internal{
        balances[address(this)] = balances[address(this)].add(amount);
        
        uint256 unnormalized = amount.mul(pointMultiplier);
        totalDividentPoints = totalDividentPoints.add(unnormalized.div(stakedCoins));
        unclaimedDividendPoints = unclaimedDividendPoints.add(amount);
    }
   
    function claimReward() external returns(bool){
        uint256 owing = updateDividend(msg.sender);
        
        require(owing > 0);

        require(_transfer(msg.sender, owing, true));
        
        accounts[msg.sender].rewardsClaimed = accounts[msg.sender].rewardsClaimed.add(owing);
       
        totalRewardsClaimed = totalRewardsClaimed.add(owing);
        return true;
    }
    
    function rewardsClaimed(address _user) external view returns(uint256 rewardClaimed){
        return accounts[_user].rewardsClaimed;
    }
    
    function reinvest() external {
        uint256 owing = updateDividend(msg.sender);
        
        require(owing > 0);
        
        // if there is any pending reward, people can add it to existing stake
        
        addToStake(owing);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"STAKE","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"UNSTAKE","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"activeStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reinvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"rewardsClaimed","outputs":[{"internalType":"uint256","name":"rewardClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakedCoins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"stakingStartedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewardsClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405260056080819052644c494f4e4b60d81b60a09081526200002891600191906200012e565b50604080518082019091526011808252704c696f6e204b696e672046696e616e636560781b602090920191825262000063916002916200012e565b50601260035569d3c21bcecceda1000000600555670de0b6b3a7640000600b553480156200009057600080fd5b50604051620014fa380380620014fa83398181016040526020811015620000b657600080fd5b5051600080546001600160a01b031916331781556001600160a01b03821680825260066020908152604080842069d3c21bcecceda100000090819055815190815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350620001ca565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017157805160ff1916838001178555620001a1565b82800160010185558215620001a1579182015b82811115620001a157825182559160200191906001019062000184565b50620001af929150620001b3565b5090565b5b80821115620001af5760008155600101620001b4565b61132080620001da6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063a34b0f76116100c3578063d3f730fd1161007c578063d3f730fd14610382578063dd62ed3e146103a8578063f2fde38b146103d6578063f3fb67a0146103fc578063f40f0f5214610422578063fdb5a03e1461044857610158565b8063a34b0f7614610319578063a9059cbb14610321578063b88a802f1461034d578063bf9befb114610355578063ca84d5911461035d578063d0668b3c1461037a57610158565b8063527b90c811610115578063527b90c81461027a578063625817331461029757806370a08231146102a15780638d7ce096146102c75780638da5cb5b146102ed57806395d89b411461031157610158565b806306fdde031461015d578063095ea7b3146101da57806318160ddd1461021a57806323b872dd14610234578063313ce5671461026a5780633876029814610272575b600080fd5b610165610450565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356104db565b604080519115158252519081900360200190f35b610222610542565b60408051918252519081900360200190f35b6102066004803603606081101561024a57600080fd5b506001600160a01b03813581169160208101359091169060400135610548565b6102226106b2565b6102066106b8565b6102066004803603602081101561029057600080fd5b50356106c1565b61029f61075b565b005b610222600480360360208110156102b757600080fd5b50356001600160a01b03166107d0565b610222600480360360208110156102dd57600080fd5b50356001600160a01b03166107eb565b6102f5610806565b604080516001600160a01b039092168252519081900360200190f35b610165610815565b61022261086f565b6102066004803603604081101561033757600080fd5b506001600160a01b038135169060200135610875565b61020661096c565b6102226109e4565b6102066004803603602081101561037357600080fd5b50356109ea565b610222610ab7565b6102226004803603602081101561039857600080fd5b50356001600160a01b0316610abd565b610222600480360360408110156103be57600080fd5b506001600160a01b0381358116916020013516610adb565b61029f600480360360208110156103ec57600080fd5b50356001600160a01b0316610b06565b6102226004803603602081101561041257600080fd5b50356001600160a01b0316610b68565b6102226004803603602081101561043857600080fd5b50356001600160a01b0316610b86565b61029f610b99565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b820191906000526020600020905b8154815290600101906020018083116104b657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055490565b6001600160a01b038316600090815260076020908152604080832033845290915281205482111561057857600080fd5b6001600160a01b03841660009081526006602052604090205482111561059d57600080fd5b6001600160a01b0384166000908152600660205260409020546105c09083610bbf565b6001600160a01b03851660009081526006602090815260408083209390935560078152828220338352905220546105f79083610bbf565b6001600160a01b038516600090815260076020908152604080832033845290915281209190915561062783610c01565b905061063281610c7c565b61065e61063f8483610bbf565b6001600160a01b03861660009081526006602052604090205490610cb7565b6001600160a01b0380861660008181526006602052604090209290925586166000805160206112cb8339815191526106968680610bbf565b60408051918252519081900360200190a3506001949350505050565b60035481565b600f5460ff1681565b336000908152601060205260408120546106da57600080fd5b60006106e533610d11565b90508015610703573360009081526010602052604090206005018190555b600c546107109084610bbf565b600c5561071f33846000610d64565b61072857600080fd5b336000908152601060205260409020546107429084610bbf565b3360009081526010602052604090205550600192915050565b6000546001600160a01b0316331461077257600080fd5b600f5460ff16156107c1576040805162461bcd60e51b815260206004820152601460248201527339ba30b5b4b7339030b63932b0b23c9037b832b760611b604482015290519081900360640190fd5b600f805460ff19166001179055565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b031660009081526010602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b600e5481565b60006001600160a01b03831661088a57600080fd5b336000908152600660205260409020548211156108a657600080fd5b6001600160a01b03831660009081526006602052604090205482810110156108cd57600080fd5b336000908152600660205260409020546108e79083610bbf565b3360009081526006602052604081209190915561090383610c01565b905061090e81610c7c565b61091b61063f8483610bbf565b6001600160a01b038516600081815260066020526040902091909155336000805160206112cb8339815191526109518685610bbf565b60408051918252519081900360200190a35060019392505050565b60008061097833610d11565b90506000811161098757600080fd5b61099333826001610d64565b61099c57600080fd5b336000908152601060205260409020600401546109b99082610cb7565b33600090815260106020526040902060040155600e546109d99082610cb7565b600e55506001905090565b600d5481565b600f5460009060ff16610a37576040805162461bcd60e51b815260206004820152601060248201526f7374616b696e6720697320636c6f736560801b604482015290519081900360640190fd5b610a413083610875565b610a7c5760405162461bcd60e51b81526004018080602001828103825260238152602001806112a86023913960400191505060405180910390fd5b6000610a8733610e64565b90508015610aa5573360009081526010602052604090206005018190555b610aae83610ed4565b50600192915050565b600c5481565b6001600160a01b031660009081526010602052604090206004015490565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610b1d57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b031660009081526010602052604090206002015490565b600080610b9283610e64565b9392505050565b6000610ba433610d11565b905060008111610bb357600080fd5b610bbc81610ed4565b50565b6000610b9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f87565b600554600090819069152d02c7e14af68000009081108015610c2e57506004546001600160a01b03163314155b15610c7557610c476005610c418661101e565b90611049565b915080610c5f83600554610bbf90919063ffffffff16565b1015610c7557600554610c729082610bbf565b91505b5092915050565b600c54610c9157610c8c816110a2565b610bbc565b610ca4610c9f8260026110ea565b6110a2565b610bbc610cb28260026110ea565b61112c565b600082820183811015610b92576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d1d83610e64565b9050801561053c57600a54610d329082610bbf565b600a556009546001600160a01b0384166000908152601060205260408120600181019290925560059091015592915050565b60006001600160a01b038416610d7957600080fd5b30600090815260066020526040902054831115610d9557600080fd5b6001600160a01b0384166000908152600660205260409020548381011015610dbc57600080fd5b30600090815260066020526040902054610dd69084610bbf565b3060009081526006602052604081209190915582610e0257610df784610c01565b9050610e0281610c7c565b610e2e610e0f8583610bbf565b6001600160a01b03871660009081526006602052604090205490610cb7565b6001600160a01b038616600081815260066020526040902091909155306000805160206112cb8339815191526106968785610bbf565b6001600160a01b0381166000908152601060205260408120600101546009548291610e8f9190610bbf565b6001600160a01b03841660009081526010602052604090206005810154600b549154929350610b92929091610ece91610ec89086611049565b906110ea565b90610cb7565b6000610edf82610c01565b33600090815260106020526040902054909150610f0d57336000908152601060205260409020426002909101555b610f23610f1a8383610bbf565b600c5490610cb7565b600c55610f49610f338383610bbf565b3360009081526010602052604090205490610cb7565b336000908152601060205260409020908155600954600182015542600390910155610f80610f778383610bbf565b600d5490610cb7565b600d555050565b600081848411156110165760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fdb578181015183820152602001610fc3565b50505050905090810190601f1680156110085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008061102c8360646111a1565b90506000611041612710610ec8846064611049565b949350505050565b6000826110585750600061053c565b8282028284828161106557fe5b0414610b925760405162461bcd60e51b815260040180806020018281038252602181526020018061125d6021913960400191505060405180910390fd5b8060055410156110b157600080fd5b6005546110be9082610bbf565b60055560408051828152905160009133916000805160206112cb8339815191529181900360200190a350565b6000610b9283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f7565b306000908152600660205260409020546111469082610cb7565b30600090815260066020526040812091909155600b54611167908390611049565b905061118a611181600c54836110ea90919063ffffffff16565b60095490610cb7565b600955600a5461119a9083610cb7565b600a555050565b6000816111df5760405162461bcd60e51b815260040180806020018281038252602a81526020018061127e602a913960400191505060405180910390fd5b8182600184860103816111ee57fe5b04029392505050565b600081836112465760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610fdb578181015183820152602001610fc3565b50600083858161125257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77536166654d6174683a20746f206365696c206e756d626572207368616c6c206e6f74206265207a65726f496e2073756666696369656e7420746f6b656e7320696e20757365722077616c6c6574ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122095b4726a39a068a65d3b0e3f4b788bf9cbb42ca5eafd4f42bfdb99c8be8efb7964736f6c634300060c0033000000000000000000000000b24978f06af0a0aef6e2e93fd45883912a3fc052

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063a34b0f76116100c3578063d3f730fd1161007c578063d3f730fd14610382578063dd62ed3e146103a8578063f2fde38b146103d6578063f3fb67a0146103fc578063f40f0f5214610422578063fdb5a03e1461044857610158565b8063a34b0f7614610319578063a9059cbb14610321578063b88a802f1461034d578063bf9befb114610355578063ca84d5911461035d578063d0668b3c1461037a57610158565b8063527b90c811610115578063527b90c81461027a578063625817331461029757806370a08231146102a15780638d7ce096146102c75780638da5cb5b146102ed57806395d89b411461031157610158565b806306fdde031461015d578063095ea7b3146101da57806318160ddd1461021a57806323b872dd14610234578063313ce5671461026a5780633876029814610272575b600080fd5b610165610450565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356104db565b604080519115158252519081900360200190f35b610222610542565b60408051918252519081900360200190f35b6102066004803603606081101561024a57600080fd5b506001600160a01b03813581169160208101359091169060400135610548565b6102226106b2565b6102066106b8565b6102066004803603602081101561029057600080fd5b50356106c1565b61029f61075b565b005b610222600480360360208110156102b757600080fd5b50356001600160a01b03166107d0565b610222600480360360208110156102dd57600080fd5b50356001600160a01b03166107eb565b6102f5610806565b604080516001600160a01b039092168252519081900360200190f35b610165610815565b61022261086f565b6102066004803603604081101561033757600080fd5b506001600160a01b038135169060200135610875565b61020661096c565b6102226109e4565b6102066004803603602081101561037357600080fd5b50356109ea565b610222610ab7565b6102226004803603602081101561039857600080fd5b50356001600160a01b0316610abd565b610222600480360360408110156103be57600080fd5b506001600160a01b0381358116916020013516610adb565b61029f600480360360208110156103ec57600080fd5b50356001600160a01b0316610b06565b6102226004803603602081101561041257600080fd5b50356001600160a01b0316610b68565b6102226004803603602081101561043857600080fd5b50356001600160a01b0316610b86565b61029f610b99565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b820191906000526020600020905b8154815290600101906020018083116104b657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055490565b6001600160a01b038316600090815260076020908152604080832033845290915281205482111561057857600080fd5b6001600160a01b03841660009081526006602052604090205482111561059d57600080fd5b6001600160a01b0384166000908152600660205260409020546105c09083610bbf565b6001600160a01b03851660009081526006602090815260408083209390935560078152828220338352905220546105f79083610bbf565b6001600160a01b038516600090815260076020908152604080832033845290915281209190915561062783610c01565b905061063281610c7c565b61065e61063f8483610bbf565b6001600160a01b03861660009081526006602052604090205490610cb7565b6001600160a01b0380861660008181526006602052604090209290925586166000805160206112cb8339815191526106968680610bbf565b60408051918252519081900360200190a3506001949350505050565b60035481565b600f5460ff1681565b336000908152601060205260408120546106da57600080fd5b60006106e533610d11565b90508015610703573360009081526010602052604090206005018190555b600c546107109084610bbf565b600c5561071f33846000610d64565b61072857600080fd5b336000908152601060205260409020546107429084610bbf565b3360009081526010602052604090205550600192915050565b6000546001600160a01b0316331461077257600080fd5b600f5460ff16156107c1576040805162461bcd60e51b815260206004820152601460248201527339ba30b5b4b7339030b63932b0b23c9037b832b760611b604482015290519081900360640190fd5b600f805460ff19166001179055565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b031660009081526010602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b600e5481565b60006001600160a01b03831661088a57600080fd5b336000908152600660205260409020548211156108a657600080fd5b6001600160a01b03831660009081526006602052604090205482810110156108cd57600080fd5b336000908152600660205260409020546108e79083610bbf565b3360009081526006602052604081209190915561090383610c01565b905061090e81610c7c565b61091b61063f8483610bbf565b6001600160a01b038516600081815260066020526040902091909155336000805160206112cb8339815191526109518685610bbf565b60408051918252519081900360200190a35060019392505050565b60008061097833610d11565b90506000811161098757600080fd5b61099333826001610d64565b61099c57600080fd5b336000908152601060205260409020600401546109b99082610cb7565b33600090815260106020526040902060040155600e546109d99082610cb7565b600e55506001905090565b600d5481565b600f5460009060ff16610a37576040805162461bcd60e51b815260206004820152601060248201526f7374616b696e6720697320636c6f736560801b604482015290519081900360640190fd5b610a413083610875565b610a7c5760405162461bcd60e51b81526004018080602001828103825260238152602001806112a86023913960400191505060405180910390fd5b6000610a8733610e64565b90508015610aa5573360009081526010602052604090206005018190555b610aae83610ed4565b50600192915050565b600c5481565b6001600160a01b031660009081526010602052604090206004015490565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610b1d57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b031660009081526010602052604090206002015490565b600080610b9283610e64565b9392505050565b6000610ba433610d11565b905060008111610bb357600080fd5b610bbc81610ed4565b50565b6000610b9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f87565b600554600090819069152d02c7e14af68000009081108015610c2e57506004546001600160a01b03163314155b15610c7557610c476005610c418661101e565b90611049565b915080610c5f83600554610bbf90919063ffffffff16565b1015610c7557600554610c729082610bbf565b91505b5092915050565b600c54610c9157610c8c816110a2565b610bbc565b610ca4610c9f8260026110ea565b6110a2565b610bbc610cb28260026110ea565b61112c565b600082820183811015610b92576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d1d83610e64565b9050801561053c57600a54610d329082610bbf565b600a556009546001600160a01b0384166000908152601060205260408120600181019290925560059091015592915050565b60006001600160a01b038416610d7957600080fd5b30600090815260066020526040902054831115610d9557600080fd5b6001600160a01b0384166000908152600660205260409020548381011015610dbc57600080fd5b30600090815260066020526040902054610dd69084610bbf565b3060009081526006602052604081209190915582610e0257610df784610c01565b9050610e0281610c7c565b610e2e610e0f8583610bbf565b6001600160a01b03871660009081526006602052604090205490610cb7565b6001600160a01b038616600081815260066020526040902091909155306000805160206112cb8339815191526106968785610bbf565b6001600160a01b0381166000908152601060205260408120600101546009548291610e8f9190610bbf565b6001600160a01b03841660009081526010602052604090206005810154600b549154929350610b92929091610ece91610ec89086611049565b906110ea565b90610cb7565b6000610edf82610c01565b33600090815260106020526040902054909150610f0d57336000908152601060205260409020426002909101555b610f23610f1a8383610bbf565b600c5490610cb7565b600c55610f49610f338383610bbf565b3360009081526010602052604090205490610cb7565b336000908152601060205260409020908155600954600182015542600390910155610f80610f778383610bbf565b600d5490610cb7565b600d555050565b600081848411156110165760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fdb578181015183820152602001610fc3565b50505050905090810190601f1680156110085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008061102c8360646111a1565b90506000611041612710610ec8846064611049565b949350505050565b6000826110585750600061053c565b8282028284828161106557fe5b0414610b925760405162461bcd60e51b815260040180806020018281038252602181526020018061125d6021913960400191505060405180910390fd5b8060055410156110b157600080fd5b6005546110be9082610bbf565b60055560408051828152905160009133916000805160206112cb8339815191529181900360200190a350565b6000610b9283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f7565b306000908152600660205260409020546111469082610cb7565b30600090815260066020526040812091909155600b54611167908390611049565b905061118a611181600c54836110ea90919063ffffffff16565b60095490610cb7565b600955600a5461119a9083610cb7565b600a555050565b6000816111df5760405162461bcd60e51b815260040180806020018281038252602a81526020018061127e602a913960400191505060405180910390fd5b8182600184860103816111ee57fe5b04029392505050565b600081836112465760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610fdb578181015183820152602001610fc3565b50600083858161125257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77536166654d6174683a20746f206365696c206e756d626572207368616c6c206e6f74206265207a65726f496e2073756666696369656e7420746f6b656e7320696e20757365722077616c6c6574ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122095b4726a39a068a65d3b0e3f4b788bf9cbb42ca5eafd4f42bfdb99c8be8efb7964736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b24978f06af0a0aef6e2e93fd45883912a3fc052

-----Decoded View---------------
Arg [0] : owner (address): 0xb24978F06AF0a0aEF6e2e93fD45883912A3fC052

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b24978f06af0a0aef6e2e93fd45883912a3fc052


Deployed Bytecode Sourcemap

9739:11779:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9856:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11391:219;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11391:219:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10640:100;;;:::i;:::-;;;;;;;;;;;;;;;;13594:610;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13594:610:0;;;;;;;;;;;;;;;;;:::i;9904:28::-;;;:::i;17060:23::-;;;:::i;19799:522::-;;;;;;;;;;;;;;;;-1:-1:-1;19799:522:0;;:::i;17358:134::-;;;:::i;:::-;;10968;;;;;;;;;;;;;;;;-1:-1:-1;10968:134:0;-1:-1:-1;;;;;10968:134:0;;:::i;19671:116::-;;;;;;;;;;;;;;;;-1:-1:-1;19671:116:0;-1:-1:-1;;;;;19671:116:0;;:::i;8762:28::-;;;:::i;:::-;;;;-1:-1:-1;;;;;8762:28:0;;;;;;;;;;;;;;9819:30;;;:::i;17013:34::-;;;:::i;12410:639::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12410:639:0;;;;;;;;:::i;20695:400::-;;;:::i;16980:26::-;;;:::i;17504:520::-;;;;;;;;;;;;;;;;-1:-1:-1;17504:520:0;;:::i;16941:26::-;;;:::i;21107:139::-;;;;;;;;;;;;;;;;-1:-1:-1;21107:139:0;-1:-1:-1;;;;;21107:139:0;;:::i;11900:161::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11900:161:0;;;;;;;;;;:::i;9030:166::-;;;;;;;;;;;;;;;;-1:-1:-1;9030:166:0;-1:-1:-1;;;;;9030:166:0;;:::i;18670:121::-;;;;;;;;;;;;;;;;-1:-1:-1;18670:121:0;-1:-1:-1;;;;;18670:121:0;;:::i;18803:147::-;;;;;;;;;;;;;;;;-1:-1:-1;18803:147:0;-1:-1:-1;;;;;18803:147:0;;:::i;21258:257::-;;;:::i;9856:41::-;;;;;;;;;;;;;;-1:-1:-1;;9856:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11391:219::-;11500:10;11468:12;11492:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;11492:28:0;;;;;;;;;;;:37;;;11545:35;;;;;;;11468:12;;11492:28;;11500:10;;11545:35;;;;;;;;-1:-1:-1;11598:4:0;11391:219;;;;;:::o;10640:100::-;10720:12;;10640:100;:::o;13594:610::-;-1:-1:-1;;;;;13727:13:0;;13685:12;13727:13;;;:7;:13;;;;;;;;13741:10;13727:25;;;;;;;;13717:35;;;13709:44;;;;;;-1:-1:-1;;;;;13790:14:0;;;;;;:8;:14;;;;;;:24;-1:-1:-1;13790:24:0;13782:33;;;;;;-1:-1:-1;;;;;13843:14:0;;;;;;:8;:14;;;;;;:26;;13862:6;13843:18;:26::i;:::-;-1:-1:-1;;;;;13826:14:0;;;;;;:8;:14;;;;;;;;:43;;;;13908:7;:13;;;;;13922:10;13908:25;;;;;;:37;;13938:6;13908:29;:37::i;:::-;-1:-1:-1;;;;;13880:13:0;;;;;;:7;:13;;;;;;;;13894:10;13880:25;;;;;;;:65;;;;13984:25;14002:6;13984:17;:25::i;:::-;13964:45;;14020:26;14036:9;14020:15;:26::i;:::-;14081:39;14098:21;:6;14109:9;14098:10;:21::i;:::-;-1:-1:-1;;;;;14081:12:0;;;;;;:8;:12;;;;;;;:16;:39::i;:::-;-1:-1:-1;;;;;14066:12:0;;;;;;;:8;:12;;;;;:54;;;;14136:38;;-1:-1:-1;;;;;;;;;;;14155:18:0;14166:6;;14155:10;:18::i;:::-;14136:38;;;;;;;;;;;;;;;-1:-1:-1;14192:4:0;;13594:610;-1:-1:-1;;;;13594:610:0:o;9904:28::-;;;;:::o;17060:23::-;;;;;;:::o;19799:522::-;19883:10;19850:4;19874:20;;;:8;:20;;;;;:28;19866:41;;;;;;19928:13;19944:26;19959:10;19944:14;:26::i;:::-;19928:42;-1:-1:-1;19994:9:0;;19991:83;;20047:10;20038:20;;;;:8;:20;;;;;:28;;:36;;;19991:83;20109:11;;:23;;20125:6;20109:15;:23::i;:::-;20095:11;:37;20153:36;20163:10;20175:6;20183:5;20153:9;:36::i;:::-;20145:45;;;;;;20250:10;20241:20;;;;:8;:20;;;;;:28;:40;;20274:6;20241:32;:40::i;:::-;20219:10;20210:20;;;;:8;:20;;;;;:71;-1:-1:-1;20309:4:0;;19799:522;-1:-1:-1;;19799:522:0:o;17358:134::-;8996:5;;-1:-1:-1;;;;;8996:5:0;8982:10;:19;8974:28;;;;;;17419:11:::1;::::0;::::1;;17418:12;17410:45;;;::::0;;-1:-1:-1;;;17410:45:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;17410:45:0;;;;;;;;;;;;;::::1;;17466:11;:18:::0;;-1:-1:-1;;17466:18:0::1;17480:4;17466:18;::::0;;17358:134::o;10968:::-;-1:-1:-1;;;;;11074:20:0;11039:15;11074:20;;;:8;:20;;;;;;;10968:134::o;19671:116::-;-1:-1:-1;;;;;19756:15:0;19730:7;19756:15;;;:8;:15;;;;;:23;;19671:116::o;8762:28::-;;;-1:-1:-1;;;;;8762:28:0;;:::o;9819:30::-;;;;;;;;;;;;;;;-1:-1:-1;;9819:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17013:34;;;;:::o;12410:639::-;12481:12;-1:-1:-1;;;;;12568:25:0;;12560:34;;;;;;12622:10;12613:20;;;;:8;:20;;;;;;:30;-1:-1:-1;12613:30:0;12605:40;;;;;;-1:-1:-1;;;;;12689:12:0;;;;;;:8;:12;;;;;;12664:21;;;:37;;12656:46;;;;;;12755:10;12746:20;;;;:8;:20;;;;;;:32;;12771:6;12746:24;:32::i;:::-;12732:10;12723:20;;;;:8;:20;;;;;:55;;;;12819:25;12837:6;12819:17;:25::i;:::-;12799:45;;12855:26;12871:9;12855:15;:26::i;:::-;12917:39;12934:21;:6;12945:9;12934:10;:21::i;12917:39::-;-1:-1:-1;;;;;12902:12:0;;;;;;:8;:12;;;;;:54;;;;12981:10;-1:-1:-1;;;;;;;;;;;12997:21:0;:6;13008:9;12997:10;:21::i;:::-;12972:47;;;;;;;;;;;;;;;-1:-1:-1;13037:4:0;;12410:639;-1:-1:-1;;;12410:639:0:o;20695:400::-;20735:4;20751:13;20767:26;20782:10;20767:14;:26::i;:::-;20751:42;;20830:1;20822:5;:9;20814:18;;;;;;20853:34;20863:10;20875:5;20882:4;20853:9;:34::i;:::-;20845:43;;;;;;20956:10;20947:20;;;;:8;:20;;;;;:35;;;:46;;20987:5;20947:39;:46::i;:::-;20918:10;20909:20;;;;:8;:20;;;;;:35;;:84;21035:19;;:30;;21059:5;21035:23;:30::i;:::-;21013:19;:52;-1:-1:-1;21083:4:0;;-1:-1:-1;20695:400:0;:::o;16980:26::-;;;;:::o;17504:520::-;17577:11;;17553:4;;17577:11;;17569:40;;;;;-1:-1:-1;;;17569:40:0;;;;;;;;;;;;-1:-1:-1;;;17569:40:0;;;;;;;;;;;;;;;17691:32;17708:4;17715:7;17691:8;:32::i;:::-;17683:80;;;;-1:-1:-1;;;17683:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17802:13;17818:26;17833:10;17818:14;:26::i;:::-;17802:42;-1:-1:-1;17868:9:0;;17865:79;;17917:10;17908:20;;;;:8;:20;;;;;:28;;:36;;;17865:79;17965:19;17976:7;17965:10;:19::i;:::-;-1:-1:-1;18012:4:0;;17504:520;-1:-1:-1;;17504:520:0:o;16941:26::-;;;;:::o;21107:139::-;-1:-1:-1;;;;;21208:15:0;21168:21;21208:15;;;:8;:15;;;;;:30;;;;21107:139::o;11900:161::-;-1:-1:-1;;;;;12025:19:0;;;11988:17;12025:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;11900:161::o;9030:166::-;8996:5;;-1:-1:-1;;;;;8996:5:0;8982:10;:19;8974:28;;;;;;9112:5:::1;:17:::0;;-1:-1:-1;;;;;;9112:17:0::1;-1:-1:-1::0;;;;;9112:17:0;::::1;::::0;;::::1;::::0;;9145:43:::1;::::0;9112:17;;9166:10:::1;::::0;9145:43:::1;::::0;9112:5;9145:43:::1;9030:166:::0;:::o;18670:121::-;-1:-1:-1;;;;;18758:14:0;18732:7;18758:14;;;:8;:14;;;;;:25;;;;18670:121::o;18803:147::-;18863:7;18882:13;18898:21;18913:5;18898:14;:21::i;:::-;18882:37;18803:147;-1:-1:-1;;;18803:147:0:o;21258:257::-;21298:13;21314:26;21329:10;21314:14;:26::i;:::-;21298:42;;21377:1;21369:5;:9;21361:18;;;;;;21490:17;21501:5;21490:10;:17::i;:::-;21258:257;:::o;1371:136::-;1429:7;1456:43;1460:1;1463;1456:43;;;;;;;;;;;;;;;;;:3;:43::i;14971:502::-;15149:12;;15035:7;;;;15106:19;;15149:24;-1:-1:-1;15149:57:0;;;;-1:-1:-1;15191:15:0;;-1:-1:-1;;;;;15191:15:0;15177:10;:29;;15149:57;15146:283;;;15244:25;15267:1;15244:18;15255:6;15244:10;:18::i;:::-;:22;;:25::i;:::-;15232:37;;15350:9;15320:27;15337:9;15320:12;;:16;;:27;;;;:::i;:::-;:39;15317:100;;;15390:12;;:27;;15407:9;15390:16;:27::i;:::-;15378:39;;15317:100;-1:-1:-1;15456:9:0;14971:502;-1:-1:-1;;14971:502:0:o;15485:247::-;15550:11;;15547:178;;15582:21;15593:9;15582:10;:21::i;:::-;15547:178;;;15644:28;15655:16;:9;15669:1;15655:13;:16::i;:::-;15644:10;:28::i;:::-;15687:26;15696:16;:9;15710:1;15696:13;:16::i;:::-;15687:8;:26::i;907:181::-;965:7;997:5;;;1021:6;;;;1013:46;;;;;-1:-1:-1;;;1013:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19281:379;19340:7;19359:13;19375:24;19390:8;19375:14;:24::i;:::-;19359:40;-1:-1:-1;19414:9:0;;19410:220;;19465:23;;:34;;19493:5;19465:27;:34::i;:::-;19439:23;:60;19554:19;;-1:-1:-1;;;;;19514:18:0;;;;;;:8;:18;;;;;:37;;;:59;;;;19588:26;;;;:30;19647:5;19281:379;-1:-1:-1;;19281:379:0:o;14216:747::-;14294:4;-1:-1:-1;;;;;14372:25:0;;14364:34;;;;;;14434:4;14417:23;;;;:8;:23;;;;;;:33;-1:-1:-1;14417:33:0;14409:43;;;;;;-1:-1:-1;;;;;14496:12:0;;;;;;:8;:12;;;;;;14471:21;;;:37;;14463:46;;;;;;14573:4;14556:23;;;;:8;:23;;;;;;:35;;14584:6;14556:27;:35::i;:::-;14547:4;14530:23;;;;:8;:23;;;;;:61;;;;14658:7;14654:117;;14693:25;14711:6;14693:17;:25::i;:::-;14681:37;;14733:26;14749:9;14733:15;:26::i;:::-;14806:39;14823:21;:6;14834:9;14823:10;:21::i;:::-;-1:-1:-1;;;;;14806:12:0;;;;;;:8;:12;;;;;;;:16;:39::i;:::-;-1:-1:-1;;;;;14791:12:0;;;;;;:8;:12;;;;;:54;;;;14892:4;-1:-1:-1;;;;;;;;;;;14901:21:0;:6;14912:9;14901:10;:21::i;18962:308::-;-1:-1:-1;;;;;19098:18:0;;19027:7;19098:18;;;:8;:18;;;;;:37;;;19074:19;;19027:7;;19074:62;;:19;:23;:62::i;:::-;-1:-1:-1;;;;;19235:18:0;;;;;;:8;:18;;;;;:26;;;;19213:15;;19157:26;;19046:90;;-1:-1:-1;19154:108:0;;19235:26;;19155:74;;19156:51;;19046:90;19156:32;:51::i;:::-;19155:57;;:74::i;:::-;19154:80;;:108::i;18036:622::-;18091:17;18111:26;18129:7;18111:17;:26::i;:::-;18170:10;18161:20;;;;:8;:20;;;;;:28;18091:46;;-1:-1:-1;18158:111:0;;18241:10;18232:20;;;;:8;:20;;;;;18266:3;18232:31;;;;:37;18158:111;18308:39;18324:22;:7;18336:9;18324:11;:22::i;:::-;18308:11;;;:15;:39::i;:::-;18294:11;:53;18389:56;18422:22;:7;18434:9;18422:11;:22::i;:::-;18398:10;18389:20;;;;:8;:20;;;;;:28;;:32;:56::i;:::-;18367:10;18358:20;;;;:8;:20;;;;;:87;;;18498:19;;18456:39;;;:61;18573:3;18538:32;;;;:38;18611:39;18627:22;:7;18639:9;18627:11;:22::i;:::-;18611:11;;;:15;:39::i;:::-;18597:11;:53;-1:-1:-1;;18036:622:0:o;1810:192::-;1896:7;1932:12;1924:6;;;;1916:29;;;;-1:-1:-1;;;1916:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1968:5:0;;;1810:192::o;16422:240::-;16482:7;;16522:17;:7;16535:3;16522:12;:17::i;:::-;16501:38;-1:-1:-1;16550:23:0;16576:42;16600:17;16576:19;16501:38;16606:11;16576:14;:19::i;:42::-;16550:68;16422:240;-1:-1:-1;;;;16422:240:0:o;2261:471::-;2319:7;2564:6;2560:47;;-1:-1:-1;2594:1:0;2587:8;;2560:47;2631:5;;;2635:1;2631;:5;:1;2655:5;;;;;:10;2647:56;;;;-1:-1:-1;;;2647:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15968:223;16046:5;16030:12;;:21;;16022:30;;;;;;16105:12;;:23;;16122:5;16105:16;:23::i;:::-;16090:12;:38;16144:39;;;;;;;;16173:1;;16153:10;;-1:-1:-1;;;;;;;;;;;16144:39:0;;;;;;;;15968:223;:::o;3208:132::-;3266:7;3293:39;3297:1;3300;3293:39;;;;;;;;;;;;;;;;;:3;:39::i;20332:352::-;20428:4;20411:23;;;;:8;:23;;;;;;:35;;20439:6;20411:27;:35::i;:::-;20402:4;20385:23;;;;:8;:23;;;;;:61;;;;20501:15;;20490:27;;:6;;:10;:27::i;:::-;20467:50;;20550:54;20574:29;20591:11;;20574:12;:16;;:29;;;;:::i;:::-;20550:19;;;:23;:54::i;:::-;20528:19;:76;20641:23;;:35;;20669:6;20641:27;:35::i;:::-;20615:23;:61;-1:-1:-1;;20332:352:0:o;5372:187::-;5431:9;5461:6;5453:61;;;;-1:-1:-1;;;5453:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5550:1;5546;5541;5537;5533;:5;:9;5532:15;;;;;;:19;;5372:187;-1:-1:-1;;;5372:187:0:o;3836:278::-;3922:7;3957:12;3950:5;3942:28;;;;-1:-1:-1;;;3942:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3981:9;3997:1;3993;:5;;;;;;;3836:278;-1:-1:-1;;;;;3836:278:0:o

Swarm Source

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