ETH Price: $3,401.34 (-0.49%)
Gas: 18 Gwei

Token

Burn the Buffett (BUFF)
 

Overview

Max Total Supply

79,439,251,336.458926107828835491 BUFF

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
snowtoshi.eth
Balance
17,690,244.52982497458944931 BUFF

Value
$0.00
0xc005f0cCe235d9F3BE6a838E21bbc875279Cb62F
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:
BurnTheBuffett

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-11
*/

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

// ----------------------------------------------------------------------------
// 'BurnTheBuffett' token AND staking contract

// Symbol      : BUFF
// Name        : Burn the Buffett
// Total supply: 84,600,000,000 
// Min supply  : 100k 
// Decimals    : 18


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract BurnTheBuffett is IERC20, Owned {
    using SafeMath for uint256;
   
    string public symbol = "BUFF";
    string public  name = "Burn the Buffett";
    uint256 public decimals = 18;
    address airdropContract;
    uint256 _totalSupply = 84600000000 * 10 ** (18); // 84,600,000,000
    
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
   
    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor(address owner) public {
                    
					
        balances[address(owner)] =   84600000000  * 10 ** (18); // 1,000,000
        emit Transfer(address(0), address(owner), 84600000000  * 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 = 1 * 10 ** (18);
        
        if(_totalSupply > minSupply && msg.sender != airdropContract){
        
            deduction = onePercent(tokens).mul(1); // 1% 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 BUFF 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"}]

60c06040526004608081905263212aa32360e11b60a090815262000027916001919062000132565b506040805180820190915260108082526f109d5c9b881d1a1948109d5999995d1d60821b6020909201918252620000619160029162000132565b5060126003556c01115b7ad59d1a60ed78000000600555670de0b6b3a7640000600b553480156200009157600080fd5b50604051620014fc380380620014fc83398181016040526020811015620000b757600080fd5b5051600080546001600160a01b031916331781556001600160a01b0382168082526006602090815260408084206c01115b7ad59d1a60ed7800000090819055815190815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350620001ce565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017557805160ff1916838001178555620001a5565b82800160010185558215620001a5579182015b82811115620001a557825182559160200191906001019062000188565b50620001b3929150620001b7565b5090565b5b80821115620001b35760008155600101620001b8565b61131e80620001de6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063a34b0f76116100c3578063d3f730fd1161007c578063d3f730fd14610382578063dd62ed3e146103a8578063f2fde38b146103d6578063f3fb67a0146103fc578063f40f0f5214610422578063fdb5a03e1461044857610158565b8063a34b0f7614610319578063a9059cbb14610321578063b88a802f1461034d578063bf9befb114610355578063ca84d5911461035d578063d0668b3c1461037a57610158565b8063527b90c811610115578063527b90c81461027a578063625817331461029757806370a08231146102a15780638d7ce096146102c75780638da5cb5b146102ed57806395d89b411461031157610158565b806306fdde031461015d578063095ea7b3146101da57806318160ddd1461021a57806323b872dd14610234578063313ce5671461026a5780633876029814610272575b600080fd5b610165610450565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356104db565b604080519115158252519081900360200190f35b610222610542565b60408051918252519081900360200190f35b6102066004803603606081101561024a57600080fd5b506001600160a01b03813581169160208101359091169060400135610548565b6102226106b2565b6102066106b8565b6102066004803603602081101561029057600080fd5b50356106c1565b61029f61075b565b005b610222600480360360208110156102b757600080fd5b50356001600160a01b03166107d0565b610222600480360360208110156102dd57600080fd5b50356001600160a01b03166107eb565b6102f5610806565b604080516001600160a01b039092168252519081900360200190f35b610165610815565b61022261086f565b6102066004803603604081101561033757600080fd5b506001600160a01b038135169060200135610875565b61020661096c565b6102226109e4565b6102066004803603602081101561037357600080fd5b50356109ea565b610222610ab7565b6102226004803603602081101561039857600080fd5b50356001600160a01b0316610abd565b610222600480360360408110156103be57600080fd5b506001600160a01b0381358116916020013516610adb565b61029f600480360360208110156103ec57600080fd5b50356001600160a01b0316610b06565b6102226004803603602081101561041257600080fd5b50356001600160a01b0316610b68565b6102226004803603602081101561043857600080fd5b50356001600160a01b0316610b86565b61029f610b99565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b820191906000526020600020905b8154815290600101906020018083116104b657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055490565b6001600160a01b038316600090815260076020908152604080832033845290915281205482111561057857600080fd5b6001600160a01b03841660009081526006602052604090205482111561059d57600080fd5b6001600160a01b0384166000908152600660205260409020546105c09083610bbf565b6001600160a01b03851660009081526006602090815260408083209390935560078152828220338352905220546105f79083610bbf565b6001600160a01b038516600090815260076020908152604080832033845290915281209190915561062783610c01565b905061063281610c7a565b61065e61063f8483610bbf565b6001600160a01b03861660009081526006602052604090205490610cb5565b6001600160a01b0380861660008181526006602052604090209290925586166000805160206112c98339815191526106968680610bbf565b60408051918252519081900360200190a3506001949350505050565b60035481565b600f5460ff1681565b336000908152601060205260408120546106da57600080fd5b60006106e533610d0f565b90508015610703573360009081526010602052604090206005018190555b600c546107109084610bbf565b600c5561071f33846000610d62565b61072857600080fd5b336000908152601060205260409020546107429084610bbf565b3360009081526010602052604090205550600192915050565b6000546001600160a01b0316331461077257600080fd5b600f5460ff16156107c1576040805162461bcd60e51b815260206004820152601460248201527339ba30b5b4b7339030b63932b0b23c9037b832b760611b604482015290519081900360640190fd5b600f805460ff19166001179055565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b031660009081526010602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b600e5481565b60006001600160a01b03831661088a57600080fd5b336000908152600660205260409020548211156108a657600080fd5b6001600160a01b03831660009081526006602052604090205482810110156108cd57600080fd5b336000908152600660205260409020546108e79083610bbf565b3360009081526006602052604081209190915561090383610c01565b905061090e81610c7a565b61091b61063f8483610bbf565b6001600160a01b038516600081815260066020526040902091909155336000805160206112c98339815191526109518685610bbf565b60408051918252519081900360200190a35060019392505050565b60008061097833610d0f565b90506000811161098757600080fd5b61099333826001610d62565b61099c57600080fd5b336000908152601060205260409020600401546109b99082610cb5565b33600090815260106020526040902060040155600e546109d99082610cb5565b600e55506001905090565b600d5481565b600f5460009060ff16610a37576040805162461bcd60e51b815260206004820152601060248201526f7374616b696e6720697320636c6f736560801b604482015290519081900360640190fd5b610a413083610875565b610a7c5760405162461bcd60e51b81526004018080602001828103825260238152602001806112a66023913960400191505060405180910390fd5b6000610a8733610e62565b90508015610aa5573360009081526010602052604090206005018190555b610aae83610ed2565b50600192915050565b600c5481565b6001600160a01b031660009081526010602052604090206004015490565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610b1d57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b031660009081526010602052604090206002015490565b600080610b9283610e62565b9392505050565b6000610ba433610d0f565b905060008111610bb357600080fd5b610bbc81610ed2565b50565b6000610b9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f85565b6005546000908190670de0b6b3a76400009081108015610c2c57506004546001600160a01b03163314155b15610c7357610c456001610c3f8661101c565b90611047565b915080610c5d83600554610bbf90919063ffffffff16565b1015610c7357600554610c709082610bbf565b91505b5092915050565b600c54610c8f57610c8a816110a0565b610bbc565b610ca2610c9d8260026110e8565b6110a0565b610bbc610cb08260026110e8565b61112a565b600082820183811015610b92576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d1b83610e62565b9050801561053c57600a54610d309082610bbf565b600a556009546001600160a01b0384166000908152601060205260408120600181019290925560059091015592915050565b60006001600160a01b038416610d7757600080fd5b30600090815260066020526040902054831115610d9357600080fd5b6001600160a01b0384166000908152600660205260409020548381011015610dba57600080fd5b30600090815260066020526040902054610dd49084610bbf565b3060009081526006602052604081209190915582610e0057610df584610c01565b9050610e0081610c7a565b610e2c610e0d8583610bbf565b6001600160a01b03871660009081526006602052604090205490610cb5565b6001600160a01b038616600081815260066020526040902091909155306000805160206112c98339815191526106968785610bbf565b6001600160a01b0381166000908152601060205260408120600101546009548291610e8d9190610bbf565b6001600160a01b03841660009081526010602052604090206005810154600b549154929350610b92929091610ecc91610ec69086611047565b906110e8565b90610cb5565b6000610edd82610c01565b33600090815260106020526040902054909150610f0b57336000908152601060205260409020426002909101555b610f21610f188383610bbf565b600c5490610cb5565b600c55610f47610f318383610bbf565b3360009081526010602052604090205490610cb5565b336000908152601060205260409020908155600954600182015542600390910155610f7e610f758383610bbf565b600d5490610cb5565b600d555050565b600081848411156110145760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fd9578181015183820152602001610fc1565b50505050905090810190601f1680156110065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008061102a83606461119f565b9050600061103f612710610ec6846064611047565b949350505050565b6000826110565750600061053c565b8282028284828161106357fe5b0414610b925760405162461bcd60e51b815260040180806020018281038252602181526020018061125b6021913960400191505060405180910390fd5b8060055410156110af57600080fd5b6005546110bc9082610bbf565b60055560408051828152905160009133916000805160206112c98339815191529181900360200190a350565b6000610b9283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f5565b306000908152600660205260409020546111449082610cb5565b30600090815260066020526040812091909155600b54611165908390611047565b905061118861117f600c54836110e890919063ffffffff16565b60095490610cb5565b600955600a546111989083610cb5565b600a555050565b6000816111dd5760405162461bcd60e51b815260040180806020018281038252602a81526020018061127c602a913960400191505060405180910390fd5b8182600184860103816111ec57fe5b04029392505050565b600081836112445760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610fd9578181015183820152602001610fc1565b50600083858161125057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77536166654d6174683a20746f206365696c206e756d626572207368616c6c206e6f74206265207a65726f496e2073756666696369656e7420746f6b656e7320696e20757365722077616c6c6574ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206057d0c911643de9607f9e6a2774eaf098fc5d9fd74308685a06d507bade989e64736f6c634300060c0033000000000000000000000000c60ba89ce795662c57eae184f2faf329a032784e

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c8063a34b0f76116100c3578063d3f730fd1161007c578063d3f730fd14610382578063dd62ed3e146103a8578063f2fde38b146103d6578063f3fb67a0146103fc578063f40f0f5214610422578063fdb5a03e1461044857610158565b8063a34b0f7614610319578063a9059cbb14610321578063b88a802f1461034d578063bf9befb114610355578063ca84d5911461035d578063d0668b3c1461037a57610158565b8063527b90c811610115578063527b90c81461027a578063625817331461029757806370a08231146102a15780638d7ce096146102c75780638da5cb5b146102ed57806395d89b411461031157610158565b806306fdde031461015d578063095ea7b3146101da57806318160ddd1461021a57806323b872dd14610234578063313ce5671461026a5780633876029814610272575b600080fd5b610165610450565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356104db565b604080519115158252519081900360200190f35b610222610542565b60408051918252519081900360200190f35b6102066004803603606081101561024a57600080fd5b506001600160a01b03813581169160208101359091169060400135610548565b6102226106b2565b6102066106b8565b6102066004803603602081101561029057600080fd5b50356106c1565b61029f61075b565b005b610222600480360360208110156102b757600080fd5b50356001600160a01b03166107d0565b610222600480360360208110156102dd57600080fd5b50356001600160a01b03166107eb565b6102f5610806565b604080516001600160a01b039092168252519081900360200190f35b610165610815565b61022261086f565b6102066004803603604081101561033757600080fd5b506001600160a01b038135169060200135610875565b61020661096c565b6102226109e4565b6102066004803603602081101561037357600080fd5b50356109ea565b610222610ab7565b6102226004803603602081101561039857600080fd5b50356001600160a01b0316610abd565b610222600480360360408110156103be57600080fd5b506001600160a01b0381358116916020013516610adb565b61029f600480360360208110156103ec57600080fd5b50356001600160a01b0316610b06565b6102226004803603602081101561041257600080fd5b50356001600160a01b0316610b68565b6102226004803603602081101561043857600080fd5b50356001600160a01b0316610b86565b61029f610b99565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b820191906000526020600020905b8154815290600101906020018083116104b657829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60055490565b6001600160a01b038316600090815260076020908152604080832033845290915281205482111561057857600080fd5b6001600160a01b03841660009081526006602052604090205482111561059d57600080fd5b6001600160a01b0384166000908152600660205260409020546105c09083610bbf565b6001600160a01b03851660009081526006602090815260408083209390935560078152828220338352905220546105f79083610bbf565b6001600160a01b038516600090815260076020908152604080832033845290915281209190915561062783610c01565b905061063281610c7a565b61065e61063f8483610bbf565b6001600160a01b03861660009081526006602052604090205490610cb5565b6001600160a01b0380861660008181526006602052604090209290925586166000805160206112c98339815191526106968680610bbf565b60408051918252519081900360200190a3506001949350505050565b60035481565b600f5460ff1681565b336000908152601060205260408120546106da57600080fd5b60006106e533610d0f565b90508015610703573360009081526010602052604090206005018190555b600c546107109084610bbf565b600c5561071f33846000610d62565b61072857600080fd5b336000908152601060205260409020546107429084610bbf565b3360009081526010602052604090205550600192915050565b6000546001600160a01b0316331461077257600080fd5b600f5460ff16156107c1576040805162461bcd60e51b815260206004820152601460248201527339ba30b5b4b7339030b63932b0b23c9037b832b760611b604482015290519081900360640190fd5b600f805460ff19166001179055565b6001600160a01b031660009081526006602052604090205490565b6001600160a01b031660009081526010602052604090205490565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104d35780601f106104a8576101008083540402835291602001916104d3565b600e5481565b60006001600160a01b03831661088a57600080fd5b336000908152600660205260409020548211156108a657600080fd5b6001600160a01b03831660009081526006602052604090205482810110156108cd57600080fd5b336000908152600660205260409020546108e79083610bbf565b3360009081526006602052604081209190915561090383610c01565b905061090e81610c7a565b61091b61063f8483610bbf565b6001600160a01b038516600081815260066020526040902091909155336000805160206112c98339815191526109518685610bbf565b60408051918252519081900360200190a35060019392505050565b60008061097833610d0f565b90506000811161098757600080fd5b61099333826001610d62565b61099c57600080fd5b336000908152601060205260409020600401546109b99082610cb5565b33600090815260106020526040902060040155600e546109d99082610cb5565b600e55506001905090565b600d5481565b600f5460009060ff16610a37576040805162461bcd60e51b815260206004820152601060248201526f7374616b696e6720697320636c6f736560801b604482015290519081900360640190fd5b610a413083610875565b610a7c5760405162461bcd60e51b81526004018080602001828103825260238152602001806112a66023913960400191505060405180910390fd5b6000610a8733610e62565b90508015610aa5573360009081526010602052604090206005018190555b610aae83610ed2565b50600192915050565b600c5481565b6001600160a01b031660009081526010602052604090206004015490565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610b1d57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b031660009081526010602052604090206002015490565b600080610b9283610e62565b9392505050565b6000610ba433610d0f565b905060008111610bb357600080fd5b610bbc81610ed2565b50565b6000610b9283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f85565b6005546000908190670de0b6b3a76400009081108015610c2c57506004546001600160a01b03163314155b15610c7357610c456001610c3f8661101c565b90611047565b915080610c5d83600554610bbf90919063ffffffff16565b1015610c7357600554610c709082610bbf565b91505b5092915050565b600c54610c8f57610c8a816110a0565b610bbc565b610ca2610c9d8260026110e8565b6110a0565b610bbc610cb08260026110e8565b61112a565b600082820183811015610b92576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d1b83610e62565b9050801561053c57600a54610d309082610bbf565b600a556009546001600160a01b0384166000908152601060205260408120600181019290925560059091015592915050565b60006001600160a01b038416610d7757600080fd5b30600090815260066020526040902054831115610d9357600080fd5b6001600160a01b0384166000908152600660205260409020548381011015610dba57600080fd5b30600090815260066020526040902054610dd49084610bbf565b3060009081526006602052604081209190915582610e0057610df584610c01565b9050610e0081610c7a565b610e2c610e0d8583610bbf565b6001600160a01b03871660009081526006602052604090205490610cb5565b6001600160a01b038616600081815260066020526040902091909155306000805160206112c98339815191526106968785610bbf565b6001600160a01b0381166000908152601060205260408120600101546009548291610e8d9190610bbf565b6001600160a01b03841660009081526010602052604090206005810154600b549154929350610b92929091610ecc91610ec69086611047565b906110e8565b90610cb5565b6000610edd82610c01565b33600090815260106020526040902054909150610f0b57336000908152601060205260409020426002909101555b610f21610f188383610bbf565b600c5490610cb5565b600c55610f47610f318383610bbf565b3360009081526010602052604090205490610cb5565b336000908152601060205260409020908155600954600182015542600390910155610f7e610f758383610bbf565b600d5490610cb5565b600d555050565b600081848411156110145760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fd9578181015183820152602001610fc1565b50505050905090810190601f1680156110065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008061102a83606461119f565b9050600061103f612710610ec6846064611047565b949350505050565b6000826110565750600061053c565b8282028284828161106357fe5b0414610b925760405162461bcd60e51b815260040180806020018281038252602181526020018061125b6021913960400191505060405180910390fd5b8060055410156110af57600080fd5b6005546110bc9082610bbf565b60055560408051828152905160009133916000805160206112c98339815191529181900360200190a350565b6000610b9283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111f5565b306000908152600660205260409020546111449082610cb5565b30600090815260066020526040812091909155600b54611165908390611047565b905061118861117f600c54836110e890919063ffffffff16565b60095490610cb5565b600955600a546111989083610cb5565b600a555050565b6000816111dd5760405162461bcd60e51b815260040180806020018281038252602a81526020018061127c602a913960400191505060405180910390fd5b8182600184860103816111ec57fe5b04029392505050565b600081836112445760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610fd9578181015183820152602001610fc1565b50600083858161125057fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77536166654d6174683a20746f206365696c206e756d626572207368616c6c206e6f74206265207a65726f496e2073756666696369656e7420746f6b656e7320696e20757365722077616c6c6574ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206057d0c911643de9607f9e6a2774eaf098fc5d9fd74308685a06d507bade989e64736f6c634300060c0033

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

000000000000000000000000c60ba89ce795662c57eae184f2faf329a032784e

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

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


Deployed Bytecode Sourcemap

9734:11791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9856:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11407:219;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11407:219:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10656:100;;;:::i;:::-;;;;;;;;;;;;;;;;13610:610;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13610:610:0;;;;;;;;;;;;;;;;;:::i;9903:28::-;;;:::i;17071:23::-;;;:::i;19806:522::-;;;;;;;;;;;;;;;;-1:-1:-1;19806:522:0;;:::i;17369:134::-;;;:::i;:::-;;10984;;;;;;;;;;;;;;;;-1:-1:-1;10984:134:0;-1:-1:-1;;;;;10984:134:0;;:::i;19678:116::-;;;;;;;;;;;;;;;;-1:-1:-1;19678:116:0;-1:-1:-1;;;;;19678:116:0;;:::i;8762:28::-;;;:::i;:::-;;;;-1:-1:-1;;;;;8762:28:0;;;;;;;;;;;;;;9820:29;;;:::i;17024:34::-;;;:::i;12426:639::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12426:639:0;;;;;;;;:::i;20702:400::-;;;:::i;16991:26::-;;;:::i;17515:516::-;;;;;;;;;;;;;;;;-1:-1:-1;17515:516:0;;:::i;16952:26::-;;;:::i;21114:139::-;;;;;;;;;;;;;;;;-1:-1:-1;21114:139:0;-1:-1:-1;;;;;21114:139:0;;:::i;11916:161::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11916:161:0;;;;;;;;;;:::i;9030:166::-;;;;;;;;;;;;;;;;-1:-1:-1;9030:166:0;-1:-1:-1;;;;;9030:166:0;;:::i;18677:121::-;;;;;;;;;;;;;;;;-1:-1:-1;18677:121:0;-1:-1:-1;;;;;18677:121:0;;:::i;18810:147::-;;;;;;;;;;;;;;;;-1:-1:-1;18810:147:0;-1:-1:-1;;;;;18810:147:0;;:::i;21265:257::-;;;:::i;9856:40::-;;;;;;;;;;;;;;-1:-1:-1;;9856:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11407:219::-;11516:10;11484:12;11508:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;11508:28:0;;;;;;;;;;;:37;;;11561:35;;;;;;;11484:12;;11508:28;;11516:10;;11561:35;;;;;;;;-1:-1:-1;11614:4:0;11407:219;;;;;:::o;10656:100::-;10736:12;;10656:100;:::o;13610:610::-;-1:-1:-1;;;;;13743:13:0;;13701:12;13743:13;;;:7;:13;;;;;;;;13757:10;13743:25;;;;;;;;13733:35;;;13725:44;;;;;;-1:-1:-1;;;;;13806:14:0;;;;;;:8;:14;;;;;;:24;-1:-1:-1;13806:24:0;13798:33;;;;;;-1:-1:-1;;;;;13859:14:0;;;;;;:8;:14;;;;;;:26;;13878:6;13859:18;:26::i;:::-;-1:-1:-1;;;;;13842:14:0;;;;;;:8;:14;;;;;;;;:43;;;;13924:7;:13;;;;;13938:10;13924:25;;;;;;:37;;13954:6;13924:29;:37::i;:::-;-1:-1:-1;;;;;13896:13:0;;;;;;:7;:13;;;;;;;;13910:10;13896:25;;;;;;;:65;;;;14000:25;14018:6;14000:17;:25::i;:::-;13980:45;;14036:26;14052:9;14036:15;:26::i;:::-;14097:39;14114:21;:6;14125:9;14114:10;:21::i;:::-;-1:-1:-1;;;;;14097:12:0;;;;;;:8;:12;;;;;;;:16;:39::i;:::-;-1:-1:-1;;;;;14082:12:0;;;;;;;:8;:12;;;;;:54;;;;14152:38;;-1:-1:-1;;;;;;;;;;;14171:18:0;14182:6;;14171:10;:18::i;:::-;14152:38;;;;;;;;;;;;;;;-1:-1:-1;14208:4:0;;13610:610;-1:-1:-1;;;;13610:610:0:o;9903:28::-;;;;:::o;17071:23::-;;;;;;:::o;19806:522::-;19890:10;19857:4;19881:20;;;:8;:20;;;;;:28;19873:41;;;;;;19935:13;19951:26;19966:10;19951:14;:26::i;:::-;19935:42;-1:-1:-1;20001:9:0;;19998:83;;20054:10;20045:20;;;;:8;:20;;;;;:28;;:36;;;19998:83;20116:11;;:23;;20132:6;20116:15;:23::i;:::-;20102:11;:37;20160:36;20170:10;20182:6;20190:5;20160:9;:36::i;:::-;20152:45;;;;;;20257:10;20248:20;;;;:8;:20;;;;;:28;:40;;20281:6;20248:32;:40::i;:::-;20226:10;20217:20;;;;:8;:20;;;;;:71;-1:-1:-1;20316:4:0;;19806:522;-1:-1:-1;;19806:522:0:o;17369:134::-;8996:5;;-1:-1:-1;;;;;8996:5:0;8982:10;:19;8974:28;;;;;;17430:11:::1;::::0;::::1;;17429:12;17421:45;;;::::0;;-1:-1:-1;;;17421:45:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;17421:45:0;;;;;;;;;;;;;::::1;;17477:11;:18:::0;;-1:-1:-1;;17477:18:0::1;17491:4;17477:18;::::0;;17369:134::o;10984:::-;-1:-1:-1;;;;;11090:20:0;11055:15;11090:20;;;:8;:20;;;;;;;10984:134::o;19678:116::-;-1:-1:-1;;;;;19763:15:0;19737:7;19763:15;;;:8;:15;;;;;:23;;19678:116::o;8762:28::-;;;-1:-1:-1;;;;;8762:28:0;;:::o;9820:29::-;;;;;;;;;;;;;;;-1:-1:-1;;9820:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17024:34;;;;:::o;12426:639::-;12497:12;-1:-1:-1;;;;;12584:25:0;;12576:34;;;;;;12638:10;12629:20;;;;:8;:20;;;;;;:30;-1:-1:-1;12629:30:0;12621:40;;;;;;-1:-1:-1;;;;;12705:12:0;;;;;;:8;:12;;;;;;12680:21;;;:37;;12672:46;;;;;;12771:10;12762:20;;;;:8;:20;;;;;;:32;;12787:6;12762:24;:32::i;:::-;12748:10;12739:20;;;;:8;:20;;;;;:55;;;;12835:25;12853:6;12835:17;:25::i;:::-;12815:45;;12871:26;12887:9;12871:15;:26::i;:::-;12933:39;12950:21;:6;12961:9;12950:10;:21::i;12933:39::-;-1:-1:-1;;;;;12918:12:0;;;;;;:8;:12;;;;;:54;;;;12997:10;-1:-1:-1;;;;;;;;;;;13013:21:0;:6;13024:9;13013:10;:21::i;:::-;12988:47;;;;;;;;;;;;;;;-1:-1:-1;13053:4:0;;12426:639;-1:-1:-1;;;12426:639:0:o;20702:400::-;20742:4;20758:13;20774:26;20789:10;20774:14;:26::i;:::-;20758:42;;20837:1;20829:5;:9;20821:18;;;;;;20860:34;20870:10;20882:5;20889:4;20860:9;:34::i;:::-;20852:43;;;;;;20963:10;20954:20;;;;:8;:20;;;;;:35;;;:46;;20994:5;20954:39;:46::i;:::-;20925:10;20916:20;;;;:8;:20;;;;;:35;;:84;21042:19;;:30;;21066:5;21042:23;:30::i;:::-;21020:19;:52;-1:-1:-1;21090:4:0;;-1:-1:-1;20702:400:0;:::o;16991:26::-;;;;:::o;17515:516::-;17588:11;;17564:4;;17588:11;;17580:40;;;;;-1:-1:-1;;;17580:40:0;;;;;;;;;;;;-1:-1:-1;;;17580:40:0;;;;;;;;;;;;;;;17698:32;17715:4;17722:7;17698:8;:32::i;:::-;17690:80;;;;-1:-1:-1;;;17690:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17809:13;17825:26;17840:10;17825:14;:26::i;:::-;17809:42;-1:-1:-1;17875:9:0;;17872:79;;17924:10;17915:20;;;;:8;:20;;;;;:28;;:36;;;17872:79;17972:19;17983:7;17972:10;:19::i;:::-;-1:-1:-1;18019:4:0;;17515:516;-1:-1:-1;;17515:516:0:o;16952:26::-;;;;:::o;21114:139::-;-1:-1:-1;;;;;21215:15:0;21175:21;21215:15;;;:8;:15;;;;;:30;;;;21114:139::o;11916:161::-;-1:-1:-1;;;;;12041:19:0;;;12004:17;12041:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;11916: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;18677:121::-;-1:-1:-1;;;;;18765:14:0;18739:7;18765:14;;;:8;:14;;;;;:25;;;;18677:121::o;18810:147::-;18870:7;18889:13;18905:21;18920:5;18905:14;:21::i;:::-;18889:37;18810:147;-1:-1:-1;;;18810:147:0:o;21265:257::-;21305:13;21321:26;21336:10;21321:14;:26::i;:::-;21305:42;;21384:1;21376:5;:9;21368:18;;;;;;21497:17;21508:5;21497:10;:17::i;:::-;21265:257;:::o;1371:136::-;1429:7;1456:43;1460:1;1463;1456:43;;;;;;;;;;;;;;;;;:3;:43::i;14987:497::-;15160:12;;15051:7;;;;15122:14;;15160:24;-1:-1:-1;15160:57:0;;;;-1:-1:-1;15202:15:0;;-1:-1:-1;;;;;15202:15:0;15188:10;:29;;15160:57;15157:283;;;15255:25;15278:1;15255:18;15266:6;15255:10;:18::i;:::-;:22;;:25::i;:::-;15243:37;;15361:9;15331:27;15348:9;15331:12;;:16;;:27;;;;:::i;:::-;:39;15328:100;;;15401:12;;:27;;15418:9;15401:16;:27::i;:::-;15389:39;;15328:100;-1:-1:-1;15467:9:0;14987:497;-1:-1:-1;;14987:497:0:o;15496:247::-;15561:11;;15558:178;;15593:21;15604:9;15593:10;:21::i;:::-;15558:178;;;15655:28;15666:16;:9;15680:1;15666:13;:16::i;:::-;15655:10;:28::i;:::-;15698:26;15707:16;:9;15721:1;15707:13;:16::i;:::-;15698:8;:26::i;907:181::-;965:7;997:5;;;1021:6;;;;1013:46;;;;;-1:-1:-1;;;1013:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19288:379;19347:7;19366:13;19382:24;19397:8;19382:14;:24::i;:::-;19366:40;-1:-1:-1;19421:9:0;;19417:220;;19472:23;;:34;;19500:5;19472:27;:34::i;:::-;19446:23;:60;19561:19;;-1:-1:-1;;;;;19521:18:0;;;;;;:8;:18;;;;;:37;;;:59;;;;19595:26;;;;:30;19654:5;19288:379;-1:-1:-1;;19288:379:0:o;14232:747::-;14310:4;-1:-1:-1;;;;;14388:25:0;;14380:34;;;;;;14450:4;14433:23;;;;:8;:23;;;;;;:33;-1:-1:-1;14433:33:0;14425:43;;;;;;-1:-1:-1;;;;;14512:12:0;;;;;;:8;:12;;;;;;14487:21;;;:37;;14479:46;;;;;;14589:4;14572:23;;;;:8;:23;;;;;;:35;;14600:6;14572:27;:35::i;:::-;14563:4;14546:23;;;;:8;:23;;;;;:61;;;;14674:7;14670:117;;14709:25;14727:6;14709:17;:25::i;:::-;14697:37;;14749:26;14765:9;14749:15;:26::i;:::-;14822:39;14839:21;:6;14850:9;14839:10;:21::i;:::-;-1:-1:-1;;;;;14822:12:0;;;;;;:8;:12;;;;;;;:16;:39::i;:::-;-1:-1:-1;;;;;14807:12:0;;;;;;:8;:12;;;;;:54;;;;14908:4;-1:-1:-1;;;;;;;;;;;14917:21:0;:6;14928:9;14917:10;:21::i;18969:308::-;-1:-1:-1;;;;;19105:18:0;;19034:7;19105:18;;;:8;:18;;;;;:37;;;19081:19;;19034:7;;19081:62;;:19;:23;:62::i;:::-;-1:-1:-1;;;;;19242:18:0;;;;;;:8;:18;;;;;:26;;;;19220:15;;19164:26;;19053:90;;-1:-1:-1;19161:108:0;;19242:26;;19162:74;;19163:51;;19053:90;19163:32;:51::i;:::-;19162:57;;:74::i;:::-;19161:80;;:108::i;18043:622::-;18098:17;18118:26;18136:7;18118:17;:26::i;:::-;18177:10;18168:20;;;;:8;:20;;;;;:28;18098:46;;-1:-1:-1;18165:111:0;;18248:10;18239:20;;;;:8;:20;;;;;18273:3;18239:31;;;;:37;18165:111;18315:39;18331:22;:7;18343:9;18331:11;:22::i;:::-;18315:11;;;:15;:39::i;:::-;18301:11;:53;18396:56;18429:22;:7;18441:9;18429:11;:22::i;:::-;18405:10;18396:20;;;;:8;:20;;;;;:28;;:32;:56::i;:::-;18374:10;18365:20;;;;:8;:20;;;;;:87;;;18505:19;;18463:39;;;:61;18580:3;18545:32;;;;:38;18618:39;18634:22;:7;18646:9;18634:11;:22::i;:::-;18618:11;;;:15;:39::i;:::-;18604:11;:53;-1:-1:-1;;18043: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;16433:240::-;16493:7;;16533:17;:7;16546:3;16533:12;:17::i;:::-;16512:38;-1:-1:-1;16561:23:0;16587:42;16611:17;16587:19;16512:38;16617:11;16587:14;:19::i;:42::-;16561:68;16433:240;-1:-1:-1;;;;16433: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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15979:223;16057:5;16041:12;;:21;;16033:30;;;;;;16116:12;;:23;;16133:5;16116:16;:23::i;:::-;16101:12;:38;16155:39;;;;;;;;16184:1;;16164:10;;-1:-1:-1;;;;;;;;;;;16155:39:0;;;;;;;;15979:223;:::o;3208:132::-;3266:7;3293:39;3297:1;3300;3293:39;;;;;;;;;;;;;;;;;:3;:39::i;20339:352::-;20435:4;20418:23;;;;:8;:23;;;;;;:35;;20446:6;20418:27;:35::i;:::-;20409:4;20392:23;;;;:8;:23;;;;;:61;;;;20508:15;;20497:27;;:6;;:10;:27::i;:::-;20474:50;;20557:54;20581:29;20598:11;;20581:12;:16;;:29;;;;:::i;:::-;20557:19;;;:23;:54::i;:::-;20535:19;:76;20648:23;;:35;;20676:6;20648:27;:35::i;:::-;20622:23;:61;-1:-1:-1;;20339: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://6057d0c911643de9607f9e6a2774eaf098fc5d9fd74308685a06d507bade989e
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.